        :root {
            --fondo-crema: #F7F5F0;     
            --inpulso-azul: #2d4f82;   
            --inpulso-rojo: #C64A49;
            --fondo-ergonomico: #CFC8B7;
            --texto-principal: #1A1F1C; 
            --texto-secundario: #5A6B63;
            --fuente-titulos: 'Playfair Display', serif; 
            --fuente-textos: 'Montserrat', sans-serif;
            --radio-secciones: 40px;
            --radio-tarjetas: 30px;
        }

        body, html {
            margin: 0; padding: 0; 
            background: var(--fondo-crema);
            color: var(--texto-principal); font-family: var(--fuente-textos);
            overflow-x: hidden; -webkit-font-smoothing: antialiased;
            text-rendering: optimizeLegibility;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior-y: none;
        }

        *, *::before, *::after { box-sizing: border-box; }

        a, button, .apple-glass-btn { transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); }

        /* 2. APPLE LIQUID GLASS BOTONES */
        .apple-glass-btn {
            display: inline-flex; align-items: center; justify-content: center; gap: 10px;
            padding: 16px 36px; font-size: 0.85rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;
            text-decoration: none; cursor: pointer; position: relative; overflow: hidden; text-align: center;
            background: rgba(255, 255, 255, 0.15); 
            backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%);
            border-radius: 50px; border: 1px solid rgba(255, 255, 255, 0.2);
            border-top: 1px solid rgba(255, 255, 255, 0.8); border-left: 1px solid rgba(255, 255, 255, 0.5);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); color: #fff;
            will-change: transform;
        }
        .apple-glass-btn:hover { background: rgba(255, 255, 255, 0.25); transform: translateY(-3px) scale(1.02); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3); }
        
        .apple-glass-btn.dark-glass {
            color: var(--texto-principal); background: rgba(20, 25, 22, 0.05);
            border: 1px solid rgba(0, 0, 0, 0.05); border-top: 1px solid rgba(255, 255, 255, 0.6);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
        }
        .apple-glass-btn.dark-glass:hover { background: rgba(20, 25, 22, 0.1); }

        /* 3. HERO CINEMÁTICO ANCHO COMPLETO E INMERSIÓN TOTAL */
        .cinematic-hero {
            min-height: 100svh; width: 100%; position: relative; overflow: hidden;
            display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 2rem;
            margin-top: 0;
            padding: calc(108px + env(safe-area-inset-top, 0px)) 5vw 60px 5vw;
            background: #000;
            border-radius: 0 0 var(--radio-secciones) var(--radio-secciones);
        }
        .video-background-wrapper {
            position: absolute; inset: 0; overflow: hidden; z-index: 0; pointer-events: none;
            /* Poster Mitty mientras carga el iframe */
            background:
                linear-gradient(90deg, rgba(0,0,0,0.25), rgba(0,0,0,0.4)),
                url('https://img.youtube.com/vi/XmZA6mPNGE0/maxresdefault.jpg') center / cover no-repeat;
            background-color: #07090c;
        }
        .video-background {
            position: absolute;
            top: 50%;
            left: 50%;
            border: 0;
            pointer-events: none;
            opacity: 1;
            /* Cover 16:9 sobre el hero (desktop) */
            width: max(100vw, calc(100svh * 16 / 9));
            height: max(100svh, calc(100vw * 9 / 16));
            transform: translate(-50%, -50%) scale(1.35);
            transform-origin: center center;
        }
        .youtube-shield { position: absolute; inset: 0; z-index: 5; background: transparent; cursor: default; }
        .cinematic-overlay {
            position: absolute; inset: 0; z-index: 6; pointer-events: none;
            background:
                linear-gradient(to bottom, rgba(0,0,0,0.12) 0%, rgba(0,0,0,0.08) 14%, rgba(0,0,0,0.28) 38%, rgba(0,0,0,0.52) 100%),
                linear-gradient(to right, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.38) 52%, rgba(0,0,0,0.18) 100%);
        }
        .hero-content-wrapper { position: relative; z-index: 10; pointer-events: auto; }
        .cinematic-title { font-family: var(--fuente-titulos); font-size: clamp(2.5rem, 6vw, 5.5rem); color: #fff; font-weight: 400; line-height: 1.05; margin: 0 0 1.5rem 0; opacity: 0; transform: translateY(30px); }
        .cinematic-subtitle { font-family: var(--fuente-textos); font-size: 1.1rem; color: rgba(255,255,255,0.85); max-width: 520px; line-height: 1.7; font-weight: 300; margin-bottom: 2.5rem; opacity: 0; transform: translateY(30px); }

        /* PESTAÑA LANZAMIENTO TALLER LIQUID GLASS */
        .hero-taller-tab {
            position: relative; z-index: 10; padding: 2rem; border-radius: var(--radio-tarjetas);
            background: rgba(255, 255, 255, 0.12); backdrop-filter: blur(25px) saturate(200%); -webkit-backdrop-filter: blur(25px) saturate(200%);
            border: 1px solid rgba(255, 255, 255, 0.2); border-top: 1px solid rgba(255, 255, 255, 0.6); border-left: 1px solid rgba(255, 255, 255, 0.4);
            box-shadow: 0 20px 50px rgba(0,0,0,0.3); color: #fff; opacity: 0; transform: scale(0.95);
            will-change: transform, opacity;
        }
        .taller-tag { display: inline-block; padding: 6px 14px; background: var(--inpulso-rojo); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; border-radius: 20px; margin-bottom: 1rem; }
        .hero-taller-tab h3 { font-family: var(--fuente-titulos); font-size: 1.5rem; font-weight: 400; margin: 0 0 0.5rem 0; line-height: 1.2; color: #fff; }
        .taller-instructor { font-size: 0.8rem; font-weight: 500; color: rgba(255,255,255,0.7); margin-bottom: 1.2rem; text-transform: uppercase; letter-spacing: 0.5px; }
        .taller-bullets { font-size: 0.85rem; line-height: 1.5; margin: 0 0 1.5rem 0; padding-left: 1.2rem; color: rgba(255,255,255,0.9); font-weight: 300; }
        .taller-info-meta { display: flex; flex-wrap: wrap; gap: 1rem; font-size: 0.8rem; font-weight: 500; margin-bottom: 1.5rem; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 1rem; }

        /* 4. SERVICIOS — carril horizontal premium con fade */
        .services-premium {
            position: relative;
            padding: clamp(64px, 9vw, 110px) 0 clamp(72px, 10vw, 120px);
            background:
                linear-gradient(180deg, rgba(255,255,255,0.5) 0%, transparent 30%),
                linear-gradient(180deg, var(--fondo-crema) 0%, #efebe3 100%);
            overflow: hidden;
        }

        .services-premium-header {
            max-width: 760px;
            margin: 0 auto clamp(2rem, 4vw, 3.25rem);
            padding: 0 5vw;
            text-align: center;
        }

        .services-premium-header .section-mini-label {
            background: rgba(198, 74, 73, 0.1);
            color: var(--inpulso-rojo);
        }

        .services-premium-header .section-title {
            margin-bottom: 0.85rem;
            letter-spacing: -0.03em;
        }

        .services-premium-header .section-subtitle {
            margin: 0 auto;
            max-width: 540px;
        }

        .services-rail-wrap {
            position: relative;
        }

        .services-rail-wrap::before,
        .services-rail-wrap::after {
            content: '';
            position: absolute;
            top: 0;
            bottom: 18px;
            width: clamp(48px, 9vw, 120px);
            z-index: 4;
            pointer-events: none;
        }

        .services-rail-wrap::before {
            left: 0;
            background: linear-gradient(90deg,
                #efebe3 0%,
                rgba(239, 235, 227, 0.85) 28%,
                rgba(239, 235, 227, 0.35) 62%,
                transparent 100%);
        }

        .services-rail-wrap::after {
            right: 0;
            background: linear-gradient(270deg,
                #efebe3 0%,
                rgba(239, 235, 227, 0.85) 28%,
                rgba(239, 235, 227, 0.35) 62%,
                transparent 100%);
        }

        .services-rail.swiper {
            width: 100%;
            padding: 10px 0 28px;
            overflow: visible;
            -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
        }

        .services-rail .swiper-wrapper {
            align-items: stretch;
        }

        .service-card.swiper-slide {
            width: min(300px, 78vw);
            height: 460px;
            margin: 0;
            border-radius: 26px;
            overflow: hidden;
            position: relative;
            cursor: grab;
            background: #1a2230;
            box-shadow: 0 22px 48px rgba(26, 31, 28, 0.14);
            transform: translateZ(0);
            transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s ease;
        }

        .service-card.swiper-slide:active { cursor: grabbing; }

        .service-card.swiper-slide:hover {
            transform: translateY(-6px);
            box-shadow: 0 28px 60px rgba(26, 31, 28, 0.2);
        }

        .service-card-media {
            position: absolute;
            inset: 0;
        }

        .service-card-media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transform: scale(1.04);
            transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
            filter: saturate(0.92) contrast(1.05);
        }

        .service-card:hover .service-card-media img {
            transform: scale(1.1);
        }

        .service-card-media::after {
            content: '';
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg,
                    rgba(8, 12, 18, 0.08) 0%,
                    rgba(8, 12, 18, 0.05) 35%,
                    rgba(8, 12, 18, 0.55) 68%,
                    rgba(8, 12, 18, 0.88) 100%),
                radial-gradient(ellipse at 50% 0%, rgba(255,255,255,0.12), transparent 45%);
            pointer-events: none;
        }

        .service-card-copy {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 2;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            padding: 1.35rem 1.35rem 1.45rem;
            color: #fff;
        }

        .service-card-index {
            font-family: var(--fuente-textos);
            font-size: 0.62rem;
            font-weight: 700;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: rgba(255, 210, 205, 0.95);
            margin-bottom: 0.55rem;
        }

        .service-card-kicker {
            margin: 0 0 0.35rem;
            font-family: var(--fuente-textos);
            font-size: 0.68rem;
            font-weight: 600;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.72);
        }

        .service-card-copy h3 {
            margin: 0 0 0.55rem;
            font-family: var(--fuente-titulos);
            font-size: clamp(1.7rem, 3vw, 2.15rem);
            font-weight: 400;
            line-height: 1.05;
            letter-spacing: -0.02em;
            color: #fff;
        }

        .service-card-copy p {
            margin: 0 0 1rem;
            font-family: var(--fuente-textos);
            font-size: 0.88rem;
            line-height: 1.5;
            font-weight: 300;
            color: rgba(255,255,255,0.82);
            max-width: 28ch;
        }

        .service-panel-cta {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            color: #fff;
            font-family: var(--fuente-textos);
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            text-decoration: none;
            border-bottom: 1px solid rgba(255,255,255,0.35);
            padding-bottom: 0.15rem;
            transition: gap 0.3s ease, border-color 0.3s ease, color 0.3s ease;
        }

        .service-panel-cta:hover {
            color: #ffd4cf;
            border-color: rgba(255, 212, 207, 0.7);
            gap: 0.7rem;
        }

        .service-panel-cta--soon {
            opacity: 0.65;
            pointer-events: none;
            border-bottom-color: transparent;
        }

        .services-rail-hint {
            text-align: center;
            margin: 0.15rem 0 0;
            font-size: 0.72rem;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(90, 107, 99, 0.7);
            font-weight: 600;
        }

        .services-premium .section-actions {
            display: flex;
            justify-content: center;
            margin-top: clamp(1.5rem, 3vw, 2.4rem);
            padding: 0 5vw;
        }

        .section-title { font-family: var(--fuente-titulos); font-size: clamp(2.5rem, 5vw, 3.5rem); font-weight: 400; margin: 0 0 0.5rem 0; color: var(--inpulso-azul); }
        .section-subtitle { font-family: var(--fuente-textos); font-size: 1.1rem; color: var(--texto-secundario); max-width: 600px; margin:0; line-height: 1.6; font-weight: 300; }

        /* 5. ENFOQUE 360 */
        .enfoque-section { padding: 12vh 5vw; background-color: var(--inpulso-azul); color: #fff; text-align: center; border-radius: var(--radio-secciones); margin: 0 2vw 10vh 2vw; position: relative; overflow: hidden; }
        .enfoque-text-huge { font-family: var(--fuente-titulos); font-size: clamp(2rem, 5vw, 4rem); font-weight: 400; line-height: 1.1; margin-bottom: 1.5rem; position: relative; z-index: 2; }
        .enfoque-desc { font-family: var(--fuente-textos); font-size: 1.1rem; color: rgba(255,255,255,0.8); max-width: 800px; margin: 0 auto; line-height: 1.8; font-weight: 300; position: relative; z-index: 2; }

        /* 6. MÉTODO */
        .how-we-help { padding: 5vh 5vw 10vh 5vw; }
        .help-row { display: grid; grid-template-columns: 1fr 1fr; gap: 5vw; align-items: center; margin-bottom: 10vh; }
        .help-row:last-child { margin-bottom: 0; }
        .help-img-wrapper { position: relative; width: 100%; height: 60vh; border-radius: var(--radio-secciones); overflow: hidden; box-shadow: 0 20px 40px rgba(0,0,0,0.08); background: #fff; transform: translateZ(0); }
        .help-img { width: 100%; height: 120%; object-fit: cover; transform: translateY(-10%); }
        .help-content { border-radius: var(--radio-tarjetas); padding: 2rem; background: rgba(255, 255, 255, 0.4); backdrop-filter: blur(15px); border: 1px solid rgba(255,255,255,0.4); }
        .help-content h3 { font-family: var(--fuente-titulos); font-size: clamp(2.2rem, 4vw, 3.5rem); font-weight: 400; margin: 0 0 1rem 0; line-height: 1.1; color: var(--inpulso-azul); }
        .help-content p { font-family: var(--fuente-textos); font-size: 1.05rem; color: var(--texto-secundario); line-height: 1.8; margin-bottom: 2rem; font-weight: 300; }

        /* 7. PILARES — showcase interactivo premium */
        .pilares-section {
            position: relative;
            padding: 10vh 5vw 12vh;
            overflow: hidden;
        }

        .pilares-bg {
            position: absolute;
            inset: 0;
            background:
                radial-gradient(ellipse 80% 60% at 10% 20%, rgba(45, 79, 130, 0.09) 0%, transparent 55%),
                radial-gradient(ellipse 70% 50% at 90% 80%, rgba(198, 74, 73, 0.07) 0%, transparent 50%),
                linear-gradient(180deg, #faf8f4 0%, var(--fondo-crema) 100%);
            pointer-events: none;
        }

        .pilares-header {
            text-align: center;
            max-width: 680px;
            margin: 0 auto 3.5rem;
            position: relative;
            z-index: 2;
        }

        .pilares-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.4rem 1rem;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.7);
            border: 1px solid rgba(45, 79, 130, 0.12);
            font-size: 0.65rem;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: var(--inpulso-rojo);
            margin-bottom: 1rem;
        }

        .pilares-layout {
            display: grid;
            grid-template-columns: minmax(240px, 320px) 1fr;
            grid-template-rows: auto;
            gap: clamp(1.5rem, 3vw, 3rem);
            max-width: 1100px;
            margin: 0 auto;
            position: relative;
            z-index: 2;
            align-items: stretch;
        }

        .pilares-nav-wrap {
            grid-column: 1;
            grid-row: 1;
        }

        .pilares-showcase {
            grid-column: 2;
            grid-row: 1;
        }

        .pilares-dots-row {
            display: none;
        }

        .pilares-nav {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .pilares-nav-item {
            display: grid;
            grid-template-columns: auto auto 1fr;
            grid-template-rows: auto auto;
            align-items: center;
            gap: 0 0.75rem;
            width: 100%;
            padding: 0.85rem 1rem;
            border: 1px solid transparent;
            border-radius: 18px;
            background: rgba(255, 255, 255, 0.55);
            cursor: pointer;
            text-align: left;
            transition: background 0.35s ease, border-color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
            -webkit-tap-highlight-color: transparent;
            position: relative;
            overflow: hidden;
        }

        .pilares-nav-item:hover {
            background: rgba(255, 255, 255, 0.85);
            transform: translateX(4px);
        }

        .pilares-nav-item.is-active {
            background: #fff;
            border-color: rgba(45, 79, 130, 0.14);
            box-shadow: 0 12px 32px rgba(45, 79, 130, 0.1);
            transform: translateX(8px);
        }

        .pilares-nav-num {
            grid-row: 1 / 3;
            font-family: var(--fuente-titulos);
            font-size: 1.1rem;
            font-weight: 600;
            color: rgba(45, 79, 130, 0.25);
            line-height: 1;
        }

        .pilares-nav-item.is-active .pilares-nav-num { color: var(--inpulso-rojo); }

        .pilares-nav-icon {
            font-size: 1.25rem;
            line-height: 1;
        }

        .pilares-nav-label {
            font-family: var(--fuente-textos);
            font-size: 0.82rem;
            font-weight: 600;
            color: var(--inpulso-azul);
            letter-spacing: 0.02em;
        }

        .pilares-nav-bar {
            grid-column: 2 / 4;
            height: 2px;
            background: rgba(45, 79, 130, 0.1);
            border-radius: 2px;
            overflow: hidden;
            opacity: 0;
        }

        .pilares-nav-item.is-active .pilares-nav-bar { opacity: 1; }

        .pilares-nav-bar::after {
            content: '';
            display: block;
            height: 100%;
            width: 0%;
            background: linear-gradient(90deg, var(--inpulso-azul), var(--inpulso-rojo));
            border-radius: inherit;
        }

        .pilares-nav-item.is-active .pilares-nav-bar::after {
            animation: pilaresProgress 6s linear forwards;
        }

        @keyframes pilaresProgress {
            from { width: 0%; }
            to { width: 100%; }
        }

        .pilares-showcase {
            position: relative;
            min-height: 440px;
            border-radius: 32px;
            overflow: hidden;
            background: #fff;
            border: 1px solid rgba(255, 255, 255, 0.8);
            box-shadow:
                0 28px 64px rgba(45, 79, 130, 0.12),
                inset 0 1px 0 rgba(255, 255, 255, 0.9);
        }

        .pilares-showcase-glow {
            position: absolute;
            width: 70%;
            height: 70%;
            top: -20%;
            right: -15%;
            border-radius: 50%;
            opacity: 0.45;
            filter: blur(50px);
            transition: background 0.6s ease;
            pointer-events: none;
        }

        .pilares-showcase[data-accent="mind"] .pilares-showcase-glow { background: #7b9fd4; }
        .pilares-showcase[data-accent="health"] .pilares-showcase-glow { background: #6aab6e; }
        .pilares-showcase[data-accent="bonds"] .pilares-showcase-glow { background: #d4a843; }
        .pilares-showcase[data-accent="self"] .pilares-showcase-glow { background: #9b7bd4; }
        .pilares-showcase[data-accent="purpose"] .pilares-showcase-glow { background: var(--inpulso-rojo); }
        .pilares-showcase[data-accent="balance"] .pilares-showcase-glow { background: #4aa8a8; }

        .pilares-showcase-inner {
            position: relative;
            z-index: 2;
            height: 100%;
            min-height: 440px;
            padding: 2.5rem 2.5rem 5rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .pilares-watermark {
            position: absolute;
            top: 1rem;
            right: 1.5rem;
            font-family: var(--fuente-titulos);
            font-size: clamp(4rem, 12vw, 7rem);
            font-weight: 700;
            line-height: 1;
            color: rgba(45, 79, 130, 0.06);
            pointer-events: none;
            user-select: none;
        }

        .pilares-showcase-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 64px;
            height: 64px;
            border-radius: 20px;
            background: rgba(255, 255, 255, 0.85);
            border: 1px solid rgba(45, 79, 130, 0.1);
            font-size: 1.85rem;
            margin-bottom: 1.25rem;
            box-shadow: 0 8px 24px rgba(45, 79, 130, 0.08);
        }

        .pilares-showcase-title {
            font-family: var(--fuente-titulos);
            font-size: clamp(1.85rem, 4vw, 2.75rem);
            font-weight: 600;
            color: var(--inpulso-azul);
            margin: 0 0 1rem;
            line-height: 1.15;
            max-width: 18ch;
        }

        .pilares-showcase-desc {
            font-family: var(--fuente-textos);
            font-size: 1.05rem;
            color: var(--texto-secundario);
            line-height: 1.8;
            margin: 0;
            max-width: 48ch;
            font-weight: 300;
        }

        .pilares-showcase-foot {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 1.25rem 2rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: linear-gradient(to top, rgba(255,255,255,0.95) 60%, transparent);
            z-index: 3;
        }

        .pilares-counter {
            font-size: 0.75rem;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: rgba(45, 79, 130, 0.5);
        }

        .pilares-arrows {
            display: flex;
            gap: 0.5rem;
        }

        .pilares-arrow {
            width: 42px;
            height: 42px;
            border-radius: 50%;
            border: 1px solid rgba(45, 79, 130, 0.15);
            background: #fff;
            color: var(--inpulso-azul);
            font-size: 1.1rem;
            cursor: pointer;
            transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
            -webkit-tap-highlight-color: transparent;
        }

        .pilares-arrow:hover {
            background: var(--inpulso-azul);
            color: #fff;
            transform: scale(1.06);
        }

        .pilares-nav-wrap {
            position: relative;
        }

        .pilares-swipe-hint {
            display: none;
        }

        /* 8. FILOSOFÍA */
        .about-section { padding: 12vh 5vw; display: flex; flex-direction: column; align-items: center; text-align: center; background: #1A1F1C; color: #fff; border-radius: var(--radio-secciones); margin: 0 2vw 10vh 2vw; }
        .about-heading { font-family: var(--fuente-titulos); font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 400; margin-bottom: 1.5rem; }
        .about-text { font-family: var(--fuente-textos); font-size: 1.1rem; color: rgba(255,255,255,0.8); max-width: 800px; line-height: 1.8; margin-bottom: 2.5rem; font-weight: 300; }

        /* 8b. ODISEA CINEMÁTICA — inspirada en Walter Mitty */
        .mitty-odyssey {
            position: relative;
            margin: 0 0 10vh 0;
            isolation: isolate;
        }

        .mitty-odyssey__scroll {
            height: 480vh;
        }

        .mitty-odyssey__pin {
            position: relative;
            height: 100vh;
            overflow: hidden;
            border-radius: 0;
            transform: translateZ(0);
        }

        .mitty-odyssey__viewport {
            position: absolute;
            inset: 0;
            overflow: hidden;
            background: #0a1628;
            contain: layout paint;
            transform: translateZ(0);
        }

        .mitty-layer-wrap {
            position: absolute;
            inset: -8%;
            will-change: transform;
            transform: translate3d(0, 0, 0);
            backface-visibility: hidden;
            pointer-events: none;
        }

        .mitty-layer-wrap--sun,
        .mitty-layer-wrap--fog {
            inset: auto;
        }

        .mitty-layer-wrap__shift {
            width: 100%;
            height: 100%;
            will-change: transform;
            transform: translate3d(0, 0, 0);
            backface-visibility: hidden;
        }

        .mitty-layer {
            position: absolute;
            inset: 0;
            background-size: cover;
            background-position: center 35%;
            pointer-events: none;
        }

        .mitty-layer--sky {
            inset: 0;
            background:
                radial-gradient(ellipse 80% 55% at 72% 18%, rgba(255, 188, 108, 0.55) 0%, transparent 55%),
                radial-gradient(ellipse 100% 80% at 50% 100%, rgba(14, 42, 68, 0.95) 0%, transparent 60%),
                linear-gradient(185deg, #1a3a5c 0%, #0f2844 38%, #081828 72%, #040c14 100%);
            z-index: 1;
        }

        .mitty-layer--far {
            z-index: 2;
            background-image: url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?q=75&w=1400&auto=format&fit=crop');
            opacity: 0.78;
            transform-origin: center 70%;
        }

        .mitty-layer--mid {
            z-index: 3;
            background-image: url('https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?q=75&w=1400&auto=format&fit=crop');
            opacity: 0.42;
            transform-origin: center 80%;
        }

        .mitty-layer--near {
            z-index: 4;
            background-image: url('https://images.unsplash.com/photo-1504829857797-ddff29c27933?q=75&w=1400&auto=format&fit=crop');
            opacity: 0.9;
            transform-origin: center bottom;
        }

        .mitty-layer-wrap--far { z-index: 2; }
        .mitty-layer-wrap--mid { z-index: 3; }
        .mitty-layer-wrap--near { z-index: 4; }

        .mitty-layer-wrap--near .mitty-layer--near {
            -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,0.85) 35%, rgba(0,0,0,0.2) 72%, transparent 100%);
            mask-image: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,0.85) 35%, rgba(0,0,0,0.2) 72%, transparent 100%);
        }

        .mitty-layer--grade {
            z-index: 8;
            inset: 0;
            position: absolute;
            background:
                linear-gradient(115deg, rgba(255, 160, 80, 0.1) 0%, transparent 42%),
                linear-gradient(to top, rgba(4, 10, 18, 0.88) 0%, rgba(4, 10, 18, 0.3) 38%, transparent 68%),
                radial-gradient(ellipse 90% 70% at 50% 50%, transparent 30%, rgba(0, 0, 0, 0.5) 100%);
            pointer-events: none;
        }

        .mitty-fog {
            position: absolute;
            left: -20%;
            width: 140%;
            height: 45%;
            pointer-events: none;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
            opacity: 0.45;
        }

        .mitty-layer-wrap--fog {
            z-index: 6;
            width: 140%;
            left: -20%;
            height: 38%;
        }

        .mitty-layer-wrap--fog-a { bottom: 18%; }
        .mitty-layer-wrap--fog-b { bottom: 30%; opacity: 0.85; }

        .mitty-layer-wrap--sun {
            z-index: 5;
            top: 12%;
            right: 18%;
            width: clamp(80px, 14vw, 180px);
            height: clamp(80px, 14vw, 180px);
            inset: auto;
        }

        .mitty-sun {
            position: relative;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(255, 220, 160, 0.95) 0%, rgba(255, 170, 90, 0.4) 38%, transparent 68%);
            opacity: 0.9;
        }

        .mitty-sun::after {
            content: '';
            position: absolute;
            inset: -80%;
            background: linear-gradient(105deg, transparent 42%, rgba(255, 255, 255, 0.12) 50%, transparent 58%);
            animation: mittySunFlare 8s ease-in-out infinite;
        }

        .mitty-odyssey.is-scrolling .mitty-sun::after,
        .mitty-odyssey.is-scrolling .mitty-grain {
            animation-play-state: paused;
        }

        .mitty-wind {
            position: absolute;
            inset: 0;
            z-index: 7;
            width: 100%;
            height: 100%;
            pointer-events: none;
            opacity: 0.55;
            transform: translateZ(0);
        }

        .mitty-grain {
            position: absolute;
            inset: 0;
            z-index: 20;
            pointer-events: none;
            opacity: 0.04;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
            background-size: 180px 180px;
        }

        .mitty-letterbox {
            position: absolute;
            left: 0;
            right: 0;
            height: 7vh;
            background: #000;
            z-index: 25;
            transform: scaleY(0);
            will-change: transform;
            backface-visibility: hidden;
        }

        .mitty-letterbox--top { top: 0; transform-origin: top center; }
        .mitty-letterbox--bottom { bottom: 0; transform-origin: bottom center; }

        .mitty-hud {
            position: absolute;
            inset: 0;
            z-index: 30;
            pointer-events: none;
            padding: clamp(1.25rem, 3vw, 2.5rem);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .mitty-coords {
            font-family: var(--fuente-textos);
            font-size: 0.65rem;
            font-weight: 600;
            letter-spacing: 0.28em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.45);
        }

        .mitty-scroll-cue {
            align-self: center;
            font-family: var(--fuente-textos);
            font-size: 0.62rem;
            font-weight: 600;
            letter-spacing: 0.35em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.35);
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.75rem;
        }

        .mitty-scroll-cue::after {
            content: '';
            width: 1px;
            height: 36px;
            background: linear-gradient(to bottom, rgba(255,255,255,0.5), transparent);
            animation: mittyScrollPulse 2s ease-in-out infinite;
        }

        .mitty-stage {
            position: absolute;
            inset: 0;
            z-index: 22;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 12vh 6vw;
            pointer-events: none;
        }

        .mitty-label {
            position: absolute;
            top: clamp(4rem, 12vh, 7rem);
            left: 50%;
            transform: translateX(-50%);
            font-family: var(--fuente-textos);
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.45em;
            text-transform: uppercase;
            color: rgba(255, 200, 140, 0.75);
            opacity: 0;
        }

        .mitty-lines {
            position: relative;
            width: min(920px, 92vw);
            height: clamp(4rem, 12vh, 7rem);
        }

        .mitty-line {
            margin: 0;
            overflow: hidden;
            opacity: 0;
            position: absolute;
            left: 0;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
        }

        .mitty-line-inner {
            display: inline-block;
            font-family: var(--fuente-textos);
            font-size: clamp(1.15rem, 3.2vw, 2.35rem);
            font-weight: 200;
            letter-spacing: 0.06em;
            line-height: 1.35;
            color: #fff;
            text-shadow: 0 4px 30px rgba(0, 0, 0, 0.45);
            transform: translate3d(0, 110%, 0);
            will-change: transform;
            backface-visibility: hidden;
        }

        .mitty-finale {
            position: absolute;
            inset: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: clamp(0.5rem, 2vh, 1rem);
            opacity: 0;
        }

        .mitty-lead {
            margin: 0;
            font-family: var(--fuente-textos);
            font-size: clamp(0.85rem, 2vw, 1.25rem);
            font-weight: 300;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.72);
            transform: translateY(24px);
        }

        .mitty-vida {
            margin: 0;
            font-family: var(--fuente-textos);
            font-size: clamp(4.5rem, 24vw, 16rem);
            font-weight: 900;
            letter-spacing: 0.08em;
            line-height: 0.82;
            color: #fff;
            text-transform: uppercase;
            display: flex;
            gap: 0.02em;
            text-shadow:
                0 0 40px rgba(255, 190, 120, 0.35),
                0 8px 32px rgba(0, 0, 0, 0.5),
                0 24px 80px rgba(0, 0, 0, 0.35);
        }

        .mitty-char {
            display: inline-block;
            transform: translate3d(0, 90px, 0) scale(0.4);
            opacity: 0;
            will-change: transform, opacity;
            backface-visibility: hidden;
        }

        .mitty-progress {
            position: absolute;
            left: 50%;
            bottom: clamp(1.5rem, 4vh, 2.5rem);
            transform: translateX(-50%);
            width: min(180px, 40vw);
            height: 2px;
            background: rgba(255, 255, 255, 0.12);
            z-index: 30;
            overflow: hidden;
            border-radius: 2px;
        }

        .mitty-progress span {
            display: block;
            height: 100%;
            width: 100%;
            transform: scaleX(0);
            transform-origin: left center;
            background: linear-gradient(90deg, rgba(255, 180, 100, 0.6), #fff);
            will-change: transform;
        }

        .mitty-whisper {
            position: absolute;
            bottom: clamp(3rem, 8vh, 5rem);
            left: 50%;
            transform: translateX(-50%);
            font-family: var(--fuente-titulos);
            font-style: italic;
            font-size: clamp(0.95rem, 2vw, 1.35rem);
            color: rgba(255, 255, 255, 0.55);
            letter-spacing: 0.04em;
            opacity: 0;
            z-index: 22;
            white-space: nowrap;
        }

        @keyframes mittySunFlare {
            0%, 100% { opacity: 0.35; transform: translate3d(-8%, 0, 0); }
            50% { opacity: 0.75; transform: translate3d(8%, 0, 0); }
        }

        @keyframes mittyScrollPulse {
            0%, 100% { opacity: 0.35; transform: scaleY(0.7); }
            50% { opacity: 1; transform: scaleY(1); }
        }

        @media (prefers-reduced-motion: reduce) {
            .mitty-odyssey__scroll { height: auto; }
            .mitty-odyssey__pin { height: auto; min-height: 100vh; }
            .mitty-grain, .mitty-sun::after, .mitty-scroll-cue::after { animation: none; }
            .mitty-line, .mitty-line-inner, .mitty-finale, .mitty-label, .mitty-char, .mitty-lead, .mitty-whisper {
                opacity: 1 !important;
                transform: none !important;
            }
            .mitty-scroll-cue, .mitty-progress { display: none; }
        }

        /* 9. FOOTER ULTRA COMPACTO */
        .jm-footer { 
            background-color: var(--fondo-ergonomico); color: var(--texto-principal); 
            padding: 6vh 5vw 4vh 5vw; border-radius: var(--radio-secciones); 
            display: flex; flex-direction: column; align-items: center; text-align: center; 
            margin-bottom: 2vw;
        }
        .footer-logo-block { display: flex; flex-direction: column; align-items: center; margin-bottom: 3rem; }
        .jm-footer-logo-img { height: 50px; width: auto; margin-bottom: 1rem; }
        .footer-logo-block h2 { font-family: var(--fuente-textos); font-size: 1.1rem; font-weight: 500; color: var(--inpulso-azul); margin: 0; letter-spacing: 0.5px; }

        .footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; width: 100%; max-width: 1000px; margin-bottom: 3rem; justify-items: center; }
        .footer-link-group { display: flex; flex-direction: column; align-items: center; }
        .footer-link-group h4 { font-family: var(--fuente-textos); color: var(--inpulso-azul); text-transform: uppercase; margin-bottom: 1rem; letter-spacing: 1px; font-weight: 700; font-size: 0.8rem; }
        .footer-link-group p { font-family: var(--fuente-textos); color: var(--texto-secundario); font-size: 0.85rem; line-height: 1.5; margin: 0 0 0.3rem 0; font-weight: 400; }
        
        .footer-social-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; align-items: center; }
        .footer-social-list a { font-family: var(--fuente-textos); color: var(--texto-secundario); font-size: 0.85rem; text-decoration: none; font-weight: 500; }

        .footer-links { display: flex; flex-wrap: wrap; gap: 1.5rem; padding-top: 2rem; border-top: 1px solid rgba(0,0,0,0.1); width: 100%; max-width: 1000px; justify-content: center; }
        .footer-links a { font-family: var(--fuente-textos); color: var(--texto-secundario); text-decoration: none; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 1px; font-weight: 600; }
        
        /* ADAPTACIÓN MÓVIL EXACTA (Arregla el Lag y Distribución) */
        @media (max-width: 991px) {
            
            .cinematic-hero { grid-template-columns: 1fr; padding: calc(88px + env(safe-area-inset-top, 0px)) 5vw 36px 5vw; gap: 1.5rem; border-radius: 0 0 30px 30px; min-height: 100svh; }
            .video-background-wrapper {
                background:
                    linear-gradient(to bottom, rgba(0,0,0,0.2), rgba(0,0,0,0.45)),
                    url('https://img.youtube.com/vi/XmZA6mPNGE0/maxresdefault.jpg') center / cover no-repeat;
                background-color: #07090c;
            }
            .video-background {
                /* Cover + zoom: quita letterbox de YouTube y del cine 2.35:1 de Mitty */
                width: max(100vw, calc(100svh * 16 / 9));
                height: max(100svh, calc(100vw * 9 / 16));
                min-width: 0;
                min-height: 0;
                transform: translate(-50%, -50%) scale(2.35);
            }
            .youtube-shield { display: block; z-index: 7; }
            .cinematic-overlay {
                background:
                    linear-gradient(to bottom, rgba(0,0,0,0.28) 0%, rgba(0,0,0,0.16) 20%, rgba(0,0,0,0.42) 55%, rgba(0,0,0,0.62) 100%);
            }
            .hero-content-wrapper { padding-right: 0; text-align: center; }
            .cinematic-subtitle { margin: 0 auto 2rem auto; }
            .hero-taller-tab { max-width: 100%; padding: 1.5rem; backdrop-filter: blur(15px) saturate(150%); -webkit-backdrop-filter: blur(15px); } /* Filtro reducido para quitar lag */
            
            .swiper-slide { /* legacy noop kept for safety */ }
            
            .help-row { grid-template-columns: 1fr; text-align: center; gap: 2rem; }
            .help-content { padding: 1.5rem; backdrop-filter: blur(10px); }
            .help-img-wrapper { height: 40vh; border-radius: 30px; }
            .mobile-reverse { display: flex; flex-direction: column-reverse; }
            
            .enfoque-section, .about-section, .jm-footer { margin: 0 0 5vh 0; border-radius: 30px; padding-left: 5vw; padding-right: 5vw; }
            .footer-grid { grid-template-columns: 1fr; gap: 2.5rem; }
            .footer-links { flex-direction: column; gap: 1rem; align-items: center; text-align: center; }

            .pilares-layout {
                display: flex;
                flex-direction: column;
                gap: 1rem;
                max-width: 100%;
            }

            .pilares-showcase,
            .pilares-nav-wrap,
            .pilares-dots-row {
                grid-column: auto;
                grid-row: auto;
            }

            .pilares-showcase { order: 1; }
            .pilares-dots-row { order: 2; }
            .pilares-nav-wrap { order: 3; }

            .pilares-section {
                padding: 7vh 4vw 9vh;
            }

            .pilares-header {
                margin-bottom: 1.5rem;
            }

            .pilares-header .section-title {
                font-size: clamp(1.85rem, 7vw, 2.4rem);
            }

            .pilares-header .section-subtitle {
                font-size: 0.95rem;
                line-height: 1.65;
            }

            .pilares-showcase {
                min-height: 0;
                border-radius: 22px;
                box-shadow: 0 16px 40px rgba(45, 79, 130, 0.1);
            }

            .pilares-showcase-glow {
                filter: blur(32px);
                opacity: 0.32;
                width: 85%;
                height: 55%;
                top: -10%;
                right: -20%;
            }

            .pilares-showcase-inner {
                min-height: 0;
                padding: 1.5rem 1.25rem 4.25rem;
                justify-content: flex-start;
            }

            .pilares-watermark {
                top: 0.5rem;
                right: 0.75rem;
                font-size: 3.5rem;
            }

            .pilares-showcase-icon {
                width: 52px;
                height: 52px;
                font-size: 1.5rem;
                border-radius: 16px;
                margin-bottom: 1rem;
            }

            .pilares-showcase-title {
                font-size: clamp(1.45rem, 6vw, 1.85rem);
                max-width: none;
            }

            .pilares-showcase-desc {
                font-size: 0.92rem;
                line-height: 1.7;
                max-width: none;
            }

            .pilares-showcase-foot {
                padding: 0.85rem 1rem;
                background: linear-gradient(to top, rgba(255,255,255,0.98) 70%, transparent);
            }

            .pilares-counter {
                font-size: 0.68rem;
            }

            .pilares-arrow {
                width: 48px;
                height: 48px;
                font-size: 1.2rem;
            }

            .pilares-swipe-hint {
                display: block;
                font-size: 0.62rem;
                font-weight: 600;
                letter-spacing: 0.08em;
                text-transform: uppercase;
                color: rgba(45, 79, 130, 0.45);
                margin-right: auto;
                padding-left: 0.15rem;
            }

            .pilares-showcase-foot {
                flex-wrap: wrap;
                gap: 0.5rem;
            }

            .pilares-arrows {
                margin-left: auto;
            }

            .pilares-dots-row {
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 0.45rem;
                padding: 0.15rem 0 0.25rem;
            }

            .pilares-m-dot {
                width: 7px;
                height: 7px;
                padding: 0;
                border: none;
                border-radius: 999px;
                background: rgba(45, 79, 130, 0.2);
                cursor: pointer;
                transition: width 0.3s ease, background 0.3s ease;
                -webkit-tap-highlight-color: transparent;
            }

            .pilares-m-dot.is-active {
                width: 22px;
                background: linear-gradient(90deg, var(--inpulso-azul), var(--inpulso-rojo));
            }

            .pilares-nav-wrap::before,
            .pilares-nav-wrap::after {
                content: '';
                position: absolute;
                top: 0;
                bottom: 0;
                width: 28px;
                z-index: 2;
                pointer-events: none;
            }

            .pilares-nav-wrap::before {
                left: 0;
                background: linear-gradient(to right, var(--fondo-crema), transparent);
            }

            .pilares-nav-wrap::after {
                right: 0;
                background: linear-gradient(to left, var(--fondo-crema), transparent);
            }

            .pilares-nav {
                flex-direction: row;
                overflow-x: auto;
                overflow-y: hidden;
                gap: 0.55rem;
                padding: 0.35rem 0.5rem 0.65rem;
                scroll-snap-type: x mandatory;
                -webkit-overflow-scrolling: touch;
                scrollbar-width: none;
                touch-action: pan-x;
            }

            .pilares-nav::-webkit-scrollbar { display: none; }

            .pilares-nav-item {
                flex: 0 0 auto;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 0.3rem;
                min-width: 88px;
                width: 88px;
                min-height: 92px;
                padding: 0.65rem 0.45rem;
                scroll-snap-align: center;
                text-align: center;
                border-radius: 16px;
                border: 1px solid rgba(45, 79, 130, 0.08);
            }

            .pilares-nav-item:hover,
            .pilares-nav-item.is-active {
                transform: none;
            }

            .pilares-nav-item.is-active {
                border-color: rgba(45, 79, 130, 0.2);
                box-shadow: 0 8px 22px rgba(45, 79, 130, 0.12);
            }

            .pilares-nav-num { display: none; }

            .pilares-nav-icon {
                font-size: 1.45rem;
            }

            .pilares-nav-label {
                font-size: 0.62rem;
                line-height: 1.25;
                font-weight: 700;
            }

            .pilares-nav-bar { display: none; }
        }

        @media (max-width: 380px) {
            .pilares-nav-item {
                min-width: 78px;
                width: 78px;
                min-height: 86px;
            }

            .pilares-nav-label {
                font-size: 0.58rem;
            }
        }

        /* En Desktop habilitamos las flechas de swiper */
        @media (min-width: 992px) {
            .swiper-button-next, .swiper-button-prev { display: flex; }
        }

        /* 10. PULIDO GENERAL LANDING — compacto, claro y premium */
        .cinematic-hero {
            min-height: min(860px, 100svh);
            padding-top: calc(96px + env(safe-area-inset-top, 0px));
            padding-bottom: clamp(42px, 7vh, 68px);
        }

        .cinematic-title {
            max-width: 11ch;
            font-size: clamp(2.75rem, 5.8vw, 5.1rem);
            letter-spacing: -0.035em;
        }

        .cinematic-subtitle {
            max-width: 500px;
            font-size: clamp(0.98rem, 1.25vw, 1.08rem);
            line-height: 1.62;
            margin-bottom: 1.8rem;
        }

        .hero-taller-tab {
            max-width: 420px;
            justify-self: end;
            padding: clamp(1.35rem, 2.5vw, 1.8rem);
        }

        .hero-taller-tab h3 {
            font-size: clamp(1.35rem, 2vw, 1.65rem);
        }

        .services-premium,
        .pilares-section,
        .how-we-help {
            padding-top: clamp(54px, 7vw, 86px);
            padding-bottom: clamp(54px, 7vw, 86px);
        }

        .services-premium-header,
        .pilares-header {
            margin-bottom: clamp(1.4rem, 3vw, 2.5rem);
        }

        .section-title,
        .pilares-showcase-title,
        .enfoque-text-huge,
        .help-content h3,
        .about-heading {
            color: var(--inpulso-azul);
            letter-spacing: -0.025em;
        }

        .section-title {
            font-size: clamp(2.1rem, 4vw, 3.25rem);
        }

        .section-subtitle {
            font-size: clamp(0.96rem, 1.25vw, 1.05rem);
            line-height: 1.55;
        }

        .hero-actions,
        .section-actions,
        .enfoque-actions,
        .pilares-cta {
            display: flex;
            flex-wrap: wrap;
            gap: 0.85rem;
            align-items: center;
        }

        .hero-actions {
            margin-top: 1.6rem;
        }

        .section-actions,
        .enfoque-actions,
        .pilares-cta {
            justify-content: center;
            margin-top: clamp(1.2rem, 2.6vw, 2rem);
        }

        .section-mini-label {
            display: inline-flex;
            align-items: center;
            margin-bottom: 0.8rem;
            padding: 0.42rem 0.9rem;
            border-radius: 999px;
            background: rgba(45,79,130,0.08);
            color: var(--inpulso-rojo);
            font-size: 0.66rem;
            font-weight: 800;
            letter-spacing: 0.16em;
            text-transform: uppercase;
        }

        .services-premium {
            padding-top: clamp(54px, 7vw, 96px);
            padding-bottom: clamp(54px, 7vw, 96px);
        }

        @media (max-width: 991px) {
            .service-card.swiper-slide {
                width: min(280px, 82vw);
                height: 430px;
            }

            .service-card.swiper-slide:hover {
                transform: none;
            }

            .services-rail-wrap::before,
            .services-rail-wrap::after {
                width: 42px;
            }
        }

        @keyframes specialtiesAurora {
            from { transform: translate3d(-2%, 0, 0) skewY(-6deg); opacity: 0.5; }
            to { transform: translate3d(2%, -4%, 0) skewY(-3deg); opacity: 0.88; }
        }

        .enfoque-section {
            padding: clamp(48px, 7vw, 78px) 5vw;
            margin-bottom: clamp(48px, 7vw, 78px);
            box-shadow: 0 24px 70px rgba(45, 79, 130, 0.18);
        }

        .enfoque-text-huge {
            color: #fff;
            font-size: clamp(2rem, 4.4vw, 3.55rem);
        }

        .enfoque-desc {
            max-width: 720px;
            font-size: clamp(0.96rem, 1.2vw, 1.05rem);
            line-height: 1.62;
        }

        .help-row {
            gap: clamp(28px, 4vw, 56px);
            margin-bottom: clamp(52px, 7vw, 82px);
        }

        .help-img-wrapper {
            height: min(470px, 52vh);
        }

        .help-content {
            padding: clamp(1.35rem, 2.8vw, 2rem);
            box-shadow: 0 18px 48px rgba(45, 79, 130, 0.08);
        }

        .help-content h3 {
            font-size: clamp(2rem, 3.6vw, 3rem);
        }

        .help-content p {
            font-size: clamp(0.94rem, 1.18vw, 1rem);
            line-height: 1.65;
            margin-bottom: 1.35rem;
        }

        .pilares-showcase {
            min-height: 390px;
        }

        .pilares-showcase-inner {
            min-height: 390px;
            padding: 2rem 2.1rem 4.5rem;
        }

        .pilares-showcase-desc {
            font-size: clamp(0.96rem, 1.2vw, 1.03rem);
            line-height: 1.65;
        }

        .about-section {
            padding: clamp(52px, 7vw, 82px) 5vw;
            margin-bottom: clamp(42px, 6vw, 72px);
            background:
                radial-gradient(circle at 12% 12%, rgba(255,255,255,0.08), transparent 30%),
                linear-gradient(135deg, #16283f, #1a1f1c);
            box-shadow: 0 24px 70px rgba(0,0,0,0.18);
        }

        .about-heading {
            color: #fff;
            font-size: clamp(2.05rem, 4vw, 3.2rem);
            margin-bottom: 1rem;
        }

        .about-text {
            max-width: 720px;
            font-size: clamp(0.98rem, 1.25vw, 1.05rem);
            line-height: 1.65;
            margin-bottom: 1.7rem;
        }

        .apple-glass-btn,
        .apple-glass-btn.dark-glass,
        .hero-taller-tab .apple-glass-btn,
        .about-section .apple-glass-btn {
            background: rgba(255, 255, 255, 0.15) !important;
            color: #fff !important;
            border: 1px solid rgba(255, 255, 255, 0.2) !important;
            border-top: 1px solid rgba(255, 255, 255, 0.8) !important;
            border-left: 1px solid rgba(255, 255, 255, 0.5) !important;
            backdrop-filter: blur(20px) saturate(180%) !important;
            -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
            text-shadow: 0 1px 10px rgba(0,0,0,0.22);
        }

        .help-content .apple-glass-btn.dark-glass,
        .services-premium .apple-glass-btn.dark-glass,
        .pilares-section .apple-glass-btn.dark-glass {
            color: var(--inpulso-azul) !important;
            text-shadow: none;
        }

        @media (max-width: 991px) {
            .cinematic-hero {
                min-height: 100svh;
                grid-template-columns: 1fr;
                gap: 1.25rem;
                padding: calc(88px + env(safe-area-inset-top, 0px)) 18px 36px;
                text-align: center;
                isolation: isolate;
            }

            /* Móvil: mismo video Mitty a full-bleed (zoom fuerte para comer letterbox) */
            .video-background-wrapper {
                inset: 0;
                background:
                    linear-gradient(to bottom, rgba(0,0,0,0.2), rgba(0,0,0,0.45)),
                    url('https://img.youtube.com/vi/XmZA6mPNGE0/maxresdefault.jpg') center / cover no-repeat;
                background-color: #07090c;
            }

            .video-background {
                display: block !important;
                width: max(100vw, calc(100svh * 16 / 9));
                height: max(100svh, calc(100vw * 9 / 16));
                transform: translate(-50%, -50%) scale(2.35);
            }

            .youtube-shield {
                display: block !important;
                z-index: 7;
            }

            .cinematic-overlay {
                background:
                    linear-gradient(to bottom, rgba(0,0,0,0.28) 0%, rgba(0,0,0,0.16) 20%, rgba(0,0,0,0.42) 55%, rgba(0,0,0,0.62) 100%);
            }

            .cinematic-title {
                max-width: 12ch;
                margin-left: auto;
                margin-right: auto;
                font-size: clamp(2.5rem, 11vw, 4.1rem);
            }

            .cinematic-subtitle {
                margin-left: auto;
                margin-right: auto;
            }

            .hero-taller-tab {
                justify-self: center;
                width: min(440px, 100%);
            }

            .help-row {
                grid-template-columns: 1fr;
            }

            .mobile-reverse .help-content { order: 2; }
            .mobile-reverse .help-img-wrapper { order: 1; }

            .help-img-wrapper {
                height: min(360px, 48vh);
            }

            .pilares-layout {
                gap: 1rem;
            }
        }

        @media (max-width: 640px) {
            .services-premium,
            .pilares-section,
            .how-we-help,
            .about-section {
                padding-top: 42px;
                padding-bottom: 42px;
            }

            .services-premium-header,
            .pilares-header {
                padding-left: 18px;
                padding-right: 18px;
            }

            .hero-actions,
            .section-actions,
            .enfoque-actions,
            .pilares-cta {
                justify-content: center;
            }

            .enfoque-section,
            .about-section {
                margin-left: 12px;
                margin-right: 12px;
                border-radius: 28px;
            }

            .help-content {
                padding: 1.15rem;
            }

            .pilares-showcase {
                min-height: 340px;
                border-radius: 26px;
            }

            .pilares-showcase-inner {
                min-height: 340px;
                padding: 1.35rem 1.35rem 4rem;
            }
        }

        /* 11. FINAL CINEMATOGRÁFICO — VIDA */
        .mitty-odyssey {
            margin-bottom: clamp(42px, 7vw, 82px);
        }

        .mitty-odyssey__viewport {
            background:
                radial-gradient(circle at 68% 18%, rgba(255, 185, 108, 0.22), transparent 28%),
                linear-gradient(180deg, #071424 0%, #040a12 100%);
        }

        .mitty-layer--grade {
            background:
                linear-gradient(115deg, rgba(255, 166, 88, 0.16) 0%, transparent 38%),
                linear-gradient(to top, rgba(3, 8, 14, 0.94) 0%, rgba(4, 10, 18, 0.28) 42%, transparent 70%),
                radial-gradient(ellipse 70% 58% at 50% 50%, transparent 20%, rgba(0, 0, 0, 0.66) 100%);
        }

        .mitty-cinema-flare {
            position: absolute;
            z-index: 11;
            pointer-events: none;
            border-radius: 999px;
            filter: blur(32px);
            opacity: 0;
            transform: translate3d(0, 0, 0);
            will-change: transform, opacity;
        }

        .mitty-cinema-flare--one {
            top: 14%;
            right: 13%;
            width: clamp(180px, 28vw, 440px);
            height: clamp(180px, 28vw, 440px);
            background: radial-gradient(circle, rgba(255, 206, 148, 0.42), rgba(255, 150, 80, 0.12) 42%, transparent 70%);
        }

        .mitty-cinema-flare--two {
            left: 8%;
            bottom: 12%;
            width: clamp(160px, 24vw, 360px);
            height: clamp(160px, 24vw, 360px);
            background: radial-gradient(circle, rgba(126, 184, 255, 0.2), rgba(45, 79, 130, 0.18) 42%, transparent 72%);
        }

        .mitty-cinema-vignette {
            position: absolute;
            inset: 0;
            z-index: 21;
            pointer-events: none;
            background:
                linear-gradient(90deg, rgba(0,0,0,0.38), transparent 18%, transparent 82%, rgba(0,0,0,0.38)),
                radial-gradient(ellipse at center, transparent 38%, rgba(0,0,0,0.46) 100%);
            opacity: 0.92;
        }

        .mitty-label {
            color: rgba(255, 220, 168, 0.88);
            text-shadow: 0 0 28px rgba(255, 180, 100, 0.22);
        }

        .mitty-line-inner {
            font-weight: 300;
            text-shadow:
                0 2px 18px rgba(0,0,0,0.42),
                0 0 28px rgba(255, 220, 180, 0.16);
        }

        .mitty-finale::before {
            content: '';
            position: absolute;
            left: 50%;
            top: 50%;
            width: min(72vw, 980px);
            height: min(36vw, 440px);
            transform: translate(-50%, -50%);
            border-radius: 999px;
            background: radial-gradient(ellipse, rgba(255, 210, 150, 0.2), transparent 68%);
            filter: blur(18px);
            opacity: 0.9;
            pointer-events: none;
        }

        .mitty-lead,
        .mitty-vida {
            position: relative;
            z-index: 2;
        }

        .mitty-lead {
            color: rgba(255, 238, 218, 0.78);
        }

        .mitty-vida {
            background: linear-gradient(180deg, #fff 0%, #ffe5bd 46%, #ffb46f 100%);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            filter: drop-shadow(0 20px 52px rgba(0,0,0,0.35));
            text-shadow: none;
        }

        .mitty-char {
            transform-origin: 50% 70%;
        }

        .mitty-vida .mitty-char {
            color: #fff7e9;
            -webkit-text-fill-color: currentColor;
        }

        .mitty-whisper {
            color: rgba(255, 238, 218, 0.62);
            text-shadow: 0 0 24px rgba(255, 180, 100, 0.14);
        }

        .mitty-progress {
            width: min(220px, 46vw);
            background: rgba(255, 255, 255, 0.16);
        }

        .mitty-progress span {
            background: linear-gradient(90deg, rgba(255, 170, 92, 0.55), #fff3df, rgba(126, 184, 255, 0.55));
        }

        /* 12. CIERRE TIPO TRÁILER — versión definitiva */
        .mitty-odyssey {
            background: #03060b;
        }

        .mitty-odyssey__scroll {
            height: 520vh;
        }

        .mitty-odyssey__viewport {
            background:
                radial-gradient(circle at 50% 42%, rgba(255, 210, 150, 0.08), transparent 28%),
                linear-gradient(180deg, #06111f 0%, #02050a 100%);
        }

        .mitty-layer--sky {
            background:
                radial-gradient(ellipse 44% 32% at 62% 22%, rgba(255, 184, 102, 0.5), transparent 62%),
                radial-gradient(ellipse 95% 78% at 50% 100%, rgba(45, 79, 130, 0.72), transparent 64%),
                linear-gradient(180deg, #18395e 0%, #08192d 45%, #02050a 100%);
        }

        .mitty-layer--far,
        .mitty-layer--mid,
        .mitty-layer--near {
            filter: saturate(0.82) contrast(1.08);
        }

        .mitty-layer--grade {
            background:
                linear-gradient(180deg, rgba(0,0,0,0.38) 0%, transparent 24%, rgba(0,0,0,0.68) 100%),
                radial-gradient(ellipse 54% 42% at 50% 48%, transparent 0%, rgba(0,0,0,0.22) 48%, rgba(0,0,0,0.78) 100%),
                linear-gradient(90deg, rgba(0,0,0,0.48), transparent 22%, transparent 78%, rgba(0,0,0,0.48));
        }

        .mitty-letterbox {
            height: clamp(54px, 9vh, 92px);
            background: #000;
            z-index: 34;
        }

        .mitty-stage {
            z-index: 28;
            padding: clamp(76px, 13vh, 120px) 6vw;
        }

        .mitty-label {
            top: clamp(5.4rem, 14vh, 8.5rem);
            color: rgba(255, 220, 168, 0.8);
            letter-spacing: 0.52em;
        }

        .mitty-lines {
            width: min(980px, 90vw);
            height: clamp(6rem, 15vh, 9rem);
        }

        .mitty-line-inner {
            font-family: var(--fuente-titulos);
            font-size: clamp(1.5rem, 4vw, 3.6rem);
            font-weight: 400;
            letter-spacing: -0.015em;
            line-height: 1.12;
            color: #fff8ec;
            text-shadow:
                0 2px 24px rgba(0,0,0,0.72),
                0 0 36px rgba(255, 180, 100, 0.18);
        }

        .mitty-lead {
            font-size: clamp(0.78rem, 1.35vw, 1.05rem);
            font-weight: 700;
            letter-spacing: 0.34em;
            color: rgba(255, 236, 210, 0.86);
        }

        .mitty-vida {
            font-family: var(--fuente-textos);
            font-size: clamp(6.2rem, 25vw, 19rem);
            font-weight: 900;
            letter-spacing: 0.045em;
            line-height: 0.78;
            background:
                linear-gradient(180deg, #fff 0%, #ffe8c4 34%, #ffb061 70%, #c64a49 112%);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            filter:
                drop-shadow(0 0 24px rgba(255, 204, 145, 0.32))
                drop-shadow(0 28px 80px rgba(0,0,0,0.42));
        }

        .mitty-finale::before {
            width: min(84vw, 1180px);
            height: min(36vw, 480px);
            background:
                radial-gradient(ellipse, rgba(255, 213, 160, 0.28), rgba(198, 74, 73, 0.09) 42%, transparent 72%);
            filter: blur(24px);
        }

        .mitty-cinema-beam {
            position: absolute;
            z-index: 13;
            top: -18%;
            left: 50%;
            width: min(680px, 72vw);
            height: 140%;
            transform: translateX(-50%) rotate(10deg);
            transform-origin: top center;
            pointer-events: none;
            opacity: 0;
            background:
                linear-gradient(90deg, transparent 0%, rgba(255, 233, 200, 0.18) 48%, rgba(255, 255, 255, 0.28) 50%, rgba(255, 205, 148, 0.12) 54%, transparent 100%);
            filter: blur(18px);
            mix-blend-mode: screen;
        }

        .mitty-cinema-dust {
            position: absolute;
            inset: 0;
            z-index: 14;
            pointer-events: none;
            overflow: hidden;
            opacity: 0;
        }

        .mitty-cinema-dust span {
            position: absolute;
            width: 3px;
            height: 3px;
            border-radius: 999px;
            background: rgba(255, 232, 200, 0.72);
            box-shadow: 0 0 18px rgba(255, 198, 126, 0.46);
            animation: mittyDustFloat 8s ease-in-out infinite;
        }

        .mitty-cinema-dust span:nth-child(1) { left: 16%; top: 32%; animation-delay: 0s; }
        .mitty-cinema-dust span:nth-child(2) { left: 28%; top: 56%; animation-delay: 1.2s; }
        .mitty-cinema-dust span:nth-child(3) { left: 44%; top: 24%; animation-delay: 2.1s; }
        .mitty-cinema-dust span:nth-child(4) { left: 62%; top: 62%; animation-delay: 0.8s; }
        .mitty-cinema-dust span:nth-child(5) { left: 76%; top: 38%; animation-delay: 1.8s; }
        .mitty-cinema-dust span:nth-child(6) { left: 86%; top: 68%; animation-delay: 2.7s; }

        @keyframes mittyDustFloat {
            0%, 100% { transform: translate3d(0, 0, 0) scale(0.8); opacity: 0.28; }
            45% { transform: translate3d(22px, -34px, 0) scale(1.3); opacity: 0.9; }
        }

        .mitty-cinema-vignette {
            z-index: 24;
            background:
                linear-gradient(180deg, rgba(0,0,0,0.62) 0%, transparent 22%, transparent 70%, rgba(0,0,0,0.72) 100%),
                radial-gradient(ellipse at center, transparent 25%, rgba(0,0,0,0.62) 100%);
            opacity: 1;
        }

        .mitty-whisper {
            bottom: clamp(4.2rem, 10vh, 7rem);
            z-index: 29;
            color: rgba(255, 236, 212, 0.74);
        }

        .mitty-progress {
            z-index: 36;
            bottom: clamp(1.4rem, 3.4vh, 2.2rem);
        }

        @media (max-width: 991px), (pointer: coarse) {
            .mitty-odyssey__scroll {
                height: 520vh;
                min-height: 0;
            }

            .mitty-odyssey__pin {
                height: 100vh;
                min-height: 100vh;
            }

            .mitty-odyssey__viewport {
                position: absolute;
                inset: 0;
                height: 100%;
                min-height: 100vh;
            }

            .mitty-layer-wrap--mid {
                display: block;
            }

            .mitty-layer--far {
                background-image: url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?q=75&w=1400&auto=format&fit=crop');
            }

            .mitty-layer--mid {
                background-image: url('https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?q=75&w=1400&auto=format&fit=crop');
            }

            .mitty-layer--near,
            .mitty-layer-wrap--near .mitty-layer--near {
                background-image: url('https://images.unsplash.com/photo-1504829857797-ddff29c27933?q=75&w=1400&auto=format&fit=crop');
            }

            .mitty-letterbox {
                display: block !important;
                height: clamp(42px, 8svh, 68px);
                transform: scaleY(1);
            }

            .mitty-stage {
                padding: clamp(78px, 15svh, 108px) 6vw clamp(82px, 15svh, 112px);
            }

            .mitty-label {
                top: clamp(4.5rem, 12svh, 6.5rem);
                font-size: 0.56rem;
                letter-spacing: 0.36em;
            }

            .mitty-lines {
                width: min(92vw, 520px);
                height: clamp(7rem, 19svh, 10rem);
            }

            .mitty-line-inner {
                font-size: clamp(1.55rem, 8vw, 2.55rem);
                line-height: 1.08;
            }

            .mitty-lead {
                font-size: clamp(0.62rem, 3vw, 0.86rem);
                letter-spacing: 0.22em;
                max-width: 82vw;
            }

            .mitty-vida {
                font-size: clamp(4.8rem, 25vw, 8.4rem);
                letter-spacing: 0.025em;
            }

            .mitty-whisper {
                bottom: clamp(4.5rem, 11svh, 6.3rem);
                max-width: 78vw;
                font-size: clamp(0.95rem, 4.2vw, 1.25rem);
            }

            .mitty-cinema-beam {
                width: 86vw;
                height: 120%;
                filter: blur(14px);
                transform: translateX(-50%) rotate(7deg);
            }

            .mitty-wind {
                display: block;
            }
        }

        @media (max-width: 640px) {
            .mitty-odyssey {
                margin-bottom: 40px;
            }

            .mitty-odyssey__pin,
            .mitty-odyssey__viewport {
                min-height: 100vh;
            }

            .mitty-hud {
                padding: calc(env(safe-area-inset-top, 0px) + 4.8rem) 1rem calc(env(safe-area-inset-bottom, 0px) + 1rem);
            }

            .mitty-coords {
                max-width: 78vw;
                font-size: 0.48rem;
                line-height: 1.35;
                letter-spacing: 0.2em;
            }

            .mitty-stage {
                padding: calc(env(safe-area-inset-top, 0px) + 6.2rem) 6vw calc(env(safe-area-inset-bottom, 0px) + 7.6rem);
            }

            .mitty-label {
                top: calc(env(safe-area-inset-top, 0px) + 5.4rem);
                font-size: 0.5rem;
                letter-spacing: 0.28em;
            }

            .mitty-lines {
                width: min(88vw, 390px);
                height: clamp(5.2rem, 17svh, 7.2rem);
            }

            .mitty-line-inner {
                font-size: clamp(1.22rem, 7.1vw, 2rem);
                line-height: 1.12;
                letter-spacing: -0.01em;
            }

            .mitty-finale {
                gap: 0.35rem;
                transform: translateY(-1.4vh);
            }

            .mitty-lead {
                max-width: 76vw;
                font-size: clamp(0.58rem, 2.8vw, 0.78rem);
                line-height: 1.35;
                letter-spacing: 0.18em;
            }

            .mitty-vida {
                max-width: 94vw;
                justify-content: center;
                gap: 0.005em;
                font-size: clamp(3.85rem, 23vw, 6.7rem);
                line-height: 0.82;
                letter-spacing: 0.01em;
            }

            .mitty-whisper {
                bottom: calc(env(safe-area-inset-bottom, 0px) + 4.4rem);
                max-width: 74vw;
                font-size: clamp(0.82rem, 3.6vw, 1.02rem);
                line-height: 1.25;
            }

            .mitty-progress {
                bottom: calc(env(safe-area-inset-bottom, 0px) + 2rem);
                width: min(150px, 36vw);
            }
        }

        @media (max-width: 991px), (pointer: coarse) {
            .mitty-finale {
                opacity: 0;
                padding: 0 6vw;
            }

            .mitty-lead {
                opacity: 0;
                transform: translateY(0);
                text-align: center;
            }

            .mitty-char {
                opacity: 0;
                transform: translate3d(0, 0, 0) scale(1);
            }

            .mitty-vida {
                color: #fff7e9;
                -webkit-text-fill-color: currentColor;
                filter: drop-shadow(0 0 22px rgba(255, 204, 145, 0.28)) drop-shadow(0 16px 42px rgba(0,0,0,0.48));
            }
        }

        /* Hero inicio — video detrás del header flotante */
        .page-inicio .jm-header.header--on-dark {
            background: rgba(255, 255, 255, 0.1);
            border-color: rgba(255, 255, 255, 0.22);
            border-top-color: rgba(255, 255, 255, 0.42);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
        }

        .page-inicio .jm-header.header--on-dark .jm-logo-img {
            filter: brightness(0) invert(1);
        }


/* Sprint: brand-first hero + taller glass en escritorio */
.cinematic-brand {
    margin: 0 0 0.65rem;
    font-family: var(--fuente-titulos);
    font-size: clamp(2.4rem, 6vw, 4.2rem);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 0.95;
    color: #fff;
}
.cinematic-hero {
    grid-template-columns: 1.05fr minmax(280px, 0.95fr);
    align-items: center;
    gap: clamp(1.5rem, 3vw, 2.75rem);
}
.hero-taller-tab {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}
.hero-taller-tab .apple-glass-btn {
    margin-top: 0.25rem;
    width: auto;
}
.hero-taller-tab__link {
    display: inline-flex;
    margin-top: 0.85rem;
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none;
    font-family: var(--fuente-textos);
    font-size: 0.82rem;
    font-weight: 500;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    padding-bottom: 0.12rem;
    transition: color 0.25s ease, border-color 0.25s ease;
}
.hero-taller-tab__link:hover {
    color: #f3d2b0;
    border-color: rgba(243, 210, 176, 0.7);
}
.home-taller-band {
    display: none;
}
@media (max-width: 991px) {
    .cinematic-hero {
        grid-template-columns: 1fr;
        align-items: center;
        padding-top: calc(96px + env(safe-area-inset-top, 0px));
        padding-bottom: clamp(72px, 12vh, 110px);
    }
    .hero-content-wrapper {
        transform: translateY(-6vh);
    }
    .hero-taller-tab {
        display: none !important;
    }
    .home-taller-band {
        display: block;
    }
}
@media (max-width: 720px) {
    .hero-content-wrapper {
        transform: translateY(-8vh);
    }
}
.home-taller-band {
    position: relative;
    z-index: 2;
    margin-top: -28px;
    padding: clamp(2.75rem, 6vw, 3.75rem) 5vw clamp(1.25rem, 3vw, 1.75rem);
    background: linear-gradient(180deg, #f4f0e8 0%, var(--fondo-crema) 55%, var(--fondo-crema) 100%);
    text-align: center;
}

.home-taller-band__inner {
    width: min(640px, 100%);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

.home-taller-band__label,
.home-taller-band .section-mini-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 1rem;
    background: rgba(198, 74, 73, 0.12);
    color: var(--inpulso-rojo);
}

.home-taller-band h2 {
    margin: 0 0 0.65rem;
    font-family: var(--fuente-titulos);
    font-size: clamp(1.85rem, 5.5vw, 2.55rem);
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: var(--inpulso-azul);
    font-weight: 400;
    max-width: 16ch;
}

.home-taller-band__meta {
    margin: 0 0 1.35rem;
    color: var(--texto-secundario);
    font-size: clamp(0.9rem, 2.4vw, 1rem);
    line-height: 1.55;
    max-width: 34ch;
}

.home-taller-band__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.7rem;
    width: 100%;
}

.home-taller-band__actions .apple-glass-btn,
.home-taller-band__actions .apple-glass-btn.dark-glass {
    color: var(--inpulso-azul) !important;
    text-shadow: none !important;
}

/* Continúa el mismo fondo crema hacia Servicios */
.services-premium {
    padding-top: clamp(1.5rem, 4vw, 2.5rem) !important;
    background:
        linear-gradient(180deg, var(--fondo-crema) 0%, #efebe3 100%) !important;
}

@media (max-width: 720px) {
    .home-taller-band {
        margin-top: -22px;
        padding-left: 18px;
        padding-right: 18px;
    }
    .home-taller-band__actions {
        flex-direction: column;
        align-items: stretch;
    }
    .home-taller-band__actions .apple-glass-btn {
        width: 100%;
    }
}
