
/* =========================
   KTSA — Estilos principales
   ========================= */

/* Fuentes personalizadas */
@font-face {
  font-family: 'KPMG Sans Bold';
  src: url('../fonts/KPMG-Bold.ttf?v=1769036126') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'KPMG Bold';
  src: url('../fonts/KPMG-Bold.ttf?v=1769036126') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Paleta y tokens */
:root{
  --brand-blue: #00338D;        /* Azul KPMG */
  --text: #0B1F33;
  --text-muted: #4A5668;
  --gray-50: #FAFBFE;
  --gray-100: #F2F5FB;
  --gray-200: #E6ECF5;
  --gray-300: #D7DEEA;
  --white: #FFFFFF;

  --radius: 12px;
  --pill: 9999px;

  /* Sistema de espaciado consistente (escala 4px) */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  
  /* Touch targets mínimos */
  --min-touch-target: 44px;
  
  /* Breakpoints (para uso en JS si es necesario) */
  --bp-mobile: 640px;
  --bp-tablet: 768px;
  --bp-tablet-landscape: 900px;
  --bp-desktop-small: 1024px;
  --bp-desktop: 1280px;
  
  /* Sistema de sombras (elevación) */
  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --shadow-blue: 0 4px 16px rgba(0, 71, 171, 0.2);
  --shadow-blue-lg: 0 8px 24px rgba(0, 71, 171, 0.3);
  
  /* Transiciones estándar */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-bounce: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* === Life at KTSA title styles - Security fix: moved from inline === */
.life-title-blue {
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
  color: #0047AB;
}

.life-title-accent {
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
}

/* === Estilos inline movidos a clases - Fase 1 === */
.hero-main-title {
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
  line-height: 1.0;
}

.feature-band-subtitle {
  font-family: Arial, sans-serif;
  font-weight: normal;
  font-size: 24px !important;
}

.feature-band-main-title {
  font-size: clamp(44px, 10vw, 60px);
}

.why-title-styled {
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
}

/* Tamaño solo para desktop */
@media (min-width: 641px) {
  .why-title-styled {
    font-size: 48px;
  }
}

.why-title-accent {
  color: #1E49E2;
}

/* === What We Do === */
.wwd-title-styled {
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
}

@media (min-width: 641px) {
  .wwd-title-styled {
    font-size: clamp(36px, 3.8vw, 51px);
  }
}

.wwd-title-accent {
  color: #1E49E2 !important;
  font-family: 'KPMG Sans Bold', Arial, sans-serif !important;
  font-weight: 700 !important;
  display: inline !important;
}

/* Forzar inline para span dentro de h2 con clase wwd-title - máxima especificidad */
section.what-we-do h2.wwd-title.wwd-title-desktop.wwd-title-styled span.wwd-title-accent {
  display: inline !important;
  /* Resetear cualquier estilo de bloque */
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* === Life at KTSA === */
.life-title-styled {
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
}

@media (min-width: 641px) {
  .life-title-styled {
    font-size: 48px;
  }
}

.life-title-blue-inline {
  color: #00338D;
}

.life-title-accent-inline {
  color: #7213EA;
}

/* === EVP === */
.evp-title-styled {
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
}

.evp-title-accent {
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
  color: #1E49E2;
}

.evp-subtitle-experience {
  color: #0d3a7a;
}

.evp-list-experience li::before {
  color: #0d3a7a;
}

.evp-subtitle-expand {
  color: #00B8F5;
}

.evp-list-expand li::before {
  color: #00B8F5;
}

.evp-subtitle-excel {
  color: #6b3da8;
}

.evp-list-excel li::before {
  color: #6b3da8;
}

.evp-subtitle-express {
  color: #FD349C;
}

.evp-list-express li::before {
  color: #FD349C;
}

.evp-nowrap {
  white-space: nowrap;
}

:root {
  /* Tipografía - Desktop y Mobile */
  --font-title: 'KPMG Sans Bold', Arial, Helvetica, sans-serif;     /* Títulos */
  --font-subtitle: Arial, Helvetica, sans-serif;                     /* Subtítulos - Regular */
  --font-body: Arial, Helvetica, sans-serif;                         /* Texto normal - Regular */
  --font-emphasis: Arial, Helvetica, sans-serif;                     /* Énfasis - Bold */
  --font-highlight: Arial, Helvetica, sans-serif;                    /* Resaltar - Italic */

  /* Pesos/estilos */
  --weight-regular: 400;
  --weight-semibold: 600;
  --weight-bold: 700;
  
  /* Estilos específicos */
  --style-italic: italic;
  --style-normal: normal;


  /* Fondo de hero: puedes cambiar esta URL o setearla inline si prefieres */
  --hero-bg: url("../images/images/abstract_heroimage.jpg");
}

/* Reset básico */
* { box-sizing: border-box; }
html { 
  margin: 0; 
  padding: 0; 
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
  width: 100%;
}

body {
  margin: 0;
  padding: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  color: var(--text);
  background: var(--white);
  line-height: 1.5;
  font-size: 16px;
  min-width: 0;
  width: 100%;
  letter-spacing: 0;
}

/* Fuente unificada para todos los botones */
button,
.btn-outline,
.hero-cta-btn,
.why-cta-btn,
.back-to-top,
.sideMenuButton,
.closeButton,
.carousel-btn,
.evp-tab,
.play-btn,
.rectangulo-azul p {
  font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
}

/* Prevenir overflow en imágenes y medios */
img, video, iframe {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Prevenir overflow en elementos de layout */
section, div, article, aside {
  max-width: 100%;
}

/* Estilos específicos para contenedores de carrusel */
.testimonials-column,
.blogs-section-full .blogs-column {
  max-width: 100%;
  overflow: hidden;
}

.testimonials-carousel-wrapper,
.blogs-section-full .blogs-carousel-wrapper {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
  padding: 0 clamp(16px, 4vw, 60px);
}

.testimonials-carousel,
.blogs-section-full .blogs-carousel {
  overflow: hidden;
}

@media (max-width: 1024px) {
  .testimonials-carousel-wrapper,
  .blogs-section-full .blogs-carousel-wrapper {
    width: 100%;
    box-sizing: border-box;
  }
  
  .testimonials-carousel,
  .blogs-section-full .blogs-carousel {
    width: 100%;
    max-width: 100%;
  }
  
  .testimonials-track {
    width: 100%;
  }
  
  .testimonials-column {
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px;
  }
  
  .testimonials-column .column-title,
  .testimonials-column .testimonials-description {
    padding-left: 24px;
    padding-right: 24px;
    text-align: center;
  }
  
  .blogs-section-full .blogs-column {
    max-width: 100% !important;
    padding: 0;
  }
}

/* Indicadores más grandes para tablets (todas las tablets) */
@media (min-width: 768px) and (max-width: 1366px) {
  .testimonial-indicator,
  .testimonial-indicator.active {
    width: 12px !important;
    height: 12px !important;
    border-width: 0px !important;
    background: var(--brand-blue) !important;
    transform: scale(1) !important;
    border-radius: 50% !important;
  }
  
  .testimonial-indicator:not(.active) {
    opacity: 0.4 !important;
  }
  
  .blog-indicator,
  .blog-indicator.active {
    width: 12px !important;
    height: 12px !important;
    border-width: 0px !important;
    background: var(--brand-blue) !important;
    transform: scale(1) !important;
    border-radius: 50% !important;
  }
  
  .blog-indicator:not(.active) {
    opacity: 0.4 !important;
  }
  
  .testimonials-indicators {
    gap: 8px !important;
  }
  
  .blogs-indicators {
    gap: 8px !important;
  }
}

/* Indicadores medianos para móviles grandes */
@media (min-width: 641px) and (max-width: 767px) {
  .testimonial-indicator,
  .testimonial-indicator.active {
    width: 8px !important;
    height: 8px !important;
    border-width: 0px !important;
    background: var(--brand-blue) !important;
    transform: scale(1) !important;
    border-radius: 50% !important;
  }
  
  .testimonial-indicator:not(.active) {
    opacity: 0.4 !important;
  }
  
  .blog-indicator,
  .blog-indicator.active {
    width: 8px !important;
    height: 8px !important;
    border-width: 0px !important;
    background: var(--brand-blue) !important;
    transform: scale(1) !important;
    border-radius: 50% !important;
  }
  
  .blog-indicator:not(.active) {
    opacity: 0.4 !important;
  }
  
  .testimonials-indicators {
    gap: 6px !important;
  }
  
  .blogs-indicators {
    gap: 6px !important;
  }
}

/* Reducir indicadores solo en móviles pequeños */
@media (max-width: 640px) {
  .testimonial-indicator,
  .testimonial-indicator.active {
    width: 8px !important;
    height: 8px !important;
    border-width: 0px !important;
    border-radius: 50% !important;
    background: var(--brand-blue) !important;
    transform: scale(1) !important;
    position: relative;
    padding: 0 !important;
  }
  
  .testimonial-indicator::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 44px;
    height: 44px;
  }
  
  .testimonial-indicator:not(.active) {
    opacity: 0.4 !important;
  }
  
  .blog-indicator,
  .blog-indicator.active {
    width: 8px !important;
    height: 8px !important;
    border-width: 0px !important;
    background: var(--brand-blue) !important;
    transform: scale(1) !important;
  }
  
  .blog-indicator:not(.active) {
    opacity: 0.4 !important;
  }
  
  .testimonials-indicators {
    gap: 3px !important;
  }
  
  .blogs-indicators {
    gap: 3px !important;
  }
}

/* Contenedores de imágenes */
picture {
  display: block;
  max-width: 100%;
}

section {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

/* ===================================
   TIPOGRAFÍA DESKTOP (min-width: 641px)
   =================================== */

/* Títulos - KPMG Bold */
h1, h2, h3, h4, h5, h6,
.title, .hero-title, .why-title, .wwd-title, .life-title, 
.evp-title, .mas-title, .voices-title, .blogs-title {
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif;
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
  letter-spacing: -0.01em;
}

/* Tamaños de títulos - Desktop */
h1 {
  font-size: clamp(36px, 5vw, 48px);
  line-height: 1.2;
  margin-bottom: 24px;
}

h2 {
  display: inline-block;
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif;
  font-size: 2rem;
  letter-spacing: 0;
  line-height: 1.2;
  width: 100%;
  margin-bottom: 20px;
}

@media (min-width: 1024px) {
  h2 {
    font-size: 3rem;
    line-height: 1.2;
  }
}

h3 {
  font-size: clamp(22px, 3vw, 28px);
  line-height: 1.2;
  margin-bottom: 16px;
}

/* Subtítulos - Arial Regular */
.subtitle, .hero-subtitle, p.subtitle {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
}

/* Texto normal - Arial Regular */
p, span, li, td, th {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
}

/* Excepciones: spans dentro de títulos deben heredar la fuente del título */
.title-multiline span,
.why-title span,
.wwd-title span,
.life-title span,
.evp-title span,
.mas-title span,
.voices-title span,
h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {
  font-family: inherit !important;
  font-weight: inherit !important;
}

p {
  margin: 0 0 16px;
  line-height: 1.5;
  font-size: 16px;
}

/* Énfasis - Arial Bold */
strong, b, .bold-text, .emphasis {
  font-family: var(--font-emphasis);
  font-weight: var(--weight-bold);
  font-style: var(--style-normal);
}

/* Resaltado - Arial Italic */
em, i, .italic-text, .highlight {
  font-family: var(--font-highlight);
  font-weight: var(--weight-regular);
  font-style: var(--style-italic);
}

/* Énfasis + Resaltado - Arial Bold Italic */
strong em, b em, em strong, em b, 
.bold-italic {
  font-family: var(--font-emphasis);
  font-weight: var(--weight-bold);
  font-style: var(--style-italic);
}

/* Enlaces */
a {
  color: inherit;
  text-decoration: none;
}

/* Focus visible mejorado para todos los enlaces */
a:focus-visible {
  outline: 3px solid #0047AB;
  outline-offset: 3px;
  border-radius: 2px;
  transition: outline-offset 0.2s ease;
  box-shadow: 0 0 0 5px rgba(0, 71, 171, 0.15);
}

/* Focus para botones y elementos interactivos */
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid #0047AB;
  outline-offset: 2px;
  border-radius: 2px;
  box-shadow: 0 0 0 5px rgba(0, 71, 171, 0.15);
}

/* =========================
   ACCESIBILIDAD
   ========================= */

/* Skip to main content link - mejorado para accesibilidad */
.skip-link {
  position: absolute;
  top: -60px;
  left: 0;
  background: #0047AB;
  color: #FFFFFF;
  padding: 16px 32px;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  z-index: 10000;
  border-radius: 0 0 8px 0;
  box-shadow: 0 4px 12px rgba(0, 71, 171, 0.3);
  transition: top 0.3s ease, box-shadow 0.3s ease;
}

.skip-link:focus {
  top: 0;
  box-shadow: 0 6px 16px rgba(0, 71, 171, 0.5);
  outline: 3px solid #00B8D4;
  outline-offset: -3px;
}

/* Back to top button - mejorado */
.back-to-top {
  position: fixed;
  bottom: 32px;
  right: 32px;
  width: 56px;
  height: 56px;
  min-width: 56px;
  min-height: 56px;
  aspect-ratio: 1;
  flex-shrink: 0;
  background: var(--brand-blue);
  color: var(--white);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0, 71, 171, 0.3);
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
  z-index: 999;
}

.back-to-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.back-to-top:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 8px 24px rgba(0, 71, 171, 0.5);
  background: #0056d6;
}

.back-to-top:active {
  transform: translateY(-2px) scale(1.02);
}

.back-to-top:focus-visible {
  outline: 3px solid #00B8D4;
  outline-offset: 4px;
}

/* Responsive back to top */
@media (max-width: 768px) {
  .back-to-top {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    aspect-ratio: 1 !important;
    flex-shrink: 0;
    bottom: 24px;
    right: 24px;
  }
  
  .back-to-top svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
  }
}

/* ===================================
   TOUCH TARGETS MÍNIMOS (44x44px)
   =================================== */
@media (max-width: 768px) {
  /* Asegurar touch targets mínimos en botones */
  button,
  .btn-outline,
  .hero-cta-btn,
  .why-cta-btn,
  .cta,
  .evp-toggle {
    min-height: var(--min-touch-target);
    min-width: var(--min-touch-target);
  }
  
  /* Links de navegación con padding suficiente */
  .mobile-nav-link {
    min-height: var(--min-touch-target);
    display: flex;
    align-items: center;
  }
  
  /* Botones de carrusel */
  .video-carousel-btn,
  .evp-carousel-btn {
    min-width: var(--min-touch-target);
    min-height: var(--min-touch-target);
  }
  
  /* Iconos sociales */
  .social-btn img {
    min-width: var(--min-touch-target);
    min-height: var(--min-touch-target);
  }
}

/* Active nav indicator - mejorado */
.navbar a.active {
  border-bottom-color: var(--brand-blue) !important;
  font-weight: 700 !important;
  color: var(--brand-blue) !important;
  font-family: Arial, sans-serif !important;
  background: rgba(0, 71, 171, 0.08);
}

/* Active state en navegación móvil */
.mobile-nav-link.active {
  background: rgba(0, 71, 171, 0.12);
  border-left: 4px solid var(--brand-blue);
  padding-left: 20px !important;
  font-weight: 700 !important;
  font-family: Arial, sans-serif !important;
  color: var(--brand-blue) !important;
}

/* ===================================
   LOADING STATES & ANIMACIONES
   =================================== */

/* Loading spinner keyframe */
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Fade in animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Pulse animation */
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* Loading state para botones */
.btn-loading {
  position: relative;
  color: transparent !important;
  pointer-events: none;
}

.btn-loading::after {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 50%;
  margin-left: -10px;
  margin-top: -10px;
  border: 2px solid currentColor;
  border-radius: 50%;
  border-top-color: transparent;
  animation: spin 0.6s linear infinite;
}

/* Loading skeleton */
.skeleton-loading {
  background: linear-gradient(
    90deg,
    var(--gray-100) 0%,
    var(--gray-200) 50%,
    var(--gray-100) 100%
  );
  background-size: 200% 100%;
  animation: skeleton-loading 1.5s ease-in-out infinite;
}

@keyframes skeleton-loading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Estado de error */
.error-state {
  background: #FEF2F2;
  border: 2px solid #DC2626;
  border-radius: var(--radius);
  padding: var(--space-lg);
  color: #991B1B;
  text-align: center;
}

.error-state::before {
  content: '\26A0\FE0F';
  display: block;
  font-size: 32px;
  margin-bottom: var(--space-md);
}

/* Loading overlay */
.loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.loading-overlay.active {
  opacity: 1;
  visibility: visible;
}

.loading-spinner {
  width: 40px;
  height: 40px;
  border: 4px solid var(--gray-200);
  border-top-color: var(--brand-blue);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}



/* Animación de entrada para scroll */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.animate-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}


/* =========================
   NAVBAR
   ========================= */
nav{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--white);
  border-bottom: 1px solid var(--gray-200);
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px 24px;
  width: 100%;
  max-width: 100%;
}

@media (max-width: 640px){
  nav{
    padding: 8px 16px;
    gap: 12px;
  }
}

nav img{
  height: 65px;
  width: auto;
  display: block;
}

/* Logo más grande en tablets */
@media (max-width: 1024px) {
  nav img {
    height: 85px;
  }
}

/* Logo más grande en móviles */
@media (max-width: 640px) {
  nav img {
    height: 90px;
  }
}

nav > a {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.sideMenuButton{
  margin-left: auto;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  display: none;
  color: var(--brand-blue);
  padding: 8px;
  min-width: 44px;
  min-height: 44px;
  transition: opacity 0.2s ease, transform 0.2s ease;
  background: none;
  border: none;
  align-items: center;
  justify-content: center;
}

.sideMenuButton:hover {
  opacity: 0.7;
}

.sideMenuButton:active {
  opacity: 0.5;
  transform: scale(0.92);
  transition: transform 0.1s ease;
}

.navbar{
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}

.navbar ul{
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
}

.navbar ul li{
  list-style: none;
  display: flex;
  align-items: center;
}

/* Tus anchors están sueltos en el ul; los estilamos directamente */
.navbar a{
  padding: 12px;
  color: var(--brand-blue);
  font-family: Arial, sans-serif;
  font-weight: 400;
  border-bottom: 3px solid transparent;
  transition: color var(--transition-fast), 
              border-color var(--transition-fast),
              background var(--transition-fast);
  text-decoration: none;
  white-space: nowrap;
  line-height: 1.2;
  min-height: 44px;
  display: flex;
  align-items: center;
}
.navbar a:hover{
  color: var(--brand-blue);
  border-bottom-color: var(--brand-blue);
  background: rgba(0, 71, 171, 0.05);
}

.navbar a:active {
  transform: scale(0.97);
  opacity: 0.8;
}

.navbar a:focus,
.navbar a:focus-visible {
  outline: 2px solid #00B8D4;
  outline-offset: 4px;
  border-radius: 4px;
}

/* Indicador de página actual - bold y resaltado */
.navbar a.active {
  color: var(--brand-blue);
  border-bottom-color: var(--brand-blue);
  font-weight: 700;
  font-family: Arial, sans-serif;
  background: rgba(0, 71, 171, 0.08);
}

/* Dropdown menu */
.navbar .dropdown {
  position: relative;
}

.navbar .dropdown-content {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 200px;
  background: var(--white);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  border-radius: 0;
  padding: 8px 0;
  margin-top: 0;
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.navbar .dropdown-content::before {
  content: '';
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 6px solid var(--white);
}

.navbar .dropdown:hover .dropdown-content,
.navbar .dropdown:focus-within .dropdown-content {
  display: block;
  opacity: 1;
  animation: dropdownSlide 0.3s ease forwards;
}

@keyframes dropdownSlide {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

.navbar .dropdown-content a {
  display: block;
  padding: 12px 24px;
  color: var(--text);
  font-family: Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  text-decoration: none;
  border-bottom: none;
  transition: background 0.2s ease, color 0.2s ease;
  white-space: nowrap;
}

.navbar .dropdown-content a:hover {
  background: var(--gray-100);
  color: var(--brand-blue);
  border-bottom: none;
}

.navbar .dropdown-content a:focus-visible {
  background: var(--gray-100);
  color: var(--brand-blue);
  outline: 2px solid #00B8D4;
  outline-offset: -2px;
  border-bottom: none;
}

/* Optimización para pantallas medianas de escritorio */
@media (min-width: 1025px) and (max-width: 1200px) {
  .navbar ul {
    gap: 4px;
  }
  
  .navbar a {
    padding: 10px 8px;
    font-size: 14px;
  }
}

/* Responsive Navbar */
@media (max-width: 1024px){
  .navbar{
    display: none !important;
  }
  .sideMenuButton{
    display: block !important;
  }
}

@media (min-width: 1025px){
  .sideNavigationBar{
    display: none !important;
  }
  .sideMenuButton{
    display: none !important;
  }
}

/* =========================
   SIDE NAV (OFF-CANVAS)
   ========================= */
.sideNavigationBar{
  position: fixed;
  top: 0;
  right: 0;
  width: 240px;
  max-width: 70vw;
  height: 100vh;
  height: 100dvh; /* dynamic viewport height — accounts for mobile browser chrome */
  background: var(--white);
  box-shadow: -2px 0 12px rgba(0,0,0,.15);
  transform: translateX(100%);
  transition: transform .3s ease, visibility .3s ease;
  padding-top: 0;
  z-index: 10000;
  overflow-y: auto;
  display: none;
  flex-direction: column;
  border-radius: 0;
  visibility: hidden; /* Prevent tabbing to off-screen links */
}

@media (max-width: 1024px){
  .sideNavigationBar{
    display: flex;
  }
}

.sideNavigationBar.open{
  transform: translateX(0) !important;
  visibility: visible; /* Allow tabbing when menu is open */
}

.side-nav-header {
  position: relative;
  display: block;
  padding: 12px 16px;
  border-bottom: 2px solid var(--gray-200);
  width: 100%;
  min-height: 60px;
  box-sizing: border-box;
}

.closeButton {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  margin: 0 !important;
  left: auto !important;
}

.sideNavigationBar a{
  display: block;
  padding: 16px 24px;
  color: var(--brand-blue);
  font-family: Arial, sans-serif;
  border-bottom: 1px solid var(--gray-200);
  font-weight: 400;
  font-size: 16px;
  transition: background .2s ease, padding-left .2s ease, color .2s ease;
}

.sideNavigationBar a:hover{
  background: var(--gray-100);
  color: var(--brand-blue);
  padding-left: 32px;
}

.sideNavigationBar a:active{
  background: var(--brand-blue);
  color: var(--white);
}

/* Estado activo en navegación móvil - bold y resaltado */
.sideNavigationBar a.active {
  background: rgba(0, 71, 171, 0.12);
  border-left: 4px solid var(--brand-blue);
  padding-left: 20px;
  font-weight: 700;
  font-family: Arial, sans-serif;
  color: var(--brand-blue);
}

/* Overlay para cerrar menú */
.nav-overlay{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 100dvh; /* dynamic viewport height for mobile */
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
  z-index: 9999;
  pointer-events: none;
  display: none; /* fully removed from render tree when inactive */
}

.nav-overlay.active{
  display: block;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* =========================
   HERO
   ========================= */
.hero{
  position: relative;
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 64px 24px;
  color: var(--white);
  overflow: clip;
}

/* Carrusel hero */
.hero-carousel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

/* Imagen hero como elemento para mejor LCP */
.hero-bg-image.hero-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
}

.hero-bg-image.hero-slide.active {
  opacity: 1;
  z-index: 1;
}

/* Contenido hero sobre la imagen */
.hero-content {
  position: relative;
  z-index: 2;
  max-width: 1400px;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
  text-align: left;
}

.hero-mobile-text {
  display: none;
  position: relative;
  z-index: 1;
  text-align: center;
  color: #ffffff;
  width: 100%;
  max-width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
}

.hero-mobile-text h2 {
  font-size: 42px;
  line-height: 1.2;
  margin: 0 auto;
  font-weight: 700;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
  font-family: 'KPMG Sans Bold', Arial, sans-serif !important;
  letter-spacing: -0.02em;
  text-align: center;
  width: 100%;
}

/* Mejorar contraste de texto (WCAG AA 4.5:1) */
.hero h1,
.hero p {
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

/* Responsive hero */
@media (max-width: 1024px){
  .hero{
    min-height: 50vh;
    padding: 48px 20px;
  }
  .hero-content{
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 640px){
  .hero{
    min-height: 45vh;
    padding: 32px 16px;
  }
  .hero-content{
    display: none;
  }
  .hero-mobile-text {
    display: block;
  }
}

.hero h1{
  margin: 40px 0px;
  font-size: 60px;
  line-height: 1.0;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif;
}

.hero p{
  margin: 0 0 28px;
  font-size: 20px;
  line-height: 1.7;
  color: #FFFFFF;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  max-width: min(850px, 75%);
  letter-spacing: 0.01em;
}

.hero button{
  border: none;
  background: transparent;
  padding: 0;
}

.hero button a,
.hero-cta-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #ffffff;
  color: #0047AB;
  font-weight: 700;
  padding: 8px 24px;
  font-size: 14px;
  min-height: auto;
  border-radius: var(--pill);
  box-shadow: none;
  border: 2px solid #ffffff;
  text-decoration: none;
  transition: transform var(--transition-fast), 
              background var(--transition-fast), 
              color var(--transition-fast), 
              border-color var(--transition-fast),
              box-shadow var(--transition-base);
  text-align: center;
  white-space: nowrap;
  min-width: auto;
  cursor: pointer;
}

.hero-cta-btn::after {
  content: '\2192';
  font-size: 22px;
  transition: transform var(--transition-fast);
}

.hero button a:hover,
.hero-cta-btn:hover{
  background: #f0f0f0;
  color: #003d8f;
  transform: translateY(-1px);
  border-color: #ffffff;
  box-shadow: var(--shadow-lg);
}

.hero-cta-btn:hover::after {
  transform: translateX(4px);
}

/* Cuadro azul para móvil - oculto por defecto */
.hero-mobile-box {
  display: none;
}

/* Variables (ajusta a tu paleta real) */
:root{
  --brand-blue: #00338D;         /* Azul KPMG aproximado */
  --white: #ffffff;
  --pill: 999px;
  --radius: 16px;

  /* Paleta de superficies (ajústalas si ya las tienes) */
  --color-grey-900: #101417;     /* fondo gris muy oscuro */
  --gray-200: #e5e7eb;           /* borde claro */
  --text: #111827;
  --text-muted: #6b7280;
  --color-blue-500: #1450AA;     /* barra y “rectangulo-azul” */
  --focus-ring: #ffbf47;         /* anillo de enfoque accesible */
}

/* =========================
   BLOQUE GRIS de contenido
   ========================= */
.feature-band{
  position: relative;
  margin-top: 20px;
  padding-bottom: 24px;          /* deja espacio para la barra inferior */
  overflow: visible;
}

/* Barra azul inferior a todo el ancho */
.feature-band__bar{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;              /* pegada al borde inferior de la sección */
  height: 56px;           /* ajusta a 48–64 según tu screenshot */
  background: var(--color-blue-500);
  z-index: 0;
}

.contenedor-flex{
  max-width: 1400px;
  margin: 24px auto 40px;
  padding: 0 24px;
  width: 100%;
}

@media (max-width: 640px){
  .contenedor-flex{
    padding: 0 16px;
    margin: 16px auto 24px;
  }
  .rectangulo-azul{
    margin: 0;
  }
}

.rectangulo-azul{
  background: var(--color-blue-500);
  border-radius: 0;
  margin: 0;
  padding: 14px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  cursor: default;
  user-select: none;
  pointer-events: none;
}

.rectangulo-azul p {
  color: white;
  font-weight: 700;
  font-size: 16px;
  margin: 0;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  word-break: break-word;
}

@media (max-width: 768px) {
  .rectangulo-azul {
    padding: 12px 16px;
  }
  .rectangulo-azul p {
    font-size: 14px;
    text-align: center;
    letter-spacing: 0.05em;
  }
}

.rectangulo-gris{
  margin-top: 18px;
  background: var(--color-grey-900); /* <- eliminé la coma y el '1' inválido */
  border: 1px solid var(--gray-200);
  border-radius: 0;
  padding: 28px;
  display: grid;
  grid-template-columns: 1fr 1.3fr; /* izquierda y derecha */
  gap: 28px;
  align-items: start; /* Alinea el contenido al inicio verticalmente */
}

/* Asegurar que el contenido siempre esté alineado a la izquierda por defecto */
.contenido-izquierda,
.contenido-derecha {
  text-align: left;
}

/* Responsive: columnas apiladas */
@media (max-width: 1024px){
  .rectangulo-gris{
    grid-template-columns: 1fr;
    padding: 20px;
  }
}

@media (max-width: 768px){
  .rectangulo-gris{
    padding: 16px;
  }
}

/* Tipografía izquierda */
.contenido-izquierda p{
  margin: 0 0 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--text-muted);
}

.contenido-izquierda h2{
  margin: 0 0 24px;
  font-size: 24px;
  font-weight: 700;
  color: #000000;
  letter-spacing: -0.02em;
}

/* H1 multiline */
.title-multiline{
  margin: 24px 0px;
  color: var(--heading-1-color);
  display: inline-block;
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif;
  font-size: clamp(38px, 12vw, 60px) !important;
  letter-spacing: 0;
  line-height: 0.7;
  width: 100%;
  text-align: left;
}
@media (min-width: 769px) {
  .title-multiline {
    font-size: clamp(42px, 5.5vw, 60px) !important;
    line-height: 0.8;
  }
}
.title-multiline span{
  display: block;
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
}

/* Tipografía derecha */
.contenido-derecha p{
  margin: 0px 0px 16px;
  color: var(--regular-text-color);
  font-family: Arial, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
  text-align: justify;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
/* Espaciado entre párrafos (mejor que usar <br>) */
.contenido-derecha p + p{
  margin-top: 16px;
}

/* Botonera */
.botones{
  display: flex;
  gap: 16px;
  margin-top: 20px;
  flex-wrap: wrap;
  background: transparent; /* Sin fondo */
  padding: 0; /* Sin padding adicional */
}

/* Botones se encogen antes de saltar a nueva línea */
.botones .btn-outline {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  text-align: center;
  justify-content: center;
}

/* Botones dentro del bloque gris (feature-band): sin fondo blanco */
.feature-band nav.botones {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.feature-band .btn-outline,
.feature-band .rectangulo-gris .btn-outline,
.feature-band .contenido-derecha .btn-outline,
.feature-band nav.botones .btn-outline {
  background: transparent !important;
  box-shadow: none !important;
  border-color: #1E49E2 !important;
  color: #1E49E2 !important;
}

.feature-band .btn-outline:hover,
.feature-band .rectangulo-gris .btn-outline:hover,
.feature-band .contenido-derecha .btn-outline:hover,
.feature-band nav.botones .btn-outline:hover {
  background: #1E49E2 !important;
  border-color: #1E49E2 !important;
  color: #ffffff !important;
}

.botones p{
  margin: 0;
  padding: 0;
  background: transparent;
}

.btn-outline{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  border: 2px solid var(--brand-blue);
  background: transparent;
  color: var(--brand-blue);
  padding: 12px 16px;
  min-height: 44px;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--transition-fast),
              color var(--transition-fast), 
              border-color var(--transition-fast),
              transform var(--transition-fast),
              box-shadow var(--transition-fast);
}

.btn-outline::after {
  content: '\2192';
  font-size: 18px;
  transition: transform var(--transition-fast);
}

.btn-outline:hover{
  background: var(--brand-blue);
  color: var(--white);
  border-color: var(--brand-blue);
  box-shadow: var(--shadow-md);
}

.btn-outline:active {
  transform: scale(0.95);
  transition: transform 0.1s ease;
}

.btn-outline:hover::after {
  transform: translateX(3px);
}

/* CTA tipo KPMG UK - minimalista con redondeado */
.cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-decoration: none;
  appearance: none;
  border-radius: 999px;
  border: 2px solid var(--brand-blue);
  background: transparent;
  color: var(--brand-blue);
  padding: 10px 24px;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
  transition: background var(--transition-fast),
              color var(--transition-fast),
              border-color var(--transition-fast),
              transform var(--transition-fast);
}

.cta::after {
  content: '\2192';
  font-size: 18px;
  transition: transform var(--transition-fast);
}

.cta:hover{
  background: var(--brand-blue);
  color: var(--white);
  border-color: var(--brand-blue);
}

.cta:hover::after {
  transform: translateX(3px);
}

/* Feedback al presionar */
.cta:active{
  transform: scale(0.98);
}

/* Accesibilidad: foco por teclado */
.cta:focus-visible{
  outline: 2px solid var(--brand-blue);
  outline-offset: 3px;
}

/* Evita el púrpura de links visitados */
.cta:visited{
  color: var(--brand-blue);
}



/* =========================
   Footer (exacto como la imagen 2)
   ========================= */

.footer-gris{
  background: var(--gray-100);
  border-top: 1px solid var(--gray-200);
  margin-top: 40px;
  width: 100%;
}

/* Mobile first approach */
.footer-wrap{
  max-width: 1400px;
  margin: 0 auto;
  padding: 28px 24px;
  display: grid;
  grid-template-columns: 1fr; /* Base: móvil */
  gap: 18px;
  align-items: start;
}

.footer-col .titulo{
  margin: 0 0 12px;
  font-size: 16px;
  color: var(--brand-blue);
  font-family: Arial, sans-serif;
  font-weight: bold;
  text-align: center;
}

/* Botones pill con borde azul */
.footer-actions{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}
.footer-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 2px solid var(--brand-blue);
  background: var(--white);
  color: var(--brand-blue);
  padding: 6px 18px;
  border-radius: 9999px;
  font-weight: 700;
  text-align: center;
  transition: background .2s ease, color .2s ease, transform .12s ease, box-shadow .2s ease, border-color .2s ease;
}

.footer-btn::after {
  content: '\2192';
  font-size: 18px;
  transition: transform var(--transition-fast);
}

.footer-btn:hover,
.footer-actions .btn-outline:hover{
  background: var(--brand-blue);
  color: var(--white);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,51,141,.24);
  border-color: var(--brand-blue);
}

.footer-btn:active {
  transform: scale(0.95) translateY(0);
  box-shadow: 0 2px 6px rgba(0,51,141,.15);
  transition: transform 0.1s ease, box-shadow 0.1s ease;
}

.footer-btn:hover::after {
  transform: translateX(3px);
}

/* Insignias + logo KTSA — fila completa debajo de las 4 columnas */
.footer-badges{
  display: flex;
  gap: 28px;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  margin: 0;
  padding: 24px 0 4px;
  grid-column: 1 / -1;
  border-top: 1px solid rgba(0,51,141,.10);
}
.footer-badges img{
  height: 76px;
  width: auto;
  object-fit: contain;
  flex: 0 1 auto;
  max-width: 220px;
}

/* Ya no se usa footer-brand aparte */
.footer-brand{
  display: none;
}

/* Col 2 y 3 (oficinas) */
.col-office h4{
  margin: 0 0 8px;
  font-size: calc(1em + 5pt);
  color: var(--brand-blue);
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
  font-weight: 700;
}
.col-office p{
  margin: 0;
  color: var(--brand-blue);
  font-size: 15px;
  line-height: 1.55;
}

/* Col 4 (contacto) */
.col-contact h4{
  margin: 0 0 8px;
  font-size: calc(1em + 5pt);
  color: var(--brand-blue);
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
  font-weight: 700;
}
.col-contact h4.social-heading{
  margin-top: 4px;
}

.col-contact a{
  color: var(--brand-blue);
  font-weight: 300;
  font-size: 15px;
  text-decoration: none;
  display: inline-block;
  margin-bottom: 8px;
  font-family: Arial, sans-serif;
}

.col-contact a:hover{
  text-decoration: underline;
}

.footer-link{
  color: var(--brand-blue);
  font-weight: 700;
  text-decoration: none;
}
.footer-link:hover{
  text-decoration: underline;
}

/* Col 5 (social) */
.col-social h4{
  margin: 0 0 10px;
  font-size: 18px;
  color: var(--text);
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
  font-weight: 700;
}
.social-row{
  display: flex;
  gap: 12px;
  align-items: center;
}
.social-btn{
  display: inline-block;
  line-height: 0;
  transition: opacity .2s ease, transform .2s ease;
}
.social-btn:hover{
  opacity: 0.8;
  transform: scale(1.05);
}
.social-btn img{
  display: block;
}

/* Banda legal inferior */
.footer-legal{
  border-top: 1px solid var(--gray-200);
  background: var(--gray-100);
  padding: 8px 0 26px;
}
.footer-legal p{
  max-width: 1400px;
  margin: 8px auto;
  padding: 0 24px;
  color: var(--text-muted);
  font-size: 13px;
  line-height: 1.55;
}

@media (min-width: 1025px){
  .footer-legal{
    padding: 8px 24px 26px;
  }
  .footer-legal p{
    max-width: 1400px;
    margin: 8px auto;
    padding: 0;
    margin-left: calc(31.91% + 3px);
  }
}
.footer-legal a{
  color: var(--brand-blue);
  font-weight: 700;
  text-decoration: none;
}
.footer-legal a:hover{
  text-decoration: underline;
}

/* Responsive footer */
.social-btn { width: 44px; height: 44px; }

/* Tablet */
@media (min-width: 641px) and (max-width: 1024px){
  .footer-wrap { 
    grid-template-columns: 1fr 1fr; 
    gap: 20px;
  }
}

/* Desktop */
@media (min-width: 1025px){
  .footer-wrap {
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    gap: 28px;
  }
}



/* =========================
   Banda azul - estilos adicionales
   ========================= */

/* Asegura el posicionamiento relativo del contenedor existente */
.feature-band .contenedor-flex{
  position: relative;
  z-index: 2;             /* por encima de la franja azul */
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Card gris que se superpone sobre la barra azul */
.feature-band .rectangulo-gris{
  background: #EDEFF2;    /* gris claro similar al mock */
  border: 1px solid var(--gray-300);
  border-radius: 0;
  box-shadow: 0 2px 0 rgba(0,0,0,0.06);
  padding: 28px;
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 28px;

  /* Superposición sutil sobre la barra azul */
  margin-bottom: 24px;     /* espacio entre card y borde inferior */
}

/* Pequeños “caps” azules laterales (como en la imagen) */
.feature-band__cap{
  position: absolute;
  bottom: 0;              /* alineados con la franja azul */
  width: 110px;           /* ancho del cap azul */
  height: 24px;
  background: var(--brand-blue);
  z-index: 1;             /* por encima de la barra y por debajo del card */
  border-radius: 6px 6px 0 0;
}
.feature-band__cap.cap--left{ left: 24px; }   /* ajuste fino del offset */
.feature-band__cap.cap--right{ right: 24px; } /* ajusta según tu gusto */

/* Botones pill dentro del card (para que se parezcan) */
.feature-band .cta{
  display: inline-block;
  border-radius: 9999px;
  border: 2px solid var(--brand-blue);
  background: var(--white);
  color: var(--brand-blue);
  padding: 10px 18px;
  font-weight: 700;
  box-shadow: 0 0 0 0 rgba(0,51,141,0);
  transition: background .2s ease, color .2s ease, transform .12s ease, box-shadow .2s ease, border-color .2s ease;
}
.feature-band .cta + .cta{
  margin-left: 12px;
}
.feature-band .cta:hover{
  background: var(--brand-blue);
  color: var(--white);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,51,141,.24);
  border-color: var(--brand-blue);
}

/* Tipografía: títulos fuertes en el lado izquierdo */
.feature-band .contenido-izquierda h1:not(.title-multiline),
.feature-band .contenido-izquierda h2:not(.title-multiline){
  margin: 4px 0;
  font-family: var(--font-title);
  font-weight: 700;
  font-size: clamp(24px, 4.4vw, 36px);
  line-height: 1.15;
  color: var(--text);
}
.feature-band .contenido-izquierda p,
.feature-band .contenido-izquierda h2{
  margin: 0 0 8px;
  color: #000000;
  font-weight: 700;
  letter-spacing: 0;
}

.feature-band .contenido-derecha p{
  margin: 0;
  color: var(--text);
  font-size: 16px;
}

/* Responsivo */
@media (max-width: 768px){
  .feature-band .rectangulo-gris{ grid-template-columns: 1fr; }
  .feature-band .contenido-izquierda,
  .feature-band .contenido-derecha{
    text-align: center;
  }
  .feature-band .title-multiline{
    text-align: center;
  }
  .feature-band .botones{
    justify-content: center;
  }
}
@media (max-width: 640px){
  .feature-band__bar{ height: 40px; }
  .feature-band__cap{ display: none; } /* en móvil usa solo la franja */
  .feature-band .cta{ display: block; margin: 10px 0 0; }
}



/* =========================
   Why KTSA — Landing section
   ========================= */
.why-ktsa{
  padding: 28px 0 12px;
  background: var(--white);
}

.why-wrap{
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  width: 100%;
}

@media (max-width: 640px){
  .why-wrap{
    padding: 0 16px;
  }
}

.why-title{
  margin: 40px 0px;
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: clamp(36px, 6.5vw, 56px);
  color: var(--brand-blue);
  letter-spacing: 0;
}

@media (max-width: 640px){
  .why-title{
    text-align: left;
  }
}

/* Layout principal */
.why-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: start;
}

/* Columna derecha: Logo + Texto */
.why-right-column{
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
  justify-content: flex-start;
}

/* Placeholder de video */
.why-video{
  position: relative;
  background: #E6E7EB;
  border: 1px solid var(--gray-300);
  border-radius: 0;
  height: 100%;
  min-height: 320px;
  max-height: 450px;
  display: flex;
  align-items: stretch;
  overflow: visible;
}

.why-video iframe{
  width: 100%;
  height: 100%;
  border-radius: 0;
}

/* Video thumbnail link */
.video-thumbnail {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
  text-decoration: none;
}

.video-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 6px;
  display: block;
}

.video-thumbnail .play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease;
}

.video-thumbnail:hover .play-button {
  transform: translate(-50%, -50%) scale(1.1);
}

.video-thumbnail .play-button svg {
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
}

/* Overlay con título del video */
.video-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, transparent 100%);
  padding: 24px 20px 16px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.video-thumbnail:hover .video-overlay {
  opacity: 1;
}

.video-title {
  color: white;
  font-size: 18px;
  font-weight: 700;
  font-family: var(--font-title);
  text-transform: uppercase;
  letter-spacing: 0;
  display: block;
}

/* Carrusel de videos - Diseño premium */
.video-carousel-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
  width: 100%;
}

.video-carousel {
  flex: 1;
  overflow: hidden;
  border-radius: 0;
  height: 100%;
  min-height: 320px;
  position: relative;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  background: #000;
}

/* Eliminar borde decorativo para estilo minimalista */
.video-carousel::before {
  display: none;
}

.video-track {
  display: flex;
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  height: 100%;
  width: 100%;
}

.video-slide {
  min-width: 100%;
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  display: block;
}

.video-slide .video-thumbnail {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}

.video-slide .video-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.video-slide .video-thumbnail:hover img {
  transform: scale(1.05);
}

/* Botones minimalistas sobre el carrusel */
.video-carousel-btn {
  appearance: none;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  border: 2px solid rgba(0, 71, 171, 0.2);
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  aspect-ratio: 1;
  flex-shrink: 0;
  border-radius: 50%;
  color: var(--brand-blue);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  opacity: 0;
}

.video-carousel:hover .video-carousel-btn {
  opacity: 1;
}

/* Mostrar AMBOS botones cuando se navega por teclado dentro del carrusel */
.video-carousel:focus-within .video-carousel-btn:not(:disabled) {
  opacity: 1;
}

/* En dispositivos táctiles, mostrar siempre los botones */
@media (hover: none) and (pointer: coarse) {
  .video-carousel-btn {
    opacity: 1;
  }
}

.video-prev {
  left: 16px;
}

.video-next {
  right: 16px;
}

.video-carousel-btn:hover:not(:disabled) {
  background: var(--brand-blue);
  color: var(--white);
  transform: translateY(-50%) scale(1.05);
}

.video-carousel-btn:active:not(:disabled) {
  transform: translateY(-50%) scale(0.98);
}

.video-carousel-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* Mantener visible cuando tiene focus aunque esté deshabilitado */
.video-carousel-btn:focus-visible {
  opacity: 1 !important;
}

.video-carousel-btn svg {
  width: 20px;
  height: 20px;
}

/* Indicadores estilo KPMG UK - Líneas horizontales */
.video-indicators {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  margin-top: 16px;
}

.video-indicator {
  appearance: none;
  position: relative;
  width: 12px;
  height: 12px;
  border: none;
  border-radius: 50%;
  background: #D7DEEA;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 0;
  overflow: hidden;
}

/* Área de toque ampliada para accesibilidad */
.video-indicator::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
}

/* Efecto de relleno progresivo al hacer hover */
.video-indicator::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: var(--brand-blue);
  border-radius: 50%;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.video-indicator:hover:not(.active)::after {
  width: 50%;
}

.video-indicator:hover:not(.active) {
  background: #B8C5D9;
}

/* Estado activo con animación de relleno completo */
.video-indicator.active {
  background: var(--brand-blue);
  width: 16px;
  height: 16px;
  box-shadow: 0 2px 8px rgba(0, 71, 171, 0.3);
}

.video-indicator.active::after {
  width: 100%;
  animation: fillIndicator 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes fillIndicator {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

/* Efecto de focus para accesibilidad */
.video-indicator:focus-visible {
  outline: 2px solid var(--brand-blue);
  outline-offset: 4px;
}

/* Contador minimalista - eliminado: no se usa data-count */

/* Logo KTSA Explore */
.why-logo{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  background: var(--white);
  margin-top: -120px;
}

.why-logo img{
  max-width: 100%;
  width: clamp(280px, 70vw, 500px);
  height: auto;
  max-height: 600px;
  object-fit: contain;
}
.why-video video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 6px;
}
/* Botón play (triángulo azul) */
.play-btn{
  appearance: none;
  border: none;
  background: transparent;
  cursor: pointer;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
  transition: transform .12s ease, box-shadow .2s ease;
}
.play-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
}
.play-triangle{
  width: 0;
  height: 0;
  border-left: 30px solid var(--brand-blue);
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  transform: translateX(4px);
}

/* Wordmark “exploreKTSA” */
.why-wordmark{
  padding-top: 12px;
  user-select: none;
}
.why-wordmark .explore{
  font-family: var(--font-title);
  font-weight: 700;
  font-size: clamp(26px, 4vw, 40px);
  color: var(--brand-blue);
  margin-right: 6px;
}
.why-wordmark .ktsa{
  font-family: var(--font-title);
  font-weight: 700;
  font-size: clamp(26px, 4vw, 40px);
  color: #6F89D7; /* azul claro para contraste con explore */
  letter-spacing: 0;
}
.why-wordmark .tagline{
  margin-top: 6px;
  color: var(--text-muted);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0;
}


/* Tarjeta de contenido (afinada al mock) */
.why-card{
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 0;
  box-shadow: var(--shadow-md);
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
  margin-top: -40px;
}

.why-card:hover{
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
}

.why-card p{
  margin: 16px 0px;
  font-size: 16px;
  color: var(--text);
  line-height: 1.5;
}

.why-card .emphasis{
  font-weight: 700;
  color: var(--text);
  margin: 16px 0px;
  font-size: 16px;
}

/* Botón CTA */
.why-cta-btn{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: auto;
  background: #1E49E2;
  color: var(--white);
  padding: 12px 16px;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 16px;
  border: 2px solid #1E49E2;
  letter-spacing: 0;
  text-decoration: none;
  transition: all .2s ease;
  text-align: center;
  align-self: flex-start;
}

.why-cta-btn .material-icons{
  font-size: 18px;
  vertical-align: middle;
}

.why-cta-btn:hover{
  background: #1639b5;
  border-color: #1639b5;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(30, 73, 226, .35);
  cursor: pointer;
}

.why-cta-btn:active{
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(30, 73, 226, .25);
}

/* Estilos por defecto - Desktop */
.why-title-mobile,
.why-card-mobile {
  display: none;
}

.why-title-desktop,
.why-card-desktop {
  display: block;
}

/* Colores para título móvil */
.why-title-mobile {
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif !important;
  font-weight: 700;
}

.why-cyan {
  color: #00B8D4;
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif !important;
}

.why-blue {
  color: #0047AB;
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif !important;
}

.cta-primary:hover{
  background: var(--brand-blue-hover, #184BB9); /* usa variable si ya la definiste */
  border-color: var(--brand-blue-hover, #184BB9);
  filter: brightness(1.03);
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(24,75,185,.24);
}

.cta-primary:active{
  transform: translateY(0);
  background: var(--brand-blue-active, #0B3C89);
}

.cta-primary:focus-visible{
  outline: 3px solid #9ec3ff;             /* accesible en teclado */
  outline-offset: 2px;
}

/* Responsivo (opcional): CTA a ancho completo en móvil */
@media (max-width: 640px){
  .why-card{ padding: 16px; }
  .cta-primary{ width: 100%; text-align: center; }
}

/* Responsivo */
@media (max-width: 1100px){
  .why-grid{
    grid-template-columns: 1fr;
    gap: 24px;
  }
  
  .why-video {
    min-height: 380px;
    max-height: 450px;
  }
  
  .why-logo {
    display: flex;
    margin-top: 32px;
    margin-bottom: 24px;
    padding: 0 24px;
    justify-content: center;
  }
  
  .why-logo img {
    max-width: 100%;
    max-height: 350px;
    width: clamp(280px, 70vw, 450px);
    margin: 0 auto;
  }
  
  .video-carousel-btn {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    aspect-ratio: 1 !important;
    flex-shrink: 0;
    opacity: 1;
  }
  
  .video-carousel-btn svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
  }
  
  .video-prev {
    left: 12px;
  }
  
  .video-next {
    right: 12px;
  }
  
  /* Ocultar indicadores cuadrados en tablets y móviles */
  .video-indicators {
    display: none !important;
  }
}

@media (max-width: 640px){
  .why-ktsa {
    padding: 20px 0 12px;
  }
  
  .why-grid{
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .why-video{ 
    height: 280px;
    min-height: 280px;
  }
  
  .why-logo {
    margin-top: 24px;
    margin-bottom: 20px;
    padding: 0 16px;
  }
  
  .why-logo img {
    max-width: 100%;
    max-height: 140px;
  }
  
  .why-card {
    padding: 20px;
  }
  
  .why-card p {
    font-size: 14px;
    margin: 0 0 12px;
    text-align: justify;
  }
  
  .why-cta-btn {
    width: 100%;
    padding: 12px 20px;
  }
  
  .video-carousel {
    min-height: 220px;
    border-radius: 8px;
  }
  
  .video-carousel-btn {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    aspect-ratio: 1 !important;
    flex-shrink: 0;
    opacity: 1;
    background: rgba(255, 255, 255, 0.95);
  }
  
  .video-carousel-btn svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
  }
  
  .video-prev {
    left: 6px;
  }
  
  .video-next {
    right: 6px;
  }
  
  .video-indicators {
    gap: 6px;
  }
  
  .video-indicator {
    width: 6px;
    height: 6px;
    border-radius: 50%;
  }
  
  .video-indicator.active {
    width: 18px;
    border-radius: 9px;
  }
  
  .video-carousel::after {
    display: none;
  }
  
  .video-carousel-wrapper {
    gap: 12px;
  }
  
  .video-title {
    font-size: 14px;
  }
  
  .video-overlay {
    padding: 16px 12px 10px;
  }
  
  .play-button svg {
    width: 56px;
    height: 40px;
  }
}


/* =========================
   What We Do — Landing
   ========================= */
.what-we-do{
  background: var(--white);
  padding: 28px 0 32px;
}

.wwd-wrap{
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  width: 100%;
}

@media (max-width: 640px){
  .wwd-wrap{
    padding: 0 16px;
  }
}

/* Encabezados */
.wwd-title{
  margin: 40px 0px 16px;
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: clamp(34px, 3.8vw, 51px);
  color: var(--brand-blue);
  letter-spacing: -0.04em;
  white-space: normal;
}
.wwd-subtitle{
  margin: 0px 0px 16px;
  color: var(--text);
  font-size: 15px;
}

/* Estilos por defecto - Desktop */
.wwd-title-mobile,
.wwd-subtitle-mobile {
  display: none;
}

.wwd-title-desktop,
.wwd-subtitle-desktop {
  display: block;
}

/* CRÍTICO: Forzar spans internos a inline */
.wwd-title-desktop span,
.wwd-title-desktop .wwd-title-accent {
  display: inline !important;
}

.wwd-title-desktop {
  max-width: 100%;
  line-height: 1.2;
}

/* Colores para título móvil */
.wwd-cyan {
  color: #00B8D4;
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif !important;
}

.wwd-blue {
  color: #0047AB;
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif !important;
}

.wwd-title-mobile {
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif !important;
  font-weight: 700;
}

@media (max-width: 640px){
  .wwd-title,
  .wwd-subtitle{
    text-align: center;
  }
  
  .wwd-title {
    font-size: clamp(32px, 8vw, 42px) !important;
    white-space: normal !important;
  }
}

/* Grilla de tarjetas - Base mobile-first */
.wwd-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: stretch;
  margin-bottom: 24px;
}

.wwd-card{
  background: transparent;
  perspective: 1000px;
  height: 320px;
  border: none;
  padding: 0;
  box-shadow: none;
  cursor: pointer;
  transition: transform 0.2s ease;
  position: relative;
}

/* Desktop: card con aspect-ratio vertical - estática sin hover */
@media (min-width: 1025px){
  .wwd-card{
    perspective: none !important;
    height: auto !important;
    aspect-ratio: 3 / 4 !important;
    background: var(--white) !important;
    border: 3px solid var(--brand-blue) !important;
    overflow: hidden !important;
    box-shadow: var(--shadow-md) !important;
  }
}

.wwd-card:active{
  transform: scale(0.98);
}

.wwd-card-inner{
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.6s;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Desactivar flip en desktop - mostrar todo en una sola card */
@media (min-width: 1025px){
  .wwd-card-inner{
    transform-style: flat !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }
}

.wwd-card-front,
.wwd-card-back{
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  top: 0;
  left: 0;
  padding: 32px 24px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

.wwd-card-front{
  background: var(--white);
  border: 3px solid var(--brand-blue);
  box-shadow: var(--shadow-md);
  position: relative;
  overflow: visible;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

/* En desktop: posición relativa sin flip */
@media (min-width: 1025px){
  .wwd-card-front{
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    padding: 20px 16px 12px 16px !important;
    border: none !important;
    box-shadow: none !important;
  }
}

/* Rectángulo azul cobalto en el borde izquierdo a la altura del título */
.wwd-card-front::before{
  content: '';
  position: absolute;
  top: 80px;
  left: -3px;
  width: 6px;
  height: 50px;
  background: var(--brand-blue);
  border-radius: 3px 0 0 3px;
}

/* Ajustar rectángulo en desktop sin flip */
@media (min-width: 1025px){
  .wwd-card-front::before{
    display: block !important;
    left: 0 !important;
    top: 80px !important;
    height: 40px !important;
  }
}

.wwd-card-back{
  background: var(--brand-blue);
  color: var(--white);
  transform: rotateY(180deg);
  box-shadow: 0 8px 20px rgba(0, 71, 171, .3);
  justify-content: space-between;
  align-items: center;
  text-align: center;
  border: 3px solid var(--brand-blue);
  pointer-events: auto;
  padding: 20px 18px !important;
  overflow: hidden;
}

/* En desktop: mostrar contenido sin flip */
@media (min-width: 1025px){
  .wwd-card-back{
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    flex: 1 !important;
    transform: none !important;
    backface-visibility: visible !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 16px 20px 16px !important;
    align-items: flex-start !important;
    text-align: left !important;
    justify-content: space-between !important;
  }
  
  .wwd-card-back .wwd-card-title{
    display: none !important;
  }
  
  .wwd-card-back .wwd-card-text{
    color: #333333 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin-bottom: 16px !important;
    flex: 1 !important;
  }
  
  .wwd-card-back .wwd-card-link{
    background: var(--brand-blue) !important;
    color: var(--white) !important;
    padding: 10px 18px !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    align-self: center !important;
    margin-top: auto !important;
    white-space: nowrap !important;
    border: 2px solid var(--brand-blue) !important;
    transition: all 0.3s ease !important;
  }
  
  .wwd-card-back .wwd-card-link:hover{
    background: #003580 !important;
    color: var(--white) !important;
    border-color: #003580 !important;
  }
  
  .wwd-card-back .wwd-card-link:active{
    background: #002a66 !important;
    color: var(--white) !important;
    transform: scale(0.98) !important;
  }
}

.wwd-card-icon{
  width: 64px;
  height: 64px;
  background: transparent;
  border: 3px solid var(--brand-blue);
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin-bottom: 16px;
  flex-shrink: 0;
}

/* Estilos de iconos y hints en desktop sin flip */
@media (min-width: 1025px){
  .wwd-card-icon{
    width: 48px !important;
    height: 48px !important;
    border: 3px solid var(--brand-blue) !important;
    border-radius: 50% !important;
    display: grid !important;
    pointer-events: auto !important;
    margin-bottom: 16px !important;
    flex-shrink: 0 !important;
  }
  
  .flip-hint{
    display: none !important;
  }
}
.wwd-card-icon img{
  width: 60%;
  height: 60%;
  object-fit: contain;
}
.icon-square{
  width: 16px; height: 16px;
  background: var(--brand-blue);
}
.icon-shield{
  width: 0; height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 16px solid var(--brand-blue);
  transform: translateY(-2px);
}
.icon-target{
  width: 18px; height: 18px;
  border: 3px solid var(--brand-blue);
  border-radius: 50%;
  box-shadow: inset 0 0 0 3px rgba(0,51,141,.18);
}
.icon-code{
  width: 0; height: 0;
  border-left: 10px solid var(--brand-blue);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  transform: rotate(15deg);
}

.wwd-card-title{
  margin: 0 0 8px;
  font-family: var(--font-title);
  font-weight: 700;
  font-size: 18px;
  color: var(--brand-blue);
}

.wwd-card-front .wwd-card-title{
  margin: 16px 0 12px;
  font-size: clamp(22px, 3.8vw, 28px);
}

/* Ajustar título en desktop sin flip */
@media (min-width: 1025px){
  .wwd-card-front .wwd-card-title{
    font-size: 18px !important;
    margin: 0 0 16px 0 !important;
    line-height: 1.25 !important;
    flex-shrink: 0 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
  }
}

.wwd-card-back .wwd-card-title{
  margin: 0 0 10px;
  font-size: clamp(17px, 3vw, 20px);
  color: var(--white);
  flex-shrink: 0;
  line-height: 1.25;
}

.flip-hint{
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--brand-blue);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
}

.flip-hint::after{
  content: '\21BB';
  font-size: 16px;
  display: inline-block;
  animation: rotate-hint 2s ease-in-out infinite;
}

@keyframes rotate-hint {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(180deg); }
}

.wwd-card-text{
  margin: 0;
  color: #E6ECF5;
  font-size: 12.5px;
  line-height: 1.5;
  flex: 1 1 auto;
  overflow: visible;
}

.wwd-card-link{
  margin-top: 12px;
  padding: 10px 20px;
  color: var(--white) !important;
  background: rgba(0, 0, 0, 0.2) !important;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
  border: 2px solid var(--white) !important;
  border-radius: 9999px;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  display: inline-block;
  flex-shrink: 0;
  pointer-events: auto;
  cursor: pointer;
  position: relative;
  z-index: 10;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
}

.wwd-card-link:hover{
  background: var(--white) !important;
  color: var(--brand-blue) !important;
  transform: translateY(-8px) scale(1.1) !important;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4) !important;
  border-color: var(--white) !important;
}

.wwd-card-link:active{
  background: var(--white) !important;
  color: var(--brand-blue) !important;
  transform: translateY(-2px) scale(1.05) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3) !important;
}

.wwd-card-link:focus{
  outline: 3px solid var(--white);
  outline-offset: 2px;
}

/* Mejorar accesibilidad de navegación */
.sideNavigationBar a:focus{
  outline: none;
  background: rgba(0, 71, 171, 0.1);
  border-left: 4px solid #0047AB;
  padding-left: 20px;
}

.sideNavigationBar a:focus-visible{
  outline: none;
  background: rgba(0, 71, 171, 0.15);
  border-left: 4px solid #0047AB;
  padding-left: 20px;
  color: #0047AB;
  font-weight: 700;
}

.hero-cta-btn:focus,
.why-cta-btn:focus,
.btn-outline:focus{
  outline: 3px solid #00B8D4;
  outline-offset: 4px;
  box-shadow: 0 0 0 6px rgba(0, 184, 212, 0.2);
}

/* Focus visible para botones principales */
.hero-cta-btn:focus-visible,
.why-cta-btn:focus-visible,
.btn-outline:focus-visible {
  outline: 3px solid #00B8D4;
  outline-offset: 4px;
  box-shadow: 0 0 0 6px rgba(0, 184, 212, 0.2);
}

/* Focus visible para botones principales */
.hero-cta-btn:focus-visible,
.why-cta-btn:focus-visible,
.btn-outline:focus-visible,
.cta:focus-visible {
  outline: 3px solid #00B8D4;
  outline-offset: 4px;
  box-shadow: 0 0 0 6px rgba(0, 184, 212, 0.2);
}

.wwd-link{
  margin-top: auto;
  color: var(--brand-blue);
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
}

.wwd-link:hover{
  text-decoration: underline;
}

/* Banner inferior */
.wwd-banner{
  display: block;
  position: relative;
  width: 100%;
  margin-top: 32px;
  min-height: 280px;
  overflow: hidden;
}

.wwd-banner-content{
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  background: #1E49E2;
  color: var(--white);
  padding: 20px 24px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  text-align: left;
  z-index: 2;
  max-width: none;
}

.wwd-banner-content h3{
  margin: 0 0 12px;
  font-family: var(--font-title);
  font-weight: 700;
  font-size: clamp(20px, 3.5vw, 28px);
  line-height: 1.3;
}

.wwd-banner-content p{
  margin: 16px 0px;
  color: #E6ECF5;
  font-size: 16px;
  line-height: 1.5;
}

.wwd-banner-image{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.wwd-banner-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.wwd-banner-cta{
  display: inline-block;
  border-radius: 9999px;
  background: #1E49E2;
  color: var(--white);
  padding: 12px 16px;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  border: 2px solid var(--white);
  transition: transform .12s ease, box-shadow .2s ease, background .2s ease;
}

.wwd-banner-cta:hover{
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(30,73,226,.4);
  background: #1a3fc7;
}

/* Responsivo - Sistema híbrido: Grid para desktop, Position para mobile */
@media (min-width: 1024px){
  .wwd-banner{
    display: grid;
    align-items: start;
    grid-auto-flow: column;
    grid-template-columns: repeat(10, 1fr);
    grid-template-rows: 1fr;
    min-height: 280px;
    max-height: 320px;
    position: static;
  }
  
  .wwd-banner-content{
    position: static;
    grid-column: 1 / 5;
    grid-row: 1;
    padding: 28px 40px;
    max-width: 600px;
    align-self: start;
    margin-top: 20px;
    bottom: auto;
    left: auto;
    right: auto;
  }
  
  .wwd-banner-image{
    position: static;
    grid-column: 1 / 11;
    grid-row: 1;
    min-height: 280px;
    max-height: 320px;
  }
  
  .wwd-banner-image img{
    object-fit: cover;
    object-position: center center;
    height: 100%;
  }
}

/* Tablets y móviles: 1 columna */
@media (max-width: 1024px){
  .wwd-grid{ 
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  
  .wwd-banner{
    min-height: 350px;
  }
  
  .wwd-banner-content{
    padding: 24px 32px;
    max-width: 540px;
    left: 24px;
    right: 24px;
    bottom: 24px;
  }
  
  .wwd-banner-content h3 {
    font-size: 24px;
    line-height: 1.3;
  }
  
  .wwd-banner-content p {
    font-size: 16px;
    line-height: 1.5;
  }
}

/* Tablets medianas: ajuste de fuentes */
@media (min-width: 769px) and (max-width: 1024px) {
  .wwd-card-front .wwd-card-title {
    font-size: 20px !important;
  }
  
  .wwd-card-text {
    font-size: 15px !important;
  }
  
  .wwd-card-link {
    font-size: 15px !important;
    padding: 14px 32px !important;
  }
}

@media (max-width: 640px){
  .wwd-grid{ 
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  
  .wwd-banner{
    min-height: 280px;
  }
  
  .wwd-banner-content h3 {
    font-size: 22px;
    line-height: 1.3;
  }
  
  .wwd-banner-content p {
    font-size: 15px;
    line-height: 1.5;
  }
  
  .wwd-card-front .wwd-card-title {
    font-size: 16px;
  }
  
  .wwd-card-back .wwd-card-title {
    font-size: 16px;
  }
  
  .wwd-card-text {
    font-size: 13px;
  }
}

/* DESKTOP: Grid 1 fila con 4 columnas (máxima especificidad al final) */
@media (min-width: 1025px){
  .wwd-grid{
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
  }
}

/* Para pantallas muy pequeñas */
@media (max-width: 400px) {
  .wwd-banner{
    min-height: 300px;
  }
  
  .wwd-banner-content{
    padding: 18px 20px;
    left: 16px;
    right: 16px;
    bottom: 16px;
  }
  
  .wwd-banner-content h3 {
    font-size: 18px;
  }
  
  .wwd-card-front {
    padding: 16px;
  }
  
  .wwd-card-back {
    padding: 16px;
  }
  
  .wwd-card-front .wwd-card-title {
    font-size: 15px;
  }
  
  .wwd-card-text {
    font-size: 14px;
  }
}


/* =========================
   Life at KTSA — Landing
   ========================= */

.life-ktsa{
  background: var(--white);
  padding: 28px 0 40px;
}

.life-wrap{
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  width: 100%;
}

@media (max-width: 640px){
  .life-wrap{
    padding: 0 16px;
  }
}

/* Encabezado */
.life-title{
  margin: 40px 0px;
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: clamp(36px, 6.5vw, 56px);
  color: var(--text);
  letter-spacing: 0;
  text-align: left;
}

@media (max-width: 640px){
  .life-title{
    text-align: center;
  }
}
.life-title .accent{
  color: #6F3CD2; /* acento morado */
}

/* Layout: Hero image con texto sobrepuesto */
.life-content{
  position: relative;
  width: 100%;
  margin: 0 auto;
  border-radius: 8px;
  overflow: visible;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

/* Imagen Hero */
.life-media{
  position: relative;
  margin: 0;
  width: 85%;
  height: clamp(400px, 50vh, 550px);
  overflow: visible;
  background: #E6E7EB;
  border-radius: 0;
}
.life-media img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

/* Overlay oscuro sutil sobre la imagen */
.life-media::after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    135deg,
    rgba(0,0,0,0.1) 0%,
    rgba(0,0,0,0.4) 100%
  );
  pointer-events: none;
}

/* Cuadro de texto en el espacio blanco a la derecha */
/* Desktop/Mobile title toggle */
.life-title-desktop {
  display: block;
}
.life-title-mobile {
  display: none;
}

/* Mobile title colors */
.life-cyan {
  color: #00B8D4;
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif !important;
}
.life-blue {
  color: #0047AB;
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif !important;
}

/* EVP Desktop/Mobile toggle */
.evp-title-desktop,
.evp-text-desktop {
  display: block;
}
.evp-title-mobile,
.evp-text-mobile {
  display: none;
}

/* EVP mobile title colors */
.evp-blue {
  color: #0047AB;
}
.evp-cyan {
  color: #00B8D4;
}

.life-text-box{
  position: absolute;
  bottom: 0;
  right: 0;
  width: 480px;
  min-height: 260px;
  height: auto;
  max-width: min(480px, calc(100vw - 32px));
  background: var(--brand-blue);
  color: var(--white);
  border-radius: 0;
  padding: 28px 24px 24px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.35);
  z-index: 2;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.15);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 10px;
  overflow: visible;
}

.life-text-box p{
  margin: 16px 0px;
  font-size: 13px;
  line-height: 1.5;
}
.life-text-box .life-lead{
  font-weight: 700;
  color: #E6ECF5;
  font-size: 18px;
  margin: 16px 0px;
  line-height: 1.4;
}

/* CTA dentro del cuadro de texto */
.life-cta-btn{
  display: inline-block;
  border-radius: 9999px;
  background: #FFFFFF;
  color: #0047AB;
  padding: 12px 16px;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 700;
  font-size: 16px;
  border: 2px solid #0047AB;
  text-align: center;
  text-decoration: none;
  transition: transform .12s ease, box-shadow .2s ease, background .2s ease;
  margin-top: 6px;
  align-self: flex-start;
  flex-shrink: 0;
}
.life-cta-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,71,171,.4);
  background: #f0f0f0;
}

/* Responsivo */
@media (max-width: 1024px){
  .life-media{
    height: clamp(420px, 50vh, 540px);
  }
  .life-text-box{
    bottom: 24px;
    right: 24px;
    left: auto;
    max-width: min(420px, calc(100vw - 48px));
    width: 420px;
    min-height: auto;
    padding: 24px 22px;
    gap: 10px;
  }
  .life-text-box p{
    font-size: 13px;
    line-height: 1.5;
  }
  .life-cta-btn{
    margin-top: 8px;
    padding: 10px 20px;
    align-self: flex-start;
  }
}

@media (max-width: 900px){
  .life-text-box{
    bottom: 0;
    right: 0;
    left: auto;
    max-width: 420px;
    width: 55%;
    padding: 24px 20px;
    gap: 10px;
  }
  .life-text-box p{
    font-size: 13px;
  }
  .life-cta-btn{
    margin-top: 8px;
    padding: 11px 20px;
    align-self: flex-start;
  }
}

@media (max-width: 768px){
  .life-media{
    height: clamp(460px, 56vh, 560px);
  }
  .life-text-box{
    bottom: 0;
    right: 0;
    left: auto;
    width: 65%;
    max-width: none;
    padding: 22px 18px;
    gap: 9px;
  }
  .life-text-box p{
    font-size: 12.5px;
    line-height: 1.55;
  }
  .life-text-box .life-lead{
    font-size: 16px;
    line-height: 1.4;
  }
  .life-cta-btn{
    padding: 10px 18px;
    font-size: 11.5px;
    margin-top: 6px;
  }
}

@media (max-width: 640px){
  /* Toggle desktop/mobile titles */
  .life-title-desktop {
    display: none;
  }
  .life-title-mobile {
    display: block !important;
    font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif !important;
    font-size: clamp(32px, 10vw, 48px) !important;
    margin-bottom: 16px !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
  }
  
  .life-cyan, .life-blue {
    font-size: inherit !important;
  }
  
  .life-title{
    font-size: 22px;
    margin-bottom: 16px;
  }
  .life-media{
    width: 100%;
    height: clamp(380px, 55vh, 520px);
  }
  .life-content{
    position: relative;
    overflow: visible;
  }
  .life-text-box{
    position: absolute;
    bottom: 0;
    right: 0;
    left: auto;
    width: 75%;
    max-width: none;
    padding: 16px 14px;
    gap: 6px;
    box-sizing: border-box;
  }
  .life-text-box p:not(.life-lead){
    display: none;
  }
  .life-text-box p{
    font-size: 14px;
    line-height: 1.55;
  }
  .life-text-box .life-lead{
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
  }
  .life-cta-btn{
    margin-top: 6px;
    padding: 10px 18px;
    font-size: 14px;
    align-self: flex-start;
  }
}

/* ============ Life at KTSA — EVP Carousel base ============ */
.life-evp{
  background: var(--white);
  padding: 28px 0 24px;
}
.evp-wrap{
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  width: 100%;
}

@media (max-width: 640px){
  .evp-wrap{
    padding: 0 16px;
  }
}

/* Headings */
.evp-title{
  margin: 40px 0px 16px;
  font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: 48px;
  color: #00338D;
}
.evp-title .accent{ 
  color: #0047AB;
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
}

@media (max-width: 640px){
  .evp-title{
    text-align: center;
    font-size: 48px !important;
  }
  
  .evp-title .accent,
  .evp-blue,
  .evp-cyan {
    font-size: 48px !important;
  }
}

/* Contenedor flex para texto e imagen */
.evp-header-content {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  margin-bottom: 24px;
}

.evp-text {
  flex: 1;
}

.evp-badge {
  flex-shrink: 0;
  width: 200px;
}

.evp-badge img {
  width: 100%;
  height: auto;
  display: block;
}

.evp-lead{ margin: 0 6px 6px 0; font-size: 17px; color: var(--text); line-height: 1.5; letter-spacing: 0; }
.evp-sub{ margin: 0 0 16px; font-size: 16px; color: var(--text); line-height: 1.5; letter-spacing: 0; }
.evp-sub strong{ color: var(--text); font-weight: 700; }

/* Tabs Navigation */
.evp-tabs-nav{
  display: flex;
  gap: 16px;
  margin-top: 32px;
  justify-content: center;
  border-bottom: 2px solid #E6E7EB;
  padding-bottom: 8px;
}

.evp-tab{
  background: transparent;
  border: none;
  padding: 20px 32px;
  cursor: pointer;
  opacity: 0.5;
  transition: all 0.3s ease;
  border-bottom: 4px solid transparent;
  position: relative;
  outline: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* EXPLORE KTSA logos are ultra-wide — constrain tabs */
.evp-tab img{
  max-width: 100%;
  width: 300px;
  height: 80px;
  object-fit: contain;
  filter: grayscale(30%);
  transition: filter 0.3s ease;
}

.evp-tab:hover{
  opacity: 0.85;
  transform: translateY(-2px);
  background: rgba(0, 0, 0, 0.02);
}

.evp-tab:focus-visible{
  opacity: 1;
  outline: 2px solid var(--brand-blue);
  outline-offset: 4px;
  border-radius: 4px;
}

.evp-tab.active{
  opacity: 1;
  border-bottom-color: var(--brand-blue);
}

.evp-tab.active img{
  filter: grayscale(0%);
}

.evp-tab[data-tab="experience"].active{ border-bottom-color: #1f5dbb; }
.evp-tab[data-tab="expand"].active{ border-bottom-color: #7AB8E8; }
.evp-tab[data-tab="excel"].active{ border-bottom-color: #9B6FD7; }
.evp-tab[data-tab="express"].active{ border-bottom-color: #FD349C; }

/* Tabs Content */
.evp-tabs-content{
  margin-top: 48px;
}

.evp-panel{
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: stretch;
  background: #F9FAFB;
  border-radius: 16px;
  padding: 48px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  animation: fadeIn 0.4s ease-out;
  box-sizing: border-box;
  max-width: 100%;
  overflow: hidden;
}

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

.evp-panel.active{
  display: grid;
}

.evp-panel-image{
  border-radius: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.evp-panel-image img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  min-height: 400px;
  max-width: 100%;
}

.evp-panel-image--contain img{
  object-fit: cover;
  object-position: top center;
}

.evp-panel-image--expand img{
  object-fit: cover;
  object-position: center 30%;
}

.evp-panel-content{
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background: white;
  border-radius: 0;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.evp-panel-logo{
  margin-bottom: 24px;
  margin-top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.evp-panel-logo img{
  max-width: 360px;
  width: auto;
  height: auto;
  max-height: 95px;
  object-fit: contain;
}

.evp-subtitle{
  margin-top: 24px;
  margin-bottom: 16px;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.02em;
}

.evp-strong{
  font-weight: 600;
  font-size: 17px;
  color: #2c3e50;
  margin-bottom: 20px;
  line-height: 1.5;
  display: block;
}

.evp-list{
  margin: 20px 0;
  padding-left: 28px;
  list-style: none;
}

.evp-list li{
  margin-bottom: 14px;
  line-height: 1.5;
  font-size: 16px;
  position: relative;
  padding-left: 8px;
  font-weight: 400;
  color: #333;
}

.evp-list li::before{
  content: '\2022';
  position: absolute;
  left: -20px;
  font-weight: bold;
  font-size: 20px;
}

.evp-link{
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.evp-link a{
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
  padding: 8px 12px;
  margin-left: -12px;
  border-radius: 6px;
}

.evp-link a:hover{
  background: rgba(31, 93, 187, 0.08);
  transform: translateX(4px);
}

.evp-link a:focus-visible{
  outline: 2px solid var(--brand-blue);
  outline-offset: 2px;
}

/* Old grid styles - can be removed */
.evp-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 24px;
}

/* Card individual */
.evp-card{
  background: var(--white);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

.evp-card:hover{
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

/* Sección preview (imagen + logo + botón) */
.evp-card-preview{
  position: relative;
  background: var(--white);
  border: 3px solid var(--brand-blue);
  border-radius: 8px;
  box-shadow: var(--shadow-md);
}

.evp-card-preview::before{
  content: '';
  position: absolute;
  top: 70%;
  left: -3px;
  transform: translateY(-50%);
  width: 6px;
  height: 80px;
  background: var(--accent-color, var(--brand-blue));
  border-radius: 3px 0 0 3px;
  z-index: 1;
}

.evp-card-image{
  margin: 0;
  width: 100%;
  height: 200px;
  overflow: hidden;
  background: #E6E7EB;
}

.evp-card-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.3s ease;
}

.evp-card:hover .evp-card-image img{
  transform: scale(1.05);
}

/* Logo debajo de la imagen */
.evp-card-preview .evp-card-logo{
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px 20px;
  min-height: 180px;
}

.evp-card-preview .evp-card-logo img{
  max-width: 100%;
  max-height: 180px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Botón View more / View less */
.evp-toggle{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px;
  border: none;
  background: transparent;
  color: var(--accent-color);
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
  text-transform: uppercase;
  letter-spacing: 0;
}

.evp-toggle:hover{
  background: rgba(0,0,0,0.03);
}

.evp-toggle:focus-visible{
  outline: 2px solid var(--accent-color);
  outline-offset: -2px;
}

.toggle-icon{
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  transition: transform 0.3s ease;
}

.evp-card.is-open .toggle-icon{
  transform: rotate(45deg);
}

/* Sección de detalles expandible */
.evp-details{
  border: 3px solid var(--accent-color);
  border-top: 3px solid var(--accent-color);
  background: var(--white);
  position: relative;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  border-radius: 0 0 8px 8px;
  opacity: 0;
  visibility: hidden;
  transition: max-height 0.4s ease, opacity 0.3s ease, visibility 0s 0.4s;
}

/* Rectángulo de color en el borde */
.evp-details::before{
  content: '';
  position: absolute;
  top: 60px;
  left: -3px;
  width: 6px;
  height: 80px;
  background: var(--accent-color);
  border-radius: 3px 0 0 3px;
  z-index: 1;
}

.evp-details[hidden]{
  display: block;
  max-height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Cuando está abierto */
.evp-card.is-open .evp-details{
  opacity: 1;
  visibility: visible;
  transition: max-height 0.4s ease, opacity 0.3s ease, visibility 0s 0s;
  max-height: 600px !important;
}

.evp-card-content{
  padding: 24px 24px 24px 32px;
  min-height: 540px;
}

/* Colores específicos por valor */
.evp-card[data-pillar="experience"]{
  --accent-color: #1f5dbb; /* Azul marino */
}
.evp-card[data-pillar="expand"]{
  --accent-color: #7AB8E8; /* Azul cielo */
}
.evp-card[data-pillar="excel"]{
  --accent-color: #9B6FD7; /* Morado */
}
.evp-card[data-pillar="express"]{
  --accent-color: #FD349C; /* Rosa */
}

/* Estilos del contenido (scoped a cards para no sobreescribir panels) */
.evp-card-content .evp-strong{
  font-weight: 700;
  font-size: 15px;
  color: var(--text);
  margin-bottom: 12px;
  line-height: 1.5;
}

.evp-card-content .evp-list{
  margin: 0;
  padding-left: 20px;
  list-style: disc;
}

.evp-card-content .evp-list li{
  font-size: 14px;
  color: var(--text-muted);
  margin-bottom: 8px;
  line-height: 1.5;
}

/* Contenido del panel de detalles */
.evp-card-content .evp-list li::marker{
  color: var(--accent-color);
  font-weight: bold;
}

/* Responsivo */
/* Tablets (iPad Mini, iPad Air, iPad Pro) - Grid 2x2 balanceado */
@media (min-width: 641px) and (max-width: 1024px) {
  .evp-tabs-nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    border-bottom: none;
    padding-bottom: 0;
  }
  
  .evp-tab {
    padding: 20px 16px;
    border-radius: 12px;
    border: 2px solid #E6E7EB;
    border-bottom: 4px solid transparent;
  }
  
  .evp-tab.active {
    border-bottom-color: var(--brand-blue);
    opacity: 1;
    background: linear-gradient(135deg, rgba(0, 71, 171, 0.02) 0%, rgba(0, 184, 212, 0.01) 100%);
  }
  
  .evp-tab[data-tab="experience"].active { border-bottom-color: #1f5dbb; }
  .evp-tab[data-tab="expand"].active { border-bottom-color: #7AB8E8; }
  .evp-tab[data-tab="excel"].active { border-bottom-color: #00B8F5; }
  .evp-tab[data-tab="express"].active { border-bottom-color: #FD349C; }
  
  .evp-tab img {
    max-width: 240px;
    max-height: 75px;
  }

  .evp-panel-logo img {
    max-width: 320px !important;
    max-height: 85px !important;
  }
  
  .evp-panel {
    grid-template-columns: 1fr;
  }
  
  .evp-panel-image,
  .evp-panel-content {
    max-width: 100%;
  }
}

/* Móviles - Grid 2x2 más compacto */
@media (max-width: 640px){
  .evp-tabs-nav{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    border-bottom: none;
    padding-bottom: 0;
  }
  
  .evp-tab{
    padding: 10px 8px;
    border-radius: 10px;
    border: 2px solid #E6E7EB;
    border-bottom: 3px solid transparent;
    overflow: hidden;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .evp-tab.active {
    border-bottom-color: var(--brand-blue);
    opacity: 1;
    background: linear-gradient(135deg, rgba(0, 71, 171, 0.02) 0%, rgba(0, 184, 212, 0.01) 100%);
  }
  
  .evp-tab[data-tab="experience"].active { border-bottom-color: #1f5dbb; }
  .evp-tab[data-tab="expand"].active { border-bottom-color: #7AB8E8; }
  .evp-tab[data-tab="excel"].active { border-bottom-color: #00B8F5; }
  .evp-tab[data-tab="express"].active { border-bottom-color: #FD349C; }
  
  .evp-tab img{
    max-width: 100%;
    width: 100%;
    height: auto;
    max-height: 36px;
    object-fit: contain;
  }

  .evp-panel-logo img{
    max-width: 85% !important;
    max-height: 70px !important;
  }
  
  .evp-panel{
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 12px;
  }

  .evp-panel-image img{
    min-height: 200px;
    max-height: 300px;
  }

  .evp-panel-content{
    padding: 16px;
  }
  
  .evp-grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  
  .evp-card-image{
    height: 180px;
  }
}

@media (max-width: 768px){
  .evp-header-content {
    flex-direction: column;
    gap: 24px;
    align-items: center;
  }
  
  .evp-badge {
    width: 150px;
    margin: 0 auto;
  }
  
  .evp-text{
    text-align: center;
  }
  
  .evp-tabs-nav{
    flex-direction: column;
    gap: 8px;
    border-bottom: none;
  }
  
  .evp-tab{
    width: 100%;
    padding: 16px;
    border-bottom: none;
    border-left: 3px solid transparent;
  }
  
  .evp-tab.active{
    border-bottom-color: transparent;
    border-left-color: var(--brand-blue);
  }
  
  .evp-tab[data-tab="experience"].active{ border-left-color: #1f5dbb; }
  .evp-tab[data-tab="expand"].active{ border-left-color: #7AB8E8; }
  .evp-tab[data-tab="excel"].active{ border-left-color: #9B6FD7; }
  .evp-tab[data-tab="express"].active{ border-left-color: #FD349C; }
  
  .evp-tab img{
    max-width: 240px;
    max-height: 80px;
  }
  
  .evp-panel{
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 16px;
  }

  .evp-panel-image{
    width: 100%;
  }

  .evp-panel-image img{
    min-height: 250px;
    max-height: 350px;
    width: 100%;
  }

  .evp-panel-content{
    padding: 20px;
    width: 100%;
    box-sizing: border-box;
  }
  
  .evp-panel-logo img{
    max-width: 85% !important;
    max-height: 80px !important;
    width: auto;
    height: auto;
  }
  
  .evp-grid{
    grid-template-columns: 1fr;
    gap: 24px;
  }
  
  .evp-card-image{
    height: 160px;
  }
}

/* =========================
   KTSA MÁS — Sección principal
   ========================= */

.ktsa-mas{
  background: var(--white);
  padding: 28px 0 0;
}

.mas-wrap{
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px 18px;
  display: grid;
  grid-template-columns: 1.05fr 1fr; /* texto | imagen */
  gap: 18px;
  align-items: center;
  width: 100%;
}

@media (max-width: 640px){
  .mas-wrap{
    padding: 0 16px 18px;
  }
}

/* Título multirenglón con acento */
.mas-title{
  margin: 0 0 10px;
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
  font-weight: 700;
  font-size: clamp(36px, 6.5vw, 56px);
  line-height: 1.05;
  letter-spacing: 0;
  color: var(--brand-blue);
}

@media (max-width: 640px){
  .mas-title{
    text-align: center;
    font-size: 48px !important;
  }
}
.mas-title .line1{ color: var(--brand-blue); }
.mas-title .line2{ color: #2EB5FF; }     /* azul claro para “Possibilities” */
.mas-title .line3{ color: var(--brand-blue); }
.mas-title .accent{ color: #6F89D7; }    /* acento acorde al mock */

.mas-copy{
  max-width: 620px;
  color: var(--text);
  font-size: 15px;
  line-height: 1.5;
}
.mas-copy .lead{
  margin: 0 0 8px;
}

@media (max-width: 640px){
  .mas-copy{
    text-align: center;
    margin: 0 auto;
  }
}

/* Imagen con overlay degradado a la izquierda */
.mas-media{
  position: relative;
  margin: 0;
  border-radius: 6px;
  overflow: hidden;
  background: #E6E7EB;               /* fallback */
  border: 1px solid var(--gray-300);
  min-height: 280px;
}
.mas-media img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
/* Degradado sutil que se mezcla hacia el área de texto */
.mas-media::before{
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 40%;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255,255,255,0.88) 0%, rgba(255,255,255,0.0) 100%);
}

/* Banda azul con CTA centrada */
.mas-band{
  width: 100%;
  background: var(--brand-blue);
  padding: 12px 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mas-cta{
  display: inline-block;
  background: var(--white);
  color: var(--brand-blue);
  border: 2px solid var(--white);
  border-radius: 9999px;
  padding: 10px 18px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
  transition: transform .12s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.mas-cta:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(255,255,255,.28);
  background: #F7F9FF;
}

/* Disclaimer inferior */
.mas-disclaimer{
  background: #F7F8FA;
  border-top: 1px solid var(--gray-300);
  padding: 12px 24px 18px;
}
.mas-disclaimer p{
  max-width: 1400px;
  margin: 0 auto;
  color: var(--text-muted);
  font-size: 13px;
  line-height: 1.55;
}

/* Responsivo */
@media (max-width: 992px){
  .mas-wrap{
    grid-template-columns: 1fr; /* stack en tablet */
    gap: 20px;
    padding: 0 20px 18px;
  }
  .mas-media::before{
    width: 0; /* quitar overlay en stack */
  }
}

@media (max-width: 640px){
  .mas-title{
    font-size: clamp(22px, 6vw, 36px);
  }
  .mas-wrap{
    padding: 0 16px 16px;
  }
}


/* ===== KTSA MÁS =====*/
.ktsa-mas {
  position: relative;
}

.ktsa-mas * { box-sizing: border-box; }
.ktsa-mas p { margin: 0 0 0.75rem; color: #4b4b4b; }

/* Hero principal */
.ktsa-mas .mas-hero {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
  min-height: 550px;
  padding: 60px 24px 80px;
  display: grid;
  grid-template-columns: 1fr;
  overflow: clip;
}

/* Imagen de fondo alineada a la derecha */
.ktsa-mas .mas-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../images/images/Comp_1.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right center;
  z-index: 0;
}

@media (max-width: 768px) {
  .ktsa-mas .mas-hero::after {
    background-position: center center;
    background-size: cover;
  }
}

/* Degradado para dar contraste al texto */
.ktsa-mas .mas-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right,
    rgba(255,255,255,0.95) 0%,
    rgba(255,255,255,0.90) 28%,
    rgba(255,255,255,0.45) 55%,
    rgba(255,255,255,0.00) 80%);
  z-index: 1;
}

/* Columna izquierda con contenido */
.ktsa-mas .mas-left {
  position: relative;
  z-index: 2;
  max-width: 650px;
}

/* Título principal */
.ktsa-mas .mas-title {
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.2px;
  margin: 40px 0px 16px;
}

.ktsa-mas .mas-title .line1,
.ktsa-mas .mas-title .line2 {
  color: #00B8D4;
  font-size: clamp(28px, 4vw, 44px);
}

.ktsa-mas .mas-title .line3 {
  color: #0047AB;
  font-size: clamp(22px, 3.4vw, 32px);
  margin-right: 8px;
}

.ktsa-mas .mas-title .accent {
  color: #0047AB;
  font-size: clamp(28px, 4.2vw, 44px);
}

/* Texto */
.ktsa-mas .mas-copy .lead {
  font-size: clamp(16px, 1.9vw, 20px);
  color: #111827;
  margin-bottom: 10px;
}

.ktsa-mas .mas-copy p {
  font-size: 15px;
  color: #000000;
  line-height: 1.5;
}

/* Banda azul con botón */
.ktsa-mas .mas-band {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  width: 100%;
  background-color: #0047AB;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 0;
  z-index: 3;
}

.ktsa-mas .band-wrap {
  max-width: 1400px;
  width: 100%;
  padding: 0 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.ktsa-mas .band-wrap .btn-outline {
  background: #ffffff;
  border-color: #ffffff;
  color: var(--brand-blue);
}

.ktsa-mas .band-wrap .btn-outline:hover {
  background: var(--brand-blue);
  border-color: #ffffff;
  color: #ffffff;
}

/* Disclaimer dentro de la banda azul */
.ktsa-mas .mas-disclaimer-wrapper {
  flex: 1;
  text-align: left;
  background: transparent !important;
}

.ktsa-mas .mas-disclaimer {
  margin: 0;
  padding: 0;
  color: #FFFFFF !important;
  background: transparent !important;
  border: none !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 400;
}

.ktsa-mas .mas-disclaimer p {
  color: #FFFFFF !important;
  margin: 0 !important;
}

.ktsa-mas .mas-disclaimer em {
  font-style: italic;
  color: #FFFFFF !important;
}

/* Responsivo */
@media (max-width: 768px) {
  .ktsa-mas .mas-hero { 
    padding: 44px 20px 120px; 
    min-height: 560px; 
  }
  .ktsa-mas .mas-left {
    max-width: 100%;
    padding-bottom: 30px;
  }
  .ktsa-mas .mas-title {
    text-align: left;
  }
  .ktsa-mas .mas-band {
    bottom: 0;
    padding: 16px 0;
    position: relative;
  }
  .ktsa-mas .band-wrap {
    padding: 12px 20px;
    flex-direction: column;
    gap: 16px;
  }
  .ktsa-mas .band-wrap .btn-outline {
    padding: 12px 36px;
    font-size: 14px;
  }
  .ktsa-mas .mas-disclaimer-wrapper {
    text-align: center;
  }
  .ktsa-mas .mas-disclaimer {
    text-align: center;
    font-size: 11.5px;
    line-height: 1.5;
  }
  .ktsa-mas .mas-disclaimer br {
    display: none;
  }
}

@media (max-width: 640px) {
  .ktsa-mas .mas-hero { 
    padding: 32px 16px 100px; 
    min-height: 520px; 
  }
  .ktsa-mas .mas-title {
    text-align: left;
  }
  .ktsa-mas .mas-band {
    bottom: 0;
    padding: 14px 0;
    position: relative;
  }
  .ktsa-mas .band-wrap {
    padding: 10px 16px;
    gap: 14px;
  }
  .ktsa-mas .band-wrap .btn-outline {
    padding: 10px 28px;
    font-size: 13px;
  }
  .ktsa-mas .mas-disclaimer-wrapper {
    text-align: center;
  }
  .ktsa-mas .mas-disclaimer {
    font-size: 10.5px;
  }
}

/* ===== Voices at KTSA ===== */
.ktsa-voices {
  width: 100%;
  background: #ffffff;
  padding: 36px 0 24px;
  overflow-x: hidden;
}

.ktsa-voices .voices-wrap {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  width: 100%;
}

/* Layout de 2 columnas para video y blogs */
.voices-blogs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  width: 100%;
  max-width: 100%;
}

.voices-video-column,
.blogs-column {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

/* Ocultar descripción móvil en desktop */
.video-description-mobile {
  display: none;
}

@media (max-width: 768px) {
  .voices-blogs-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  
  /* Títulos de columna visibles y centrados en móvil */
  .voices-video-column .column-title,
  .blogs-column .column-title,
  .testimonials-column .column-title {
    display: block;
    text-align: center;
  }
  
  /* Ocultar solo video-description en móvil, mantener blogs-description visible */
  .video-description {
    display: none;
  }
  
  /* Mantener blogs-description visible en móvil pero centrado */
  .blogs-description {
    text-align: center;
    font-size: 15px;
    line-height: 1.5;
    margin: 0 0 20px;
    padding: 0 16px;
  }
  
  /* Testimonials description con padding lateral igual que video-description-mobile */
  .testimonials-description {
    text-align: center;
    font-size: 15px;
    line-height: 1.5;
    margin: 0 0 20px;
    padding: 0 16px;
  }
  
  /* Mostrar descripción móvil del video */
  .video-description-mobile {
    display: block;
    text-align: center;
    font-size: 15px;
    color: #4b4b4b;
    line-height: 1.5;
    margin-top: 16px;
  }
  
  /* Cambiar título principal en móvil */
  .ktsa-voices .voices-title .t-blue::after {
    content: '!';
  }
  
  /* Reordenar: primero video, luego blogs */
  .voices-video-column {
    order: 1;
  }
  
  .blogs-column {
    order: 2;
  }
}

@media (max-width: 640px){
  .ktsa-voices .voices-wrap {
    padding: 0 16px;
  }
  
  /* Mostrar título y subtítulo móvil para Voices */
  .voices-title-desktop,
  .voices-subtitle-desktop {
    display: none !important;
  }
  
  /* Ocultar solo el t-pink del desktop (Express Your Individuality) */
  .voices-title > .t-pink {
    display: none !important;
  }
  
  .voices-title-mobile {
    display: inline !important;
  }
  
  /* Asegurar que los colores dentro de mobile se muestren */
  .voices-title-mobile .t-blue,
  .voices-title-mobile .t-pink {
    display: inline !important;
  }
  
  .ktsa-voices .voices-title,
  .ktsa-voices .voices-subtitle{
    text-align: center;
  }
  
  .ktsa-voices .voices-title {
    font-size: clamp(26px, 5.5vw, 36px) !important;
  }
  
  .voices-blogs-grid {
    gap: 24px;
  }
  .voices-video-column,
  .blogs-column {
    margin: 0;
    max-width: 100%;
  }
  .column-title {
    text-align: center;
  }
  
  /* Asegurar que blogs-description sea visible en móviles */
  .blogs-description {
    display: block !important;
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
    color: #4A5668;
    margin: 0 0 20px;
    padding: 0 12px;
  }
}

/* Ajustes para dispositivos extra pequeños (Galaxy S8+, iPhone SE, iPhone 12 Pro) */
@media (max-width: 400px){
  .ktsa-voices .voices-wrap {
    padding: 0 12px;
  }
  .voices-blogs-grid {
    gap: 20px;
  }
  .voices-video-column,
  .blogs-column {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
  .column-title {
    font-size: 18px;
  }
  .video-description,
  .blogs-description {
    font-size: 13px;
  }
}

/* Encabezado */
.ktsa-voices .voices-header { margin-bottom: 18px; }

/* Títulos de columnas */
.column-title {
  font-family: "KPMG Bold", Arial, sans-serif;
  font-weight: 700;
  font-size: clamp(18px, 3vw, 22px);
  color: #1f5dbb;
  margin: 0 0 12px;
}

.video-description,
.blogs-description {
  font-size: 14px;
  color: #4b4b4b;
  line-height: 1.5;
  margin: 0 0 16px;
}

.ktsa-voices .voices-title {
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
  font-weight: 800;
  line-height: 1.15;
  margin: 40px 0px;
  font-size: clamp(26px, 4.2vw, 40px);
}

.ktsa-voices .t-blue { color: #1f5dbb; }   /* Azul sitio */
.ktsa-voices .t-pink { color: #ff4fa3; }   /* Rosa para “Express Your Individuality” */

.ktsa-voices .voices-subtitle {
  color: #4b4b4b;
  font-size: 15px;
  margin: 0;
}

/* Video container */
.ktsa-voices .voices-video {
  margin: 0 0 18px;
  border-radius: 0;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  position: relative;
  padding-bottom: 56.25%; /* Ratio 16:9 */
  height: 0;
}

.ktsa-voices .voices-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
  display: block;
}

/* Video thumbnail link (sin cookies) */
.video-thumbnail-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.video-thumbnail-link:hover {
  transform: scale(1.02);
}

.video-thumbnail-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.play-button-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  transition: transform 0.3s ease, opacity 0.3s ease;
  pointer-events: none;
}

.video-thumbnail-link:hover .play-button-overlay {
  transform: translate(-50%, -50%) scale(1.1);
  opacity: 0.9;
}

.video-click-hint {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 3;
}

.video-thumbnail-link:hover .video-click-hint {
  opacity: 1;
}

/* Grid principal */
.ktsa-voices .voices-grid {
  display: grid;
  grid-template-columns: 1.45fr 1fr 1fr; /* destacado + 2 tarjetas */
  gap: 18px;
  align-items: start;
  width: 100%;
  max-width: 100%;
}

/* ===== Destacado ===== */
.ktsa-voices .voices-feature {
  position: relative;
  margin: 0;
  background: #f3f6fb;
  border-radius: 6px;
  overflow: hidden;
}

.ktsa-voices .voices-feature .feature-media {
  width: 100%;
  height: 100%;
}

.ktsa-voices .voices-feature img,
.ktsa-voices .voices-feature video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ktsa-voices .voices-feature figcaption {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 8px 12px;
  font-size: 14px;
  color: #ffffff;
  background: linear-gradient(to top, rgba(0,0,0,0.55), rgba(0,0,0,0.0));
}

/* Flecha izquierda sobre el destacado */
.ktsa-voices .voices-feature .nav-arrow.left {
  position: absolute;
  left: -14px; /* como en el diseño */
  top: 50%;
  transform: translateY(-50%);
  width: 28px; height: 28px;
  border: none; border-radius: 50%;
  background: #1f5dbb; color: #ffffff;
  font-size: 22px; line-height: 28px;
  cursor: pointer;
  box-shadow: 0 2px 0 rgba(0,0,0,0.08);
}

/* ===== Tarjetas ===== */
.ktsa-voices .voices-card {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 0 0 1px #e6eaf0 inset;
}

.ktsa-voices .voices-card .card-media img {
  display: block;
  width: 100%;
  height: 170px;
  object-fit: cover;
}

/* Overlay azul con copy */
.ktsa-voices .voices-card .card-overlay {
  background: #1f5dbb;
  color: #ffffff;
  padding: 12px 14px;
  min-height: 150px;
}

.ktsa-voices .voices-card .card-title {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 800;
}

.ktsa-voices .voices-card .card-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

/* Flecha derecha en tarjetas */
.ktsa-voices .voices-card .nav-arrow.right {
  position: absolute;
  right: -12px; /* similar al diseño */
  top: calc(170px + 50% - 14px);
  transform: translateY(-50%);
  width: 26px; height: 26px;
  border: none; border-radius: 50%;
  background: #1f5dbb; color: #ffffff;
  font-size: 20px; line-height: 26px;
  cursor: pointer;
  box-shadow: 0 2px 0 rgba(0,0,0,0.08);
}

/* Estados de enfoque accesibles */
.ktsa-voices .nav-arrow:focus-visible {
  outline: 3px solid #ff4fa3;
  outline-offset: 2px;
}

/* ===== Responsivo ===== */
@media (max-width: 1024px) {
  .ktsa-voices .voices-grid { 
    grid-template-columns: 1fr 1fr; /* 2 columnas en tablet */
    gap: 16px;
  }
}

@media (max-width: 768px) {
  .ktsa-voices .voices-grid { 
    grid-template-columns: 1fr; /* 1 columna en móvil */
  }
  .ktsa-voices .voices-feature .nav-arrow.left { left: 10px; }
  .ktsa-voices .voices-card .nav-arrow.right { right: 10px; }
  .ktsa-voices .voices-card .card-media img { height: 180px; }
}

@media (max-width: 640px) {
  .ktsa-voices .voices-video {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 18px;
  }
  .ktsa-voices .voices-grid {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }
  .ktsa-voices .voices-card .card-media img { height: 200px; }
  .ktsa-voices .voices-card .card-overlay { min-height: 120px; padding: 10px 12px; }
  .ktsa-voices .voices-feature .nav-arrow.left { left: 10px; }
  .ktsa-voices .voices-card .nav-arrow.right { right: 10px; }
}

/* ===== KTSA Blogs ===== */
.ktsa-blogs {
  width: 100%;
  background: #f6f7fa;      /* banda gris muy clara */
  padding: 28px 0 36px;
  overflow-x: visible;
}

.ktsa-blogs .blogs-wrap {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  width: 100%;
}

@media (max-width: 640px){
  .ktsa-blogs .blogs-wrap {
    padding: 0 16px;
  }
  .ktsa-blogs .blogs-title,
  .ktsa-blogs .blogs-subtitle{
    text-align: center;
  }
}

/* Encabezado */
.ktsa-blogs .blogs-header { margin-bottom: 12px; }

.ktsa-blogs .blogs-title {
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
  font-weight: 800;
  font-size: clamp(24px, 3.6vw, 34px);
  line-height: 1.1;
  margin: 40px 0px;
  color: #1f5dbb; /* Azul para “KTSA” */
}
.ktsa-blogs .blogs-title .accent { color: #1f5dbb; }

.ktsa-blogs .blogs-subtitle {
  color: #4b4b4b;
  font-size: 15px;
  margin: 0;
}

/* Carrusel */
.blogs-carousel-wrapper {
  position: relative;
  width: 100%;
  max-width: 100%;
  padding: 0 clamp(16px, 4vw, 60px);
}

/* Botones de navegación del carrusel */
.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  aspect-ratio: 1;
  flex-shrink: 0;
  border: 2px solid rgba(31, 93, 187, 0.2);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: #1f5dbb;
  font-size: 18px;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
}

.carousel-btn svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  stroke: #1f5dbb;
  stroke-width: 2;
  fill: none;
  transition: stroke 0.3s ease;
}

.carousel-btn:hover {
  background: #1f5dbb;
  border-color: #1f5dbb;
  transform: translateY(-50%) scale(1.05);
  box-shadow: 0 4px 12px rgba(31, 93, 187, 0.3);
}

.carousel-btn:hover svg {
  stroke: #ffffff;
}

.carousel-btn:active {
  transform: translateY(-50%) scale(0.98);
}

.carousel-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  background: rgba(255, 255, 255, 0.7);
}

.carousel-btn:disabled:hover {
  transform: translateY(-50%);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.carousel-prev {
  left: 8px;
}

.carousel-next {
  right: 8px;
}

.ktsa-blogs .blogs-carousel {
  position: relative;
  background: #e9edf3;      /* franja gris intermedia del área de cards */
  border-radius: 6px;
  padding: 16px 40px;       /* espacio interior y para flechas */
  overflow: hidden;
  width: 100%;
  max-width: 100%;
}

/* Flechas */
.ktsa-blogs .nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  aspect-ratio: 1;
  flex-shrink: 0;
  border: none;
  border-radius: 50%;
  background: #1f5dbb;
  color: #ffffff;
  font-size: 22px;
  line-height: 28px;
  cursor: pointer;
  box-shadow: 0 2px 0 rgba(0,0,0,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ktsa-blogs .nav-arrow.left  { left: 8px; }
.ktsa-blogs .nav-arrow.right { right: 8px; }

.ktsa-blogs .nav-arrow:focus-visible {
  outline: 3px solid #ff4fa3;
  outline-offset: 2px;
}

/* Pista de tarjetas */
.blogs-track {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  width: 100%;
  max-width: 100%;
  align-items: stretch;
}

.ktsa-blogs .cards-track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  align-items: start;
}

/* Blog tile (tarjeta individual) */
.blog-tile {
  background: #ffffff;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.blog-tile:hover {
  transform: translate3d(0, -2px, 0);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.blog-tile-image {
  width: 100%;
  height: 160px;
  object-fit: cover;
  display: block;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  image-rendering: auto;
  transform: translateZ(0);
}

.blog-tile-content {
  padding: 14px;
  background: #0047AB;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.blog-tile-title {
  font-size: 22px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 8px;
  line-height: 1.3;
  flex-grow: 1;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.blog-tile-date {
  font-size: 12px;
  color: #ffffff;
  opacity: 0.9;
  margin-bottom: 8px;
}

.blog-tile-link {
  color: #ffffff !important;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  display: inline-block;
  margin-top: auto;
}

.blog-tile-link svg {
  stroke: #ffffff !important;
}

.blog-tile-link:hover {
  text-decoration: underline;
}

/* Tarjeta */
.ktsa-blogs .blog-card {
  position: relative;
  border-radius: 0;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 0 0 1px #e6eaf0 inset;
}

.ktsa-blogs .blog-card .card-media img {
  display: block;
  width: 100%;
  height: 170px;            /* altura superior de imagen */
  object-fit: cover;
}

/* Overlay azul con copy */
.ktsa-blogs .blog-card .card-overlay {
  background: #1f5dbb;
  color: #ffffff;
  padding: 12px 14px;
  min-height: 150px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 8px;
}

.ktsa-blogs .blog-card .card-title {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
}

.ktsa-blogs .blog-card .card-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

.ktsa-blogs .blog-card .card-link {
  margin: 0;
  font-size: 13.5px;
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
}
.ktsa-blogs .blog-card .card-link:hover { text-decoration: underline; }

/* Responsivo */
@media (max-width: 1024px) {
  .blogs-track {
    grid-template-columns: repeat(2, 1fr);
  }
  .ktsa-blogs .cards-track { 
    grid-template-columns: repeat(3, 1fr); /* 3 por fila en tablet */
    gap: 12px;
  }

  .blog-tile-image {
    height: 200px;
  }

  .blog-tile-content {
    padding: 20px;
    min-height: 140px;
  }

  .blog-tile-title {
    font-size: clamp(20px, 3vw, 26px);
    line-height: 1.25;
  }
}

@media (max-width: 768px) {
  .blogs-track {
    grid-template-columns: 1fr;
  }
  .ktsa-blogs .cards-track { 
    grid-template-columns: 1fr 1fr; /* 2 por fila */
  }
  .ktsa-blogs .blogs-carousel { padding: 12px 36px; }
}

@media (max-width: 640px) {
  .blogs-track {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  
  /* Blog tile en móvil: rectángulo completo con imagen arriba y cuadro azul abajo */
  .blog-tile {
    display: flex;
    flex-direction: column;
    background: transparent;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
  }
  
  .blog-tile:hover {
    transform: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }
  
  .blog-tile-image {
    height: 200px;
    border-radius: 0;
    margin: 0;
  }
  
  .blog-tile-content {
    background: #0047AB;
    color: #ffffff;
    padding: 28px 24px;
    border-radius: 0;
    min-height: 160px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    text-align: center;
  }
  
  .blog-tile-title {
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
    font-family: var(--font-title);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  }
  
  .blog-tile-date {
    color: #E6ECF5;
    font-size: 14px;
    margin: 0;
  }
  
  .blog-tile-link {
    display: inline-block;
    background: #ffffff;
    color: #0047AB;
    font-weight: 700;
    font-size: 16px;
    padding: 10px 32px;
    border-radius: 50px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0;
    margin: 8px auto 0;
    transition: all 0.2s ease;
  }
  
  .blog-tile-link:hover {
    background: #f0f0f0;
    transform: translateY(-1px);
  }
  
  /* Botones del carrusel - chevrons azules */
  .carousel-btn {
    width: 40px;
    height: 40px;
    background: #ffffff;
    border: 2px solid #0047AB;
    color: #0047AB;
    border-radius: 50%;
    font-size: 20px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 71, 171, 0.2);
  }
  
  .carousel-btn:hover {
    background: #0047AB;
    color: #ffffff;
  }
  
  .carousel-prev {
    left: 8px;
  }
  
  .carousel-next {
    right: 8px;
  }
  
  .blogs-carousel-wrapper {
    padding: 0 50px;
    position: relative;
  }
}
/* Ajustes para dispositivos extra pequeños (Galaxy S8+, iPhone SE, iPhone 12 Pro) */
@media (max-width: 400px) {
  .blogs-track {
    gap: 10px;
  }
  .carousel-btn {
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
    flex-shrink: 0;
    font-size: 14px;
  }
  
  .carousel-btn svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
  }
  .carousel-prev {
    left: 4px;
  }
  .carousel-next {
    right: 4px;
  }
  .blogs-carousel-wrapper {
    padding: 0 32px;
    max-width: 100%;
    overflow-x: hidden;
  }
  .ktsa-blogs .blogs-carousel { 
    padding: 10px 12px;
  }
  .blog-tile {
    max-width: 100%;
  }
  .blog-tile-image {
    height: 140px;
  }
  .blog-tile-content {
    padding: 12px;
  }
  .blog-tile-title {
    font-size: 18px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  }
  .blog-tile-date {
    font-size: 11px;
  }
}

/* ===== Vendors ===== */
.ktsa-vendors { width: 100%; background: #ffffff; }

/* Contenedor del hero */
.ktsa-vendors .vendors-hero {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
  min-height: 460px;
  padding: 60px 24px;
  display: grid;
  grid-template-columns: 1fr; /* el texto queda a la izquierda */
}

/* Imagen de fondo a la derecha */
.ktsa-vendors .vendors-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../images/photos/AdobeStock_332234118_21725.jpg"); /* <-- actualiza la ruta */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right center;
  z-index: 0;
}

/* Degradado para dar contraste al texto */
.ktsa-vendors .vendors-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right,
    rgba(255,255,255,0.95) 0%,
    rgba(255,255,255,0.88) 25%,
    rgba(255,255,255,0.40) 55%,
    rgba(255,255,255,0.00) 80%);
  z-index: 1;
}

/* Columna izquierda con contenido */
.ktsa-vendors .vendors-left {
  position: relative;
  z-index: 2;
  max-width: 620px;
}

/* Título y copys */
.ktsa-vendors .vendors-title {
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.2px;
  margin: 0 0 18px;
  color: #1f2937; /* gris muy oscuro */
  font-size: clamp(28px, 4.2vw, 46px);
}

.ktsa-vendors .vendors-copy p {
  margin: 0 0 0.75rem;
  font-size: 15px;
  color: #4b4b4b;
}

/* Banda azul con 3 CTAs centradas */
.ktsa-vendors .vendors-band {
  width: 100%;
  background-color: #0861FF; /* azul del sitio */
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 28px;
}

.ktsa-vendors .band-wrap {
  max-width: 1400px;
  width: 100%;
  padding: 10px 24px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  align-items: center;
}

/* Botones tipo pill */
.ktsa-vendors .cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 22px;
  border-radius: 999px;
  background: #e6eefc;
  color: #1f5dbb;
  font-weight: 700;
  font-size: 13.5px;
  text-decoration: none;
  box-shadow: 0 2px 0 rgba(0,0,0,0.08);
  transition: background 0.2s ease, transform 0.06s ease;
}

.ktsa-vendors .cta:hover { background: #ffffff; }
.ktsa-vendors .cta:active { transform: translateY(1px); }

/* Accesibilidad foco */
.ktsa-vendors .cta:focus-visible {
  outline: 3px solid #ff4fa3;
  outline-offset: 2px;
}

/* Responsivo */
@media (max-width: 980px) {
  .ktsa-vendors .vendors-hero { padding: 44px 20px; min-height: 420px; }
  .ktsa-vendors .band-wrap { grid-template-columns: 1fr; }
}

/* ===== Privacy ===== */
.ktsa-privacy { width: 100%; background: #ffffff; }

/* Hero contenedor */
.ktsa-privacy .privacy-hero {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
  min-height: 460px;
  padding: 60px 24px;
  display: grid;
  grid-template-columns: 1fr;
}

/* Imagen de fondo alineada a la derecha */
.ktsa-privacy .privacy-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../images/AdobeStock_332234118_21725.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right center;
  z-index: 0;
}

/* Degradado para dar contraste al texto */
.ktsa-privacy .privacy-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right,
    rgba(255,255,255,0.95) 0%,
    rgba(255,255,255,0.90) 28%,
    rgba(255,255,255,0.45) 55%,
    rgba(255,255,255,0.00) 80%);
  z-index: 1;
}

/* Columna izquierda con contenido */
.ktsa-privacy .privacy-left {
  position: relative;
  z-index: 2;
  max-width: 650px;
}

/* Título principal */
.ktsa-privacy .privacy-title {
  font-family: 'KPMG Sans Bold', Arial, sans-serif;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.2px;
  margin: 0 0 18px;
}
.ktsa-privacy .privacy-title .line1 {
  color: #1f5dbb; /* azul sitio para "Governance" */
  font-size: clamp(28px, 4vw, 44px);
}
.ktsa-privacy .privacy-title .line2 {
  color: #1f5dbb; /* tono fuerte para la segunda línea */
  font-size: clamp(30px, 4.6vw, 48px);
}

/* Texto */
.ktsa-privacy .privacy-copy p {
  margin: 0 0 1rem;
  font-size: 15px;
  color: #4b4b4b;
}

/* Botón ghost principal */
.ktsa-privacy .privacy-actions .btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 22px;
  border-radius: 999px;
  border: 2px solid #1f5dbb;
  background: transparent;
  color: #1f5dbb;
  font-weight: 700;
  font-size: 13.5px;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.06s ease;
}
.ktsa-privacy .privacy-actions .btn-ghost:hover {
  background: #e6eefc;
}
.ktsa-privacy .privacy-actions .btn-ghost:active {
  transform: translateY(1px);
}
.ktsa-privacy .privacy-actions .btn-ghost:focus-visible {
  outline: 3px solid #ff4fa3;
  outline-offset: 2px;
}


/* Banda azul con CTAs */
.ktsa-privacy .privacy-band {
  width: 100%;
  background-color: #1f5dbb; /* azul */
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 28px;
  padding: 16px 0; /* más aire vertical */
}

.ktsa-privacy .band-wrap {
  max-width: 1400px;
  width: 100%;
  padding: 12px 28px; /* más aire lateral */
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr)); /* columnas con mínimo ancho */
  gap: 28px; /* separa más los botones */
  align-items: center;
  justify-items: center; /* centra cada CTA */
}

/* Botones pill */
.ktsa-privacy .cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px; /* pill más ancho y consistente */
  padding: 10px 22px;
  border-radius: 999px;
  background: #e6eefc;
  color: #1f5dbb;
  font-weight: 700;
  font-size: 13.5px;
  text-decoration: none;
  box-shadow: 0 2px 0 rgba(0,0,0,0.08);
  transition: background 0.2s ease, transform 0.06s ease;
}
.ktsa-privacy .cta:hover { background: #ffffff; }
.ktsa-privacy .cta:active { transform: translateY(1px); }
.ktsa-privacy .cta:focus-visible {
  outline: 3px solid #ff4fa3;
  outline-offset: 2px;
}

/* Responsivo */
@media (max-width: 980px) {
  .ktsa-privacy .privacy-hero { padding: 44px 20px; min-height: 420px; }
  .ktsa-privacy .band-wrap { grid-template-columns: 1fr; gap: 12px; } /* en mobile, menos gap para compactar */
  .ktsa-privacy .cta { min-width: auto; width: 100%; } /* CTA ocupa todo el ancho en una columna */
}

/* ===================================
   TIPOGRAFÍA MOBILE (max-width: 640px)
   =================================== */
@media (max-width: 640px) {
  /* Títulos - KPMG Sans Bold */
  h1, h2, h3, h4, h5, h6,
  .title, .hero-title, .why-title, .wwd-title, .life-title, 
  .evp-title, .mas-title, .voices-title, .blogs-title {
    font-family: 'KPMG Sans Bold', Arial, Helvetica, sans-serif !important;
    font-weight: 700;
  }

  /* Subtítulos y texto normal - Arial Regular */
  .subtitle, .hero-subtitle, p.subtitle,
  p, span, li, td, th {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 400;
  }

  /* Énfasis - Arial Bold */
  strong, b, .bold-text, .emphasis {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 700;
    font-style: normal;
  }

  /* Resaltado - Arial Italic */
  em, i, .italic-text, .highlight {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 400;
    font-style: italic;
  }

  /* Énfasis + Resaltado - Arial Bold Italic */
  strong em, b em, em strong, em b, 
  .bold-italic {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 700;
    font-style: italic;
  }

  /* Cuerpo principal en mobile */
  body {
    font-family: Arial, Helvetica, sans-serif !important;
  }
}
/* ===================================
   CARRUSEL DE TESTIMONIOS (mismo diseño que blogs)
   =================================== */
.testimonials-column {
  background: #f6f7fa;
  border-radius: 0;
  padding: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.testimonials-description {
  color: #4b4b4b;
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 16px;
}

.testimonials-carousel-wrapper {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
}

.testimonials-carousel {
  width: 100%;
  overflow: hidden;
  border-radius: 0;
  position: relative;
}

@media (max-width: 1024px) {
  .testimonials-carousel {
    overflow-x: hidden;
  }
}

.testimonials-track {
  display: flex;
  gap: 12px;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
  flex-wrap: nowrap;
}

@media (max-width: 1024px) {
  .testimonials-track {
    gap: 0;
  }
  
  .testimonial-tile {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

/* Tiles de testimonios - 2 COLUMNAS RECTANGULARES CON CARRUSEL */
.testimonial-tile {
  background: #ffffff;
  border-radius: 0;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  width: calc(50% - 8px);
  min-width: calc(50% - 8px);
  max-width: calc(50% - 8px);
  align-self: stretch;
  flex-shrink: 0;
  cursor: default;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.testimonial-tile:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

.testimonial-tile-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: center 15%;
  flex-shrink: 0;
  pointer-events: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
  transform: translateZ(0);
}

/* .testimonial-tile:hover .testimonial-tile-image - scale eliminado para evitar pixelación */

.testimonial-tile-content {
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  flex: 1;
  background: #0047AB;
  text-align: center;
  min-height: 200px;
  overflow: visible;
  position: relative;
}

.testimonial-text {
  font-size: 13px;
  font-weight: 400;
  color: #ffffff;
  margin: 0;
  line-height: 1.5;
  width: 100%;
  font-style: italic;
  flex: 1;
  position: relative;
  padding-left: 24px;
  padding-top: 8px;
}

.testimonial-text::before {
  content: '\201C';
  font-size: 48px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.25);
  position: absolute;
  left: 0;
  top: -4px;
  font-family: Georgia, serif;
  font-weight: bold;
  z-index: 0;
  pointer-events: none;
}

.testimonial-text em {
  position: relative;
  z-index: 1;
}

.testimonial-author {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: auto;
  width: 100%;
}

.testimonial-author strong {
  font-size: 13px;
  color: #ffffff;
  font-weight: 700;
  margin: 0;
}

.testimonial-author span {
  font-size: 11px;
  color: #ffffff;
  font-weight: 500;
  opacity: 0.9;
  margin: 0;
}

.carousel-btn.testimonials-prev,
.carousel-btn.testimonials-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.95);
  border: 2px solid #1f5dbb;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  flex-shrink: 0;
  z-index: 15;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.carousel-btn.testimonials-prev svg,
.carousel-btn.testimonials-next svg {
  width: 24px;
  height: 24px;
  stroke: #1f5dbb;
  stroke-width: 2;
  fill: none;
}

.carousel-btn.testimonials-prev:hover,
.carousel-btn.testimonials-next:hover {
  background: #1f5dbb;
  transform: translateY(-50%) scale(1.1);
  border-color: #1f5dbb;
  box-shadow: 0 4px 12px rgba(31, 93, 187, 0.3);
}

.carousel-btn.testimonials-prev:hover svg,
.carousel-btn.testimonials-next:hover svg {
  stroke: #ffffff;
}

.carousel-btn.testimonials-prev:disabled,
.carousel-btn.testimonials-next:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.carousel-btn.testimonials-prev:disabled:hover,
.carousel-btn.testimonials-next:disabled:hover {
  background: rgba(255, 255, 255, 0.95);
  transform: translateY(-50%) scale(1);
}

.carousel-btn.testimonials-prev {
  left: 10px;
}

.carousel-btn.testimonials-next {
  right: 10px;
}

@media (min-width: 1025px) {
  .testimonials-carousel-wrapper {
    padding: 0 56px; /* Espacio para chevrones fuera de la card */
  }

  .carousel-btn.testimonials-prev {
    left: 0;
  }

  .carousel-btn.testimonials-next {
    right: 0;
  }
}

/* Tablets - pantallas medianas (ventana a mitad) */
@media (max-width: 1024px) and (min-width: 768px) {
  .carousel-btn.testimonials-prev,
  .carousel-btn.testimonials-next {
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
  }
  
  .carousel-btn.testimonials-prev svg,
  .carousel-btn.testimonials-next svg {
    width: 18px;
    height: 18px;
  }
}

.testimonials-indicators {
  display: none;
}

@media (max-width: 1024px) {
  .testimonials-indicators {
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    width: 100%;
  }
}

.testimonial-indicator {
  width: 10px;
  height: 10px;
  min-width: 10px;
  min-height: 10px;
  border-radius: 50%;
  border: 1.5px solid var(--brand-blue);
  background: transparent;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
  box-sizing: content-box;
  -webkit-appearance: none;
  appearance: none;
}

.testimonial-indicator.active {
  background: var(--brand-blue);
  transform: scale(1.1);
}

.testimonial-indicator:hover {
  background: var(--brand-blue);
  opacity: 0.7;
}

/* ===================================
   SECCIÓN DE BLOGS (ANCHO COMPLETO)
   =================================== */
.blogs-section-full {
  width: 100%;
  margin-top: 80px;
  padding: 0 20px;
}

.blogs-section-full .blogs-column {
  max-width: 1400px;
  margin: 0 auto;
}

.blogs-section-full .blogs-carousel-wrapper {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
}

.blogs-section-full .blogs-carousel {
  width: 100%;
  overflow: hidden;
  border-radius: 0;
  position: relative;
}

@media (max-width: 1024px) {
  .blogs-section-full .blogs-carousel {
    overflow-x: hidden;
  }
}

.blogs-section-full .blogs-track {
  display: flex;
  gap: 0;
  transition: transform 1s ease-in-out;
  will-change: transform;
  flex-wrap: nowrap;
  width: max-content;
}

@media (max-width: 1024px) {
  .blogs-section-full .blogs-track {
    transition: transform 1s ease-in-out !important;
  }
}

.blogs-section-full .blog-tile {
  background: #ffffff;
  border-radius: 0;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex !important;
  flex-direction: column;
  width: 50%;
  min-width: 50%;
  max-width: 50%;
  height: 450px;
  flex-shrink: 0;
  cursor: pointer;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Desktop: 2 blogs lado a lado */
@media (min-width: 1025px) {
  .blogs-section-full .blog-tile {
    width: 50% !important;
    min-width: 50% !important;
    max-width: 50% !important;
  }
  
  .blogs-section-full .blogs-track {
    gap: 0;
  }
}

.blogs-section-full .blog-tile:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.blogs-section-full .blog-tile-image {
  width: 100% !important;
  height: 250px !important;
  max-height: 250px;
  min-height: 250px;
  object-fit: cover;
  object-position: center center;
  display: block;
  aspect-ratio: auto;
  flex-shrink: 0;
}

.blogs-section-full .blog-tile-content {
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 8px;
  flex: 1;
  background: #0047AB;
  min-height: auto;
}

.blogs-section-full .blog-tile-title {
  font-size: 22px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 8px;
  line-height: 1.2;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.blogs-section-full .blog-tile-date {
  font-size: 12px;
  color: #ffffff;
  opacity: 0.9;
  margin: 0 0 8px;
}

.blogs-section-full .blog-tile-link {
  color: #ffffff !important;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  display: inline-block;
  margin-top: auto;
}

.blogs-section-full .blog-tile-link:hover {
  text-decoration: underline;
}

/* Indicadores para blogs */
.blogs-indicators {
  display: none !important;
}

.blog-indicator {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1.5px solid var(--brand-blue);
  background: transparent;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
}

.blog-indicator.active {
  background: var(--brand-blue);
  transform: scale(1.1);
}

.blog-indicator:hover {
  background: var(--brand-blue);
  opacity: 0.7;
}

/* Estilos para botones de navegación del carrusel de blogs */
.blogs-section-full .carousel-btn.carousel-prev,
.blogs-section-full .carousel-btn.carousel-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.95);
  border: 2px solid #1f5dbb;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  flex-shrink: 0;
  z-index: 15;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.blogs-section-full .carousel-btn.carousel-prev svg,
.blogs-section-full .carousel-btn.carousel-next svg {
  width: 24px;
  height: 24px;
  stroke: #1f5dbb;
  stroke-width: 2;
  fill: none;
}

.blogs-section-full .carousel-btn.carousel-prev:hover,
.blogs-section-full .carousel-btn.carousel-next:hover {
  background: #1f5dbb;
  transform: translateY(-50%) scale(1.1);
  border-color: #1f5dbb;
  box-shadow: 0 4px 12px rgba(31, 93, 187, 0.3);
}

.blogs-section-full .carousel-btn.carousel-prev:hover svg,
.blogs-section-full .carousel-btn.carousel-next:hover svg {
  stroke: #ffffff;
}

.blogs-section-full .carousel-btn.carousel-prev:disabled,
.blogs-section-full .carousel-btn.carousel-next:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.blogs-section-full .carousel-btn.carousel-prev:disabled:hover,
.blogs-section-full .carousel-btn.carousel-next:disabled:hover {
  background: rgba(255, 255, 255, 0.95);
  transform: translateY(-50%) scale(1);
}

.blogs-section-full .carousel-btn.carousel-prev {
  left: 10px;
}

.blogs-section-full .carousel-btn.carousel-next {
  right: 10px;
}

@media (min-width: 1025px) {
  .blogs-section-full .blogs-carousel-wrapper {
    padding: 0 60px;
  }
}

/* Responsive para testimonios */
@media (max-width: 1024px) {
  .voices-blogs-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  .voices-header {
    text-align: center;
  }
  
  .testimonials-column {
    width: 100%;
    padding: 16px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  
  .testimonials-column .column-title,
  .testimonials-column .testimonials-description {
    width: 100%;
    text-align: center;
  }
  
  .testimonials-carousel-wrapper {
    margin: 0 auto;
    padding: 0 48px;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
  }
  
  .testimonials-carousel {
    width: 100%;
    overflow: hidden;
  }
  
  .testimonials-track {
    gap: 0;
  }
  
  .carousel-btn.testimonials-prev {
    left: 2px;
  }

  .carousel-btn.testimonials-next {
    right: 2px;
  }
  
  .testimonial-tile {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto;
    margin: 0 !important;
  }
  
  .testimonial-tile-image {
    height: 220px;
  }

  .testimonial-tile-content {
    padding: 20px 28px;
    gap: 6px;
  }

  .testimonial-text {
    font-size: 16px;
    line-height: 1.55;
    padding-left: 28px;
    padding-top: 8px;
  }

  .testimonial-text::before {
    font-size: 52px;
    left: -6px;
    top: -10px;
  }

  .testimonial-author {
    margin-top: 4px;
    gap: 2px;
  }

  .testimonial-author strong {
    font-size: 15px;
  }

  .testimonial-author span {
    font-size: 13px;
  }
  
  .blogs-section-full {
    margin-top: 40px;
  }
  
  .blogs-section-full .blogs-carousel-wrapper {
    padding: 0 60px;
  }
  
  .blogs-section-full .blogs-track {
    gap: 0;
  }
  
  .blogs-section-full .blog-tile {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 420px;
    margin-right: 0 !important;
    margin-left: 0 !important;
    flex-shrink: 0 !important;
  }
  
  .blogs-section-full .blog-tile-image {
    height: 220px;
  }
  
  .blogs-section-full .carousel-btn.carousel-prev {
    left: 10px;
  }
  
  .blogs-section-full .carousel-btn.carousel-next {
    right: 10px;
  }
}

@media (max-width: 767px) {
  /* Testimonios en móvil */
  .testimonials-carousel-wrapper {
    padding: 0 50px;
  }
  
  .testimonial-tile-image {
    height: 200px;
  }
  
  .carousel-btn.testimonials-prev,
  .carousel-btn.testimonials-next {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }
  
  .carousel-btn.testimonials-prev svg,
  .carousel-btn.testimonials-next svg {
    width: 22px;
    height: 22px;
  }
  
  .carousel-btn.testimonials-prev {
    left: 5px;
  }
  
  .carousel-btn.testimonials-next {
    right: 5px;
  }
  
  /* Blogs en móvil */
  .blogs-section-full {
    padding: 0 16px;
    margin-top: 60px;
  }
  
  .blogs-section-full .blogs-carousel-wrapper {
    padding: 0 60px;
  }
  
  .blogs-section-full .blog-tile-title {
    font-size: 19px;
  }
  
  .blogs-section-full .blog-tile-date {
    font-size: 11px;
  }
  
  .blogs-section-full .carousel-btn.carousel-prev,
  .blogs-section-full .carousel-btn.carousel-next {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }
  
  .blogs-section-full .carousel-btn.carousel-prev svg,
  .blogs-section-full .carousel-btn.carousel-next svg {
    width: 22px;
    height: 22px;
  }
  
  .blogs-section-full .carousel-btn.carousel-prev {
    left: 5px;
  }
  
  .blogs-section-full .carousel-btn.carousel-next {
    right: 5px;
  }
  
}

@media (max-width: 640px) {
  .testimonials-carousel-wrapper {
    padding: 0 40px;
    width: 100%;
    box-sizing: border-box;
  }
  
  .testimonials-carousel {
    width: 100%;
    overflow: hidden;
  }
  
  .testimonial-tile {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto;
  }
  
  .testimonial-tile-image {
    height: 180px;
  }
  
  .testimonial-tile-content {
    padding: 16px 12px;
  }
  
  .testimonial-text {
    font-size: 12px;
  }
  
  .testimonial-text::before {
    font-size: 40px;
    left: -4px;
    top: -6px;
    color: rgba(255, 255, 255, 0.6);
  }
  
  .testimonial-author strong {
    font-size: 12px;
  }
  
  .testimonial-author span {
    font-size: 11px;
  }
  
  .carousel-btn.testimonials-prev,
  .carousel-btn.testimonials-next {
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
    max-width: 36px;
    max-height: 36px;
    aspect-ratio: 1 / 1;
  }
  
  .carousel-btn.testimonials-prev svg,
  .carousel-btn.testimonials-next svg {
    width: 18px;
    height: 18px;
  }
  
  .carousel-btn.testimonials-prev {
    left: 5px;
  }
  
  .carousel-btn.testimonials-next {
    right: 5px;
  }
  
  /* Blogs en móviles pequeños */
  .blogs-section-full {
    padding: 0 12px;
    margin-top: 50px;
  }
  
  .blogs-section-full .blogs-carousel-wrapper {
    padding: 0 48px;
  }
  
  .blogs-section-full .blog-tile {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 400px;
  }
  
  .blogs-section-full .blog-tile-image {
    height: 200px;
  }
  
  .blogs-section-full .blog-tile-content {
    padding: 16px 12px;
  }
  
  .blogs-section-full .blog-tile-title {
    font-size: 17px;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  
  .blogs-section-full .blog-tile-date {
    font-size: 11px;
    margin: 0 0 6px;
  }
  
  .blogs-section-full .blog-tile-link {
    font-size: 15px;
  }
  
  .blogs-section-full .carousel-btn.carousel-prev,
  .blogs-section-full .carousel-btn.carousel-next {
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
  }
  
  .blogs-section-full .carousel-btn.carousel-prev svg,
  .blogs-section-full .carousel-btn.carousel-next svg {
    width: 20px;
    height: 20px;
  }
  
  .blogs-section-full .carousel-btn.carousel-prev {
    left: 5px;
  }
  
  .blogs-section-full .carousel-btn.carousel-next {
    right: 5px;
  }
}

/* Ultra-small viewports (< 200px width) */
@media (max-width: 200px) {
  .testimonials-carousel-wrapper {
    padding: 0 30px !important;
  }
  
  .testimonials-carousel-wrapper .carousel-btn.testimonials-prev,
  .testimonials-carousel-wrapper .carousel-btn.testimonials-next {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    max-width: 26px !important;
    max-height: 26px !important;
    border-width: 1px !important;
    aspect-ratio: 1 / 1 !important;
  }
  
  .testimonials-carousel-wrapper .carousel-btn.testimonials-prev svg,
  .testimonials-carousel-wrapper .carousel-btn.testimonials-next svg {
    width: 13px !important;
    height: 13px !important;
  }
  
  .testimonials-carousel-wrapper .carousel-btn.testimonials-prev {
    left: 2px !important;
  }
  
  .testimonials-carousel-wrapper .carousel-btn.testimonials-next {
    right: 2px !important;
  }
  
  .blogs-section-full .blogs-carousel-wrapper {
    padding: 0 30px !important;
  }
  
  .blogs-section-full .carousel-btn.carousel-prev,
  .blogs-section-full .carousel-btn.carousel-next {
    width: 28px;
    height: 28px;
    min-width: 28px;
    min-height: 28px;
    border-width: 1px;
  }
  
  .blogs-section-full .carousel-btn.carousel-prev svg,
  .blogs-section-full .carousel-btn.carousel-next svg {
    width: 14px;
    height: 14px;
  }
  
  .blogs-section-full .carousel-btn.carousel-prev {
    left: 2px;
  }
  
  .blogs-section-full .carousel-btn.carousel-next {
    right: 2px;
  }
}

/* Media query para dispositivos muy angostos (Galaxy Z Fold 5) */
@media (max-width: 360px) {
  .blogs-section-full .blogs-carousel-wrapper {
    padding: 0 38px;
  }
  
  .blogs-section-full .blog-tile {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
  
  .blogs-section-full .carousel-btn.carousel-prev,
  .blogs-section-full .carousel-btn.carousel-next {
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
  }
  
  .blogs-section-full .carousel-btn.carousel-prev svg,
  .blogs-section-full .carousel-btn.carousel-next svg {
    width: 14px;
    height: 14px;
  }
  
  .blogs-section-full .carousel-btn.carousel-prev {
    left: 1px;
  }
  
  .blogs-section-full .carousel-btn.carousel-next {
    right: 1px;
  }
  
  .blogs-section-full .blog-tile-title {
    font-size: 16px;
  }
  
  .blogs-section-full .blog-tile-content {
    padding: 14px 10px;
  }
}
/* CRITICAL FIX: Forzar tama�os correctos en ventanas redimensionadas manualmente */
@media (max-width: 640px) {
  body .testimonials-carousel-wrapper .carousel-btn.testimonials-prev,
  body .testimonials-carousel-wrapper .carousel-btn.testimonials-next {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    aspect-ratio: 1 / 1 !important;
  }
  
  body .testimonials-carousel-wrapper .carousel-btn svg {
    width: 18px !important;
    height: 18px !important;
  }
}

@media (max-width: 480px) {
  body .testimonials-carousel-wrapper .carousel-btn.testimonials-prev,
  body .testimonials-carousel-wrapper .carousel-btn.testimonials-next {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
  }
  
  body .testimonials-carousel-wrapper .carousel-btn svg {
    width: 16px !important;
    height: 16px !important;
  }
}

@media (max-width: 300px) {
  body .testimonials-carousel-wrapper .carousel-btn.testimonials-prev,
  body .testimonials-carousel-wrapper .carousel-btn.testimonials-next {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
  }
  
  body .testimonials-carousel-wrapper .carousel-btn svg {
    width: 14px !important;
    height: 14px !important;
  }
  
  body .testimonials-carousel-wrapper {
    padding: 0 32px !important;
  }
}
