@charset "UTF-8";
/* ==========================================================
   1. FUNCIONES
   ========================================================== */
/* ==========================================================
   2. MEDIA QUERIES
   ========================================================== */
/* ==========================================================
   3. INTERACCIÓN
   ========================================================== */
/* ==========================================================
   4. ACCESIBILIDAD
   ========================================================== */
:root {
  /* ==========================================================
   1. COLOR — PRIMARIOS Y BASE
   ========================================================== */
  --enisa-color-primary: #00ceb1;
  --enisa-color-black: #000000;
  --enisa-color-white: #ffffff;
  --enisa-color-gray-neutral: #eeeeee;
  --enisa-color-primary-10: rgba(0, 206, 177, 0.1);
  --enisa-color-primary-20: rgba(0, 206, 177, 0.2);
  --enisa-color-primary-30: rgba(0, 206, 177, 0.3);
  --enisa-color-primary-40: rgba(0, 206, 177, 0.4);
  --enisa-color-primary-50: rgba(0, 206, 177, 0.5);
  --enisa-color-primary-60: rgba(0, 206, 177, 0.6);
  --enisa-color-primary-70: rgba(0, 206, 177, 0.7);
  --enisa-color-primary-80: rgba(0, 206, 177, 0.8);
  --enisa-color-primary-90: rgba(0, 206, 177, 0.9);
  /* ==========================================================
   2. COLOR — SECUNDARIOS / ACENTOS
   ========================================================== */
  --enisa-color-blue: #01abff;
  --enisa-color-cyan: #00ffff;
  --enisa-color-green: #01edb1;
  --enisa-color-yellow: #ffed00;
  --enisa-color-orange: #ff9624;
  --enisa-color-pink: #ff91ff;
  /* ==========================================================
   3. COLOR — ESCALA DE GRISES
   ========================================================== */
  --enisa-gray-100: #35403e;
  --enisa-gray-90: #495754;
  --enisa-gray-80: #5f6d6b;
  --enisa-gray-70: #758481;
  --enisa-gray-60: #8b9b98;
  --enisa-gray-50: #a3b1af;
  --enisa-gray-40: #bbc8c6;
  --enisa-gray-30: #d5dfdd;
  --enisa-gray-20: #eff3f2;
  --enisa-gray-10: #f6f7f6;
  /* ==========================================================
   4. COLOR — SEMÁNTICOS
   ========================================================== */
  --enisa-color-success: #47b7a6;
  --enisa-color-warning: #efe348;
  --enisa-color-error: #d197c3;
  --enisa-color-error-text: #d197c3;
  --enisa-color-error-bg: #ffeaf1;
  --enisa-color-error-border: #d574b6;
  --enisa-color-footer-bg: #1b2422;
  --enisa-color-footer-border: #35403e;
  --enisa-color-footer-text: #d5dfdd;
  --enisa-color-footer-muted: #a3b1af;
  /* ==========================================================
   5. COLOR — GRADIENTES
   ========================================================== */
  --enisa-grad-1: linear-gradient(90deg, #ffed00 0%, #ff9624 50%, #ff91ff 100%);
  --enisa-grad-2: linear-gradient(90deg, #00ffff 0%, #ffed00 50.42%, #ff9624 100%);
  --enisa-grad-3: linear-gradient(90deg, #ff91ff 0%, #00ffff 49.74%, #00ceb1 100%);
  --enisa-grad-4: linear-gradient(90deg, #ffed00 0%, #00ffff 49.52%, #01abff 100%);
  --enisa-grad-illus-a: linear-gradient(13.83deg, #ff91ff 10.14%, #01abff 46.79%, #01edb1 83.43%);
  --enisa-grad-illus-b: linear-gradient(314.36deg, #ff9624 4.47%, #ffed00 52.24%, #00ffff 97.71%);
  --enisa-grad-illus-c: linear-gradient(45.31deg, #01abff 0.26%, #ffed00 47.75%, #ff9624 97.66%);
  --enisa-grad-illus-d: linear-gradient(225deg, #ff91ff 0%, #00ffff 100%);
  /* ==========================================================
   6. TIPOGRAFÍA — FAMILIAS Y PESOS
   ========================================================== */
  --enisa-font-display: "Svatopluk", "Georgia", serif;
  --enisa-font-body: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --enisa-fw-regular: 400;
  --enisa-fw-medium: 500;
  --enisa-fw-semibold: 600;
  --enisa-fw-bold: 700;
  --enisa-fw-black: 900;
  /* ==========================================================
   7. TIPOGRAFÍA — UI KIT BASE
   ========================================================== */
  --enisa-size-h0: 3rem;
  --enisa-lh-h0: 1.1667;
  --enisa-fw-h0: var(--enisa-fw-bold);
  --enisa-font-h0: var(--enisa-font-display);
  --enisa-size-h1: 2.5rem;
  --enisa-lh-h1: 1.2;
  --enisa-fw-h1: var(--enisa-fw-semibold);
  --enisa-font-h1: var(--enisa-font-display);
  --enisa-size-h2: 2rem;
  --enisa-lh-h2: 1.25;
  --enisa-fw-h2: var(--enisa-fw-semibold);
  --enisa-font-h2: var(--enisa-font-display);
  --enisa-size-h3: 1.5rem;
  --enisa-lh-h3: 1.3333;
  --enisa-fw-h3: var(--enisa-fw-regular);
  --enisa-font-h3: var(--enisa-font-display);
  --enisa-size-h4: 1.125rem;
  --enisa-lh-h4: 1.3333;
  --enisa-fw-h4: var(--enisa-fw-semibold);
  --enisa-font-h4: var(--enisa-font-display);
  --enisa-size-body: 1.125rem;
  --enisa-lh-body: 1.3333;
  --enisa-fw-body: var(--enisa-fw-regular);
  --enisa-font-body-token: var(--enisa-font-body);
  --enisa-size-body-s: 1rem;
  --enisa-lh-body-s: 1.5;
  --enisa-fw-body-s: var(--enisa-fw-regular);
  --enisa-font-body-s: var(--enisa-font-body);
  --enisa-size-body-xs: 0.875rem;
  --enisa-lh-body-xs: 1.4286;
  --enisa-fw-body-xs: var(--enisa-fw-regular);
  --enisa-font-body-xs: var(--enisa-font-body);
  /* ==========================================================
   8. TIPOGRAFÍA — DISPLAY / HERO SCALE
   ========================================================== */
  --enisa-size-display-xl: max(2rem, 6.25vw);
  --enisa-lh-display-xl: 1.09;
  --enisa-fw-display-xl: var(--enisa-fw-bold);
  --enisa-font-display-xl: var(--enisa-font-display);
  --enisa-size-display-lg: max(1.75rem, 5.556vw);
  --enisa-lh-display-lg: 1.13;
  --enisa-fw-display-lg: var(--enisa-fw-semibold);
  --enisa-font-display-lg: var(--enisa-font-display);
  --enisa-size-display-md: max(1.5rem, 4.861vw);
  --enisa-lh-display-md: 1.11;
  --enisa-fw-display-md: var(--enisa-fw-semibold);
  --enisa-font-display-md: var(--enisa-font-display);
  --enisa-size-display-sm: max(1.25rem, 3.889vw);
  --enisa-lh-display-sm: 1.2;
  --enisa-fw-display-sm: var(--enisa-fw-semibold);
  --enisa-font-display-sm: var(--enisa-font-display);
  --enisa-size-title-lg: max(1.5rem, 3.333vw);
  --enisa-lh-title-lg: 1.21;
  --enisa-fw-title-lg: var(--enisa-fw-semibold);
  --enisa-font-title-lg: var(--enisa-font-display);
  --enisa-size-title-md: max(1.25rem, 2.778vw);
  --enisa-lh-title-md: 1.2;
  --enisa-fw-title-md: var(--enisa-fw-bold);
  --enisa-font-title-md: var(--enisa-font-display);
  --enisa-size-title-sm: max(1.125rem, 2.222vw);
  --enisa-lh-title-sm: 1.31;
  --enisa-fw-title-sm: var(--enisa-fw-regular);
  --enisa-font-title-sm: var(--enisa-font-body);
  --enisa-size-copy-lg: max(1rem, 1.667vw);
  --enisa-lh-copy-lg: 1.667;
  --enisa-fw-copy-lg: var(--enisa-fw-regular);
  --enisa-font-copy-lg: var(--enisa-font-body);
  --enisa-size-copy-md: max(0.9375rem, 1.25vw);
  --enisa-lh-copy-md: 1.3333;
  --enisa-fw-copy-md: var(--enisa-fw-semibold);
  --enisa-font-copy-md: var(--enisa-font-body);
  --enisa-size-copy-sm: max(0.875rem, 1.111vw);
  --enisa-lh-copy-sm: 1.5;
  --enisa-fw-copy-sm: var(--enisa-fw-regular);
  --enisa-font-copy-sm: var(--enisa-font-body);
  --enisa-size-copy-sm-strong: max(0.875rem, 1.111vw);
  --enisa-lh-copy-sm-strong: 1.5;
  --enisa-fw-copy-sm-strong: var(--enisa-fw-medium);
  --enisa-font-copy-sm-strong: var(--enisa-font-body);
  --enisa-size-copy-xs: max(0.75rem, 0.972vw);
  --enisa-lh-copy-xs: 1.43;
  --enisa-fw-copy-xs: var(--enisa-fw-regular);
  --enisa-font-copy-xs: var(--enisa-font-body);
  --enisa-size-cta: max(1rem, 1.389vw);
  --enisa-lh-cta: 1;
  --enisa-fw-cta: var(--enisa-fw-semibold);
  --enisa-font-cta: var(--enisa-font-body);
  --enisa-size-stat: max(2.25rem, 4.444vw);
  --enisa-lh-stat: 0.75;
  --enisa-fw-stat: var(--enisa-fw-bold);
  --enisa-font-stat: var(--enisa-font-display);
  --enisa-ls-btn: 0.5px;
  /* ==========================================================
   9. LAYOUT — FRAME DE PÁGINA Y RETÍCULA
   ========================================================== */
  --enisa-page-padding: 1.5rem;
  --enisa-page-frame: calc(100vw - (var(--enisa-page-padding) * 2));
  --enisa-grid-content-max: 69.375rem;
  --enisa-grid-content-width: min(100%, var(--enisa-grid-content-max));
  --enisa-grid-gutter: 1rem;
  --enisa-cols-desktop: 12;
  --enisa-cols-mobile: 4;
  --enisa-grid-offset-desktop: 0.9375rem;
  --enisa-grid-offset-mobile: 1.5rem;
  --enisa-section-shell-max: var(--enisa-page-frame);
  --enisa-section-grid-max: min(var(--enisa-page-frame), var(--enisa-grid-content-max));
  /* ==========================================================
   10. ESPACIADO — ESCALA BASE
   ========================================================== */
  --enisa-space-1: 0.25rem;
  --enisa-space-2: 0.5rem;
  --enisa-space-3: 0.75rem;
  --enisa-space-4: 0.875rem;
  --enisa-space-5: 1.25rem;
  --enisa-space-6: 1.75rem;
  --enisa-space-7: 2.25rem;
  --enisa-space-8: 2.75rem;
  --enisa-space-9: 3.25rem;
  --enisa-space-10: 3.75rem;
  --enisa-space-11: 4.125rem;
  --enisa-space-12: 4.5rem;
  /* ==========================================================
   11. ESPACIADO — SECCIONES Y STACKS
   ========================================================== */
  --enisa-space-section-v: 3rem;
  --enisa-space-section-v-lg: 4rem;
  --enisa-space-gap-hero: 2.5rem;
  --enisa-section-gap: 1.75rem;
  --enisa-section-gap-lg: 2.5rem;
  --enisa-stack-gap-xs: 0.75rem;
  --enisa-stack-gap-sm: 1rem;
  --enisa-stack-gap-md: 1.5rem;
  --enisa-stack-gap-lg: 2rem;
  --enisa-stack-gap-xl: 2.5rem;
  /* ==========================================================
   12. BORDES Y RADIOS
   ========================================================== */
  --enisa-radius-sm: 0.5rem;
  --enisa-radius-md: 1rem;
  --enisa-radius-lg: 1.5rem;
  --enisa-radius-xl: 2rem;
  --enisa-radius-pill: 999px;
  --enisa-radius-blob: 3000px;
  --enisa-radius-circle: 50%;
  /* ==========================================================
   13. SOMBRAS Y OVERLAYS
   ========================================================== */
  --enisa-shadow-card: 0 6px 16px rgba(0, 0, 0, 0.03);
  --enisa-shadow-accord: 2px 2px 8px rgba(0, 0, 0, 0.1);
  --enisa-shadow-nav: 0 1px 0 rgba(0, 0, 0, 0.06);
  --enisa-shadow-dropdown: 0 8px 32px rgba(0, 0, 0, 0.12);
  --enisa-shadow-hover: 0 12px 28px rgba(0, 0, 0, 0.08);
  --enisa-overlay-photo: rgba(0, 0, 0, 0.4);
  --enisa-overlay-dark: rgba(0, 0, 0, 0.15);
  --enisa-nav-backdrop: blur(12px);
  /* ==========================================================
   14. HEADER — ESTRUCTURA
   ========================================================== */
  --enisa-header-h: 4.5rem;
  --enisa-header-offset: var(--enisa-header-h);
  --enisa-header-inner-gap: 1rem;
  --enisa-header-nav-gap: 1rem;
  --enisa-header-actions-gap: 0.75rem;
  --enisa-header-dropdown-pill-w: clamp(30rem, 37vw, 66rem);
  /* ==========================================================
   15. CONTROLES — TAMAÑOS BASE Y TÁCTIL
   ========================================================== */
  --enisa-control-touch-min: 2.75rem;
  --enisa-control-sm: 2.75rem;
  --enisa-control-md: 3rem;
  --enisa-control-lg: 3.5rem;
  /* ==========================================================
   16. BOTONES
   ========================================================== */
  --enisa-btn-h-sm: 3rem;
  --enisa-btn-h-md: 3.5rem;
  --enisa-btn-h-lg: 3.5rem;
  --enisa-btn-py-sm: 0.75rem;
  --enisa-btn-py-md: 1rem;
  --enisa-btn-py-lg: 1rem;
  --enisa-btn-px: 1.5rem;
  --enisa-btn-radius: var(--enisa-radius-pill);
  --enisa-btn-ls: var(--enisa-ls-btn);
  --enisa-btn-fs-sm: var(--enisa-size-copy-sm-strong);
  --enisa-btn-fw-sm: var(--enisa-fw-medium);
  --enisa-btn-fs-md: var(--enisa-size-copy-md);
  --enisa-btn-fw-md: var(--enisa-fw-semibold);
  --enisa-btn-fs-lg: var(--enisa-size-cta);
  --enisa-btn-fw-lg: var(--enisa-fw-semibold);

  --enisa-btn-primary-bg: var(--enisa-color-primary);
  --enisa-btn-primary-color: var(--enisa-color-black);
  --enisa-btn-primary-bg-dis: var(--enisa-gray-20);
  --enisa-btn-primary-color-dis: var(--enisa-gray-70);
  --enisa-btn-primary-ring: 2px solid var(--enisa-color-primary);

  --enisa-btn-secondary-bg: var(--enisa-color-white);
  --enisa-btn-secondary-color: var(--enisa-color-black);
  --enisa-btn-secondary-border: 1px solid var(--enisa-color-black);
  --enisa-btn-secondary-bg-press: var(--enisa-gray-40);
  --enisa-btn-secondary-bg-dis: var(--enisa-gray-20);
  --enisa-btn-secondary-color-dis: var(--enisa-gray-70);

  --enisa-btn-ghost-color: var(--enisa-color-black);
  --enisa-btn-ghost-color-dis: var(--enisa-gray-70);
  /* ==========================================================
   17. INPUTS Y FORMULARIOS
   ========================================================== */
  --enisa-input-bg: var(--enisa-gray-20);
  --enisa-input-border-focus: 1px solid var(--enisa-color-black);
  --enisa-input-border-hover: 1px solid var(--enisa-gray-80);
  --enisa-input-bg-outlined: var(--enisa-color-white);
  --enisa-input-border-outlined: 1px solid var(--enisa-gray-60);
  --enisa-input-border-out-focus: 1px solid var(--enisa-color-black);
  --enisa-input-border-out-hover: 1px solid var(--enisa-gray-80);
  --enisa-input-bg-error: var(--enisa-color-error-bg);
  --enisa-input-border-error: 1px solid var(--enisa-color-error-border);
  --enisa-input-color-error: var(--enisa-color-error-text);
  --enisa-input-h-sm: 3rem;
  --enisa-input-h-md: 3.5rem;
  --enisa-input-h-area: 6rem;
  --enisa-input-radius: var(--enisa-radius-sm);
  --enisa-input-px: 1rem;
  --enisa-input-label: var(--enisa-color-black);
  --enisa-input-placeholder: var(--enisa-gray-90);
  --enisa-input-value: var(--enisa-color-black);
  --enisa-input-helper: var(--enisa-gray-80);
  /* ==========================================================
   18. CHECKBOX / RADIO
   ========================================================== */
  --enisa-control-check-size: 1.5rem;
  --enisa-control-check-radius: 0.25rem;
  --enisa-control-radio-radius: 0.75rem;
  --enisa-control-border-default: 1px solid var(--enisa-gray-70);
  --enisa-control-border-focus: 1px solid var(--enisa-color-black);
  --enisa-control-bg-unchecked: var(--enisa-color-white);
  --enisa-control-bg-checked: var(--enisa-color-black);
  --enisa-control-bg-checked-alt: var(--enisa-color-primary);
  --enisa-control-mark-color: var(--enisa-color-white);
  --enisa-control-bg-error: var(--enisa-color-error-bg);
  --enisa-control-border-error: 1px solid var(--enisa-color-error-text);
  /* ==========================================================
   19. ACORDEONES
   ========================================================== */
  --enisa-accord-bg: var(--enisa-color-white);
  --enisa-accord-border: 1px solid var(--enisa-gray-20);
  --enisa-accord-shadow: var(--enisa-shadow-accord);
  --enisa-accord-radius: var(--enisa-radius-xl);
  --enisa-accord-h: 4rem;
  --enisa-accord-line: 1px solid var(--enisa-gray-40);
  --enisa-accord-icon-open: var(--enisa-color-primary);
  --enisa-accord-icon-closed: var(--enisa-color-gray-neutral);
  --enisa-accord-icon-size: 2.5rem;
  --enisa-accord-body-color: var(--enisa-gray-90);
  --enisa-accord-body-size: var(--enisa-size-copy-md);
  --enisa-accord-body-lh: var(--enisa-lh-copy-md);
  /* ==========================================================
   20. TABLAS
   ========================================================== */
  --enisa-table-header-bg: var(--enisa-color-primary);
  --enisa-table-header-color: var(--enisa-color-black);
  --enisa-table-header-border: 1px solid var(--enisa-color-black);
  --enisa-table-header-fs: 0.875rem;
  --enisa-table-header-fw: var(--enisa-fw-bold);
  --enisa-table-header-transform: uppercase;
  --enisa-table-header-h: 2.5rem;
  --enisa-table-row-h: 3.5rem;
  --enisa-table-row-alt-bg: var(--enisa-color-primary-10);
  --enisa-table-row-border: 1px solid var(--enisa-gray-40);
  --enisa-table-cell-color: var(--enisa-gray-100);
  --enisa-table-cell-fs: var(--enisa-size-copy-sm);
  --enisa-table-cell-lh: var(--enisa-lh-copy-sm);
  /* ==========================================================
   21. CARDS
   ========================================================== */
  --enisa-card-white-bg: var(--enisa-color-white);
  --enisa-card-white-shadow: var(--enisa-shadow-card);
  --enisa-card-grey-bg: var(--enisa-color-gray-neutral);
  --enisa-card-photo-overlay: var(--enisa-overlay-photo);
  --enisa-card-outline-bg: var(--enisa-color-white);
  --enisa-card-outline-border: 1px solid var(--enisa-color-black);
  --enisa-card-radius: var(--enisa-radius-pill);
  --enisa-card-radius-mobile: var(--enisa-radius-xl);
  /* ==========================================================
   22. ICONOS
   ========================================================== */
  --enisa-icon-sm: 1rem;
  --enisa-icon-md: 1.5rem;
  --enisa-icon-lg: 2rem;
  --enisa-icon-xl: 4rem;
  --enisa-icon-container-size: 4rem;
  --enisa-icon-container-radius: var(--enisa-radius-circle);
  --enisa-icon-container-bg: var(--enisa-color-white);
  --enisa-icon-bg-cyan: #00ffff;
  --enisa-icon-bg-green: #01edb1;
  --enisa-icon-bg-yellow: #ffed00;
  --enisa-icon-bg-orange: #ffa100;
  --enisa-icon-bg-pink: #ff91ff;
  --enisa-icon-bg-blue: #01abff;
  --enisa-icon-bg-teal: var(--enisa-color-primary);
  --enisa-icon-pill-h: 3rem;
  --enisa-icon-pill-radius: var(--enisa-radius-pill);
  --enisa-icon-pill-border: 1px solid rgba(0, 0, 0, 0.1);
  --enisa-icon-pill-border-dark: 1px solid rgba(255, 255, 255, 0.3);
  /* ==========================================================
   23. SLIDER / CARRUSEL
   ========================================================== */
  --enisa-slider-dot-size: 0.625rem;
  --enisa-slider-dot-active-w: 2.1875rem;
  --enisa-slider-dot-bg: var(--enisa-gray-40);
  --enisa-slider-dot-active: var(--enisa-color-black);
  --enisa-slider-btn-size: 2rem;
  --enisa-slider-btn-radius: var(--enisa-radius-circle);
  --enisa-slider-btn-bg: var(--enisa-color-primary);
  --enisa-slider-btn-border: 2px solid var(--enisa-color-black);
  /* ==========================================================
   24. MIGAS DE PAN
   ========================================================== */
  --enisa-breadcrumb-fs: 0.875rem;
  --enisa-breadcrumb-lh: 1.14;
  --enisa-breadcrumb-active-fw: var(--enisa-fw-semibold);
  --enisa-breadcrumb-active-color: var(--enisa-color-black);
  --enisa-breadcrumb-muted-color: var(--enisa-gray-100);
  --enisa-breadcrumb-gap: 0.5rem;
  --enisa-breadcrumb-separator: 1rem;
  /* ==========================================================
   25. BUSCADOR
   ========================================================== */
  --enisa-search-h-sm: 3rem;
  --enisa-search-h-md: 3.5rem;
  --enisa-search-radius: var(--enisa-radius-sm);
  --enisa-search-border: 1px solid var(--enisa-gray-60);
  --enisa-search-btn-bg: var(--enisa-color-primary);
  --enisa-search-btn-radius: 2rem;
  --enisa-search-btn-fw: var(--enisa-fw-semibold);
  /* ==========================================================
   26. NAVEGACIÓN / HEADER UI
   ========================================================== */
  --enisa-nav-pill-bg: var(--enisa-color-white);
  --enisa-nav-pill-radius: var(--enisa-radius-pill);
  --enisa-nav-pill-h: 3rem;
  --enisa-nav-item-fs: var(--enisa-size-copy-sm-strong);
  --enisa-nav-item-fw: var(--enisa-fw-medium);
  --enisa-nav-item-color: var(--enisa-color-black);
  --enisa-nav-item-hover-bg: var(--enisa-gray-20);
  --enisa-nav-item-active-bg: var(--enisa-gray-20);
  --enisa-nav-icon-btn-size: 3rem;
  --enisa-nav-icon-btn-bg: var(--enisa-color-white);
  --enisa-nav-icon-btn-radius: var(--enisa-radius-circle);
  --enisa-logo-h-desktop: 3rem;
  --enisa-logo-h-mobile: 2.375rem;
  --enisa-dropdown-bg: var(--enisa-color-white);
  --enisa-dropdown-radius: 1rem;
  --enisa-dropdown-shadow: var(--enisa-shadow-dropdown);
  --enisa-dropdown-item-selected-bg: var(--enisa-gray-10);
  --enisa-dropdown-item-active-bg: var(--enisa-gray-100);
  --enisa-dropdown-item-active-color: var(--enisa-color-white);
  /* ==========================================================
   27. FOOTER
   ========================================================== */
  --enisa-footer-bg: var(--enisa-color-footer-bg);
  --enisa-footer-border: var(--enisa-color-footer-border);
  --enisa-footer-text: var(--enisa-color-footer-text);
  --enisa-footer-muted: var(--enisa-color-footer-muted);
  --enisa-footer-link-hover: var(--enisa-color-white);
  --enisa-footer-divider: 1px solid var(--enisa-color-footer-border);
  --enisa-footer-label-fs: var(--enisa-size-copy-xs);
  --enisa-footer-label-fw: var(--enisa-fw-semibold);
  --enisa-footer-label-color: var(--enisa-color-white);
  --enisa-footer-link-fs: var(--enisa-size-copy-xs);
  --enisa-footer-copy-fs: var(--enisa-size-copy-xs);
  --enisa-footer-logo-h: 3rem;
  --enisa-footer-logo-filter: brightness(0) invert(1);
  --enisa-social-btn-size: 2.25rem;
  --enisa-social-btn-radius: var(--enisa-radius-circle);
  --enisa-social-btn-bg: rgba(255, 255, 255, 0.08);
  --enisa-social-btn-bg-hover: rgba(255, 255, 255, 0.16);
  /* ==========================================================
   28. INTERACCIÓN Y ACCESIBILIDAD
   ========================================================== */
  --enisa-focus-ring: 0 0 0 3px rgba(0, 206, 177, 0.4);
  --enisa-focus-ring-offset: 3px;
  --enisa-transition-fast: 0.12s ease;
  --enisa-transition-base: 0.18s ease;
  --enisa-transition-slow: 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --enisa-scale-press: 0.97;
  /* ==========================================================
   29. Z-INDEX
   ========================================================== */
  --enisa-z-base: 1;
  --enisa-z-above: 10;
  --enisa-z-nav: 100;
  --enisa-z-overlay: 200;
  --enisa-z-modal: 300;
  --enisa-z-toast: 400;
  /* ==========================================================
   30. TICKER / BANDA ANIMADA
   ========================================================== */
  --enisa-ticker-item-h: max(10rem, 19.444vw);
  --enisa-ticker-item-minw: max(43.75rem, 91.042vw);
  --enisa-ticker-item-bg: var(--enisa-gray-20);
  --enisa-ticker-gap: 1px;
  --enisa-ticker-duration: 40s;
  /* ==========================================================
   31. DECORACIÓN HERO
   ========================================================== */
  --enisa-hero-circle-size: max(12.5rem, 22.5vw);
  --enisa-hero-pill-w: max(18.75rem, 40.139vw);
  --enisa-hero-pill-h: max(10.3125rem, 22.153vw);
  --enisa-hero-pill-radius: var(--enisa-radius-blob);
  --enisa-stats-pill-h: max(11.25rem, 15.903vw);
  --enisa-stats-pill-radius: var(--enisa-radius-blob);
  /* ==========================================================
   32. ALIASES — COMPATIBILIDAD / TRANSICIÓN
   ========================================================== */
  --enisa-black: var(--enisa-color-black);
  --enisa-white: var(--enisa-color-white);
  --enisa-primary: var(--enisa-color-primary);
  --enisa-green: var(--enisa-color-green);
  --enisa-primary-dark: var(--enisa-color-primary);
  --enisa-font-headings: var(--enisa-font-display);
  --enisa-container: var(--enisa-section-shell-max);
  --enisa-container-ultra: var(--enisa-section-shell-max);
  --enisa-gutter: var(--enisa-grid-gutter);
  --enisa-size-xl: var(--enisa-size-copy-lg);
  --enisa-lh-xl: var(--enisa-lh-copy-lg);
  --enisa-fw-xl: var(--enisa-fw-copy-lg);
  --enisa-font-xl: var(--enisa-font-copy-lg);
  --enisa-size-m: var(--enisa-size-copy-md);
  --enisa-lh-m: var(--enisa-lh-copy-md);
  --enisa-fw-m: var(--enisa-fw-copy-md);
  --enisa-font-m: var(--enisa-font-copy-md);
  --enisa-size-sb: var(--enisa-size-copy-sm-strong);
  --enisa-lh-sb: var(--enisa-lh-copy-sm-strong);
  --enisa-fw-sb: var(--enisa-fw-copy-sm-strong);
  --enisa-font-sb: var(--enisa-font-copy-sm-strong);
  --enisa-size-s: var(--enisa-size-copy-sm);
  --enisa-lh-s: var(--enisa-lh-copy-sm);
  --enisa-fw-s: var(--enisa-fw-copy-sm);
  --enisa-font-s: var(--enisa-font-copy-sm);
  --enisa-size-xs: var(--enisa-size-copy-xs);
  --enisa-lh-xs: var(--enisa-lh-copy-xs);
  --enisa-fw-xs: var(--enisa-fw-copy-xs);
  --enisa-font-xs: var(--enisa-font-copy-xs);
}

@media (min-width: 768px) {
  :root {
    /* ==========================================================
     33. RESPONSIVE — TABLET / SMALL DESKTOP BASE
     ========================================================== */
    --enisa-page-padding: max(1.5rem, 4.444vw);
    --enisa-page-frame: calc(100vw - (var(--enisa-page-padding) * 2));
    --enisa-grid-gutter: max(1rem, 1.667vw);
    --enisa-space-4: max(0.875rem, 1.111vw);
    --enisa-space-5: max(1.25rem, 1.667vw);
    --enisa-space-6: max(1.75rem, 2.222vw);
    --enisa-space-7: max(2.25rem, 2.778vw);
    --enisa-space-8: max(2.75rem, 3.333vw);
    --enisa-space-9: max(3.25rem, 3.889vw);
    --enisa-space-10: max(3.75rem, 4.444vw);
    --enisa-space-11: max(4.125rem, 5vw);
    --enisa-space-12: max(4.5rem, 5.556vw);
    --enisa-space-section-v: max(3rem, 5.556vw);
    --enisa-space-section-v-lg: max(4rem, 6.667vw);
    --enisa-space-gap-hero: max(2.5rem, 4.167vw);
    --enisa-section-gap: max(1.75rem, 2.222vw);
    --enisa-section-gap-lg: max(2.5rem, 3.333vw);
    --enisa-header-h: 5rem;
    --enisa-header-offset: var(--enisa-header-h);
    --enisa-btn-px: max(1.5rem, 2.222vw);
    --enisa-btn-py-lg: max(1rem, 1.389vw);
    --enisa-section-shell-max: var(--enisa-page-frame);
    --enisa-section-grid-max: min(var(--enisa-page-frame), var(--enisa-grid-content-max));
  }
}
@media (min-width: 1024px) and (hover: none) and (pointer: coarse) {
  :root {
    /* ==========================================================
     34. RESPONSIVE — TABLET GRANDE TÁCTIL
     ========================================================== */
    --enisa-page-padding: max(1.5rem, 5.469vw);
    --enisa-page-frame: calc(100vw - (var(--enisa-page-padding) * 2));
    --enisa-grid-gutter: max(1rem, 1.953vw);
    --enisa-header-h: 5.25rem;
    --enisa-header-offset: var(--enisa-header-h);
    --enisa-header-inner-gap: 1.25rem;
    --enisa-header-nav-gap: 1.25rem;
    --enisa-header-actions-gap: 1rem;
    --enisa-control-touch-min: 3rem;
    --enisa-control-sm: 3rem;
    --enisa-control-md: 3.25rem;
    --enisa-control-lg: 3.75rem;
    --enisa-btn-h-sm: 3.25rem;
    --enisa-btn-h-md: 3.5rem;
    --enisa-btn-h-lg: 3.75rem;
    --enisa-input-h-sm: 3.25rem;
    --enisa-input-h-md: 3.5rem;
    --enisa-input-h-area: 6.25rem;
    --enisa-nav-pill-h: 3.25rem;
    --enisa-nav-icon-btn-size: 3.25rem;
    --enisa-logo-h-desktop: 2.75rem;
    --enisa-section-shell-max: var(--enisa-page-frame);
    --enisa-section-grid-max: min(var(--enisa-page-frame), var(--enisa-grid-content-max));
  }
}
@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  :root {
    /* ==========================================================
     35. RESPONSIVE — LAPTOP / DESKTOP
     ========================================================== */
    --enisa-page-padding: max(1.5rem, 7.847vw);
    --enisa-page-frame: calc(100vw - (var(--enisa-page-padding) * 2));
    --enisa-grid-gutter: max(1rem, 2.083vw);
    --enisa-header-h: 5.75rem;
    --enisa-header-offset: var(--enisa-header-h);
    --enisa-header-inner-gap: 1.5rem;
    --enisa-header-nav-gap: 1.5rem;
    --enisa-header-actions-gap: 1rem;
    --enisa-control-touch-min: 2.75rem;
    --enisa-control-sm: 2.5rem;
    --enisa-control-md: 3rem;
    --enisa-control-lg: max(3.5rem, 4.444vw);
    --enisa-btn-h-sm: 3rem;
    --enisa-btn-h-md: 3.5rem;
    --enisa-btn-h-lg: max(3.5rem, 4.444vw);
    --enisa-input-h-sm: 3rem;
    --enisa-input-h-md: 3.5rem;
    --enisa-input-h-area: 6rem;
    --enisa-nav-pill-h: 3rem;
    --enisa-nav-icon-btn-size: 3rem;
    --enisa-logo-h-desktop: 3rem;
    --enisa-section-shell-max: var(--enisa-page-frame);
    --enisa-section-grid-max: min(var(--enisa-page-frame), var(--enisa-grid-content-max));
  }
}
@media (min-width: 1440px) {
  :root {
    /* ==========================================================
     36. ESCALADO PROPORCIONAL — DESKTOP XL
     ========================================================== */
    --enisa-page-padding: 7.847vw;
    --enisa-page-frame: calc(100vw - (var(--enisa-page-padding) * 2));
    --enisa-grid-content-max: 77.083vw;
    --enisa-grid-gutter: 2.083vw;
    --enisa-grid-offset-desktop: 1.042vw;
    --enisa-space-1: 0.278vw;
    --enisa-space-2: 0.556vw;
    --enisa-space-3: 0.833vw;
    --enisa-space-4: 1.111vw;
    --enisa-space-5: 1.667vw;
    --enisa-space-6: 2.222vw;
    --enisa-space-7: 2.778vw;
    --enisa-space-8: 3.333vw;
    --enisa-space-9: 3.889vw;
    --enisa-space-10: 4.444vw;
    --enisa-space-11: 5vw;
    --enisa-space-12: 5.556vw;
    --enisa-space-section-v: 6.944vw;
    --enisa-space-section-v-lg: 8.333vw;
    --enisa-space-gap-hero: 4.167vw;
    --enisa-section-gap: 2.222vw;
    --enisa-section-gap-lg: 3.333vw;
    --enisa-header-h: 6.389vw;
    --enisa-header-offset: var(--enisa-header-h);
    --enisa-header-inner-gap: 1.667vw;
    --enisa-header-nav-gap: 1.667vw;
    --enisa-header-actions-gap: 1.111vw;
    --enisa-radius-sm: 0.556vw;
    --enisa-radius-md: 1.111vw;
    --enisa-radius-lg: 1.667vw;
    --enisa-radius-xl: 2.222vw;
    --enisa-control-sm: 2.778vw;
    --enisa-control-md: 3.333vw;
    --enisa-control-lg: 4.444vw;
    --enisa-btn-h-sm: 3.333vw;
    --enisa-btn-h-md: 3.889vw;
    --enisa-btn-h-lg: 4.444vw;
    --enisa-btn-px: 2.222vw;
    --enisa-btn-py-sm: 0.833vw;
    --enisa-btn-py-md: 1.111vw;
    --enisa-btn-py-lg: 1.389vw;
    --enisa-input-h-sm: 3.333vw;
    --enisa-input-h-md: 3.889vw;
    --enisa-input-h-area: 6.667vw;
    --enisa-input-px: 1.111vw;
    --enisa-control-check-size: 1.667vw;
    --enisa-control-check-radius: 0.278vw;
    --enisa-control-radio-radius: 0.833vw;
    --enisa-accord-h: 4.444vw;
    --enisa-accord-icon-size: 2.778vw;
    --enisa-table-header-h: 2.778vw;
    --enisa-table-row-h: 3.889vw;
    --enisa-icon-sm: 1.111vw;
    --enisa-icon-md: 1.667vw;
    --enisa-icon-lg: 2.222vw;
    --enisa-icon-xl: 4.444vw;
    --enisa-icon-container-size: 4.444vw;
    --enisa-icon-pill-h: 3.333vw;
    --enisa-slider-dot-size: 0.694vw;
    --enisa-slider-dot-active-w: 2.431vw;
    --enisa-slider-btn-size: 2.222vw;
    --enisa-breadcrumb-gap: 0.556vw;
    --enisa-breadcrumb-separator: 1.111vw;
    --enisa-search-h-sm: 3.333vw;
    --enisa-search-h-md: 3.889vw;
    --enisa-search-btn-radius: 2.222vw;
    --enisa-nav-pill-h: 3.333vw;
    --enisa-nav-icon-btn-size: 3.333vw;
    --enisa-logo-h-desktop: 3.333vw;
    --enisa-dropdown-radius: 1.111vw;
    --enisa-footer-logo-h: 3.333vw;
    --enisa-social-btn-size: 2.5vw;
    --enisa-section-shell-max: var(--enisa-page-frame);
    --enisa-section-grid-max: min(var(--enisa-page-frame), var(--enisa-grid-content-max));
  }
}
/* =========================
   SVATOPLUK
   ========================= */
@font-face {
  font-family: "Svatopluk";
  src: url("/assets/fonts/Svatopluk-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Svatopluk";
  src: url("/assets/fonts/Svatopluk-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Svatopluk";
  src: url("/assets/fonts/Svatopluk-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Svatopluk";
  src: url("/assets/fonts/Svatopluk-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Svatopluk";
  src: url("/assets/fonts/Svatopluk-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
/* =========================
   DM SANS
   ========================= */
@font-face {
  font-family: "DM Sans";
  src: url("/assets/fonts/DMSans-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  src: url("/assets/fonts/DMSans-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  src: url("/assets/fonts/DMSans-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  src: url("/assets/fonts/DMSans-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* ==========================================================
   1. DOCUMENTO
   ========================================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  width: 100%;
  min-width: 20rem;
  font-size: 100%;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  width: 100%;
  margin: 0;
}

/* ==========================================================
   2. ESTRUCTURA HTML5
   ========================================================== */
main,
header,
footer,
section,
article,
aside,
nav {
  display: block;
}

/* ==========================================================
   3. MEDIA
   ========================================================== */
img,
picture,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
}

img,
video {
  height: auto;
}

iframe {
  display: block;
  max-width: 100%;
  border: 0;
}

/* ==========================================================
   4. FORMULARIOS
   ========================================================== */
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

button {
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}

textarea {
  resize: vertical;
}

/* ==========================================================
   5. ELEMENTOS DE BLOQUE
   ========================================================== */
figure,
blockquote,
dl,
dd,
fieldset {
  margin: 0;
}

fieldset,
legend {
  padding: 0;
  border: 0;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block: 0;
}

/* ==========================================================
   6. LISTAS Y TABLAS
   ========================================================== */
ul[class],
ol[class] {
  margin: 0;
  padding: 0;
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* ==========================================================
   1. DOCUMENTO BASE
   ========================================================== */
html,
body {
  min-height: 100%;
}

body {
  font-family: var(--enisa-font-body);
  font-size: var(--enisa-size-body);
  line-height: var(--enisa-lh-body);
  font-weight: var(--enisa-fw-body);
  color: var(--enisa-gray-90);
  background-color: var(--enisa-color-white);
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

/* ==========================================================
   2. ESTRUCTURA GLOBAL
   ========================================================== */
main,
.page,
.page-layout,
.page-layout__main,
.page-layout__content {
  width: 100%;
  max-width: none;
}

/* ==========================================================
   3. TIPOGRAFÍA BASE
   ========================================================== */
h1,
.h1 {
  font-family: var(--enisa-font-h1);
  font-size: var(--enisa-size-h1);
  line-height: var(--enisa-lh-h1);
  font-weight: var(--enisa-fw-h1);
  color: var(--enisa-color-black);
}

h2,
.h2 {
  font-family: var(--enisa-font-h2);
  font-size: var(--enisa-size-h2);
  line-height: var(--enisa-lh-h2);
  font-weight: var(--enisa-fw-h2);
  color: var(--enisa-color-black);
}

h3,
.h3 {
  font-family: var(--enisa-font-h3);
  font-size: var(--enisa-size-h3);
  line-height: var(--enisa-lh-h3);
  font-weight: var(--enisa-fw-h3);
  color: var(--enisa-color-black);
}

h4,
.h4 {
  font-family: var(--enisa-font-h4);
  font-size: var(--enisa-size-h4);
  line-height: var(--enisa-lh-h4);
  font-weight: var(--enisa-fw-h4);
  color: var(--enisa-color-black);
}

p,
li,
dt,
dd {
  font-size: var(--enisa-size-body);
  line-height: var(--enisa-lh-body);
}

small {
  font-size: var(--enisa-size-body-xs);
  line-height: var(--enisa-lh-body-xs);
}

strong,
b {
  font-weight: var(--enisa-fw-bold);
}

/* ==========================================================
   4. ENLACES
   ========================================================== */
a {
  color: var(--enisa-color-black);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1875rem;
  transition: color var(--enisa-transition-base), text-decoration-color var(--enisa-transition-base);
}

a:hover {
  color: var(--enisa-color-primary);
}

a:not([class]) {
  overflow-wrap: anywhere;
}

a.highlight {
  font-size: var(--enisa-size-body);
  line-height: var(--enisa-lh-body);
  color: var(--enisa-color-primary);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1875rem;
  transition: color var(--enisa-transition-base), text-decoration-color var(--enisa-transition-base);
}

a.highlight:hover {
  color: var(--enisa-color-success);
}

/* ==========================================================
   5. ELEMENTOS COMUNES
   ========================================================== */
hr {
  margin-block: var(--enisa-space-6);
  border: 0;
  border-top: 1px solid var(--enisa-gray-30);
}

::selection {
  background: var(--enisa-color-primary);
  color: var(--enisa-color-black);
}

[hidden] {
  display: none !important;
}

[disabled],
[aria-disabled=true] {
  cursor: not-allowed;
}

h1,
h2,
h3,
h4,
.h0,
.h1,
.h2,
.h3,
.h4 {
  margin: 0 0 var(--enisa-space-4);
  font-family: var(--enisa-font-display);
  color: var(--enisa-color-black);
  letter-spacing: 0;
}

.h0 {
  font-size: var(--enisa-size-h1);
  line-height: var(--enisa-lh-h1);
  font-weight: var(--enisa-fw-black);
}

h1,
.h1 {
  font-size: var(--enisa-size-h1);
  line-height: var(--enisa-lh-h1);
  font-weight: var(--enisa-fw-bold);
}

h2,
.h2 {
  font-size: var(--enisa-size-h2);
  line-height: var(--enisa-lh-h2);
  font-weight: var(--enisa-fw-bold);
}

h3,
.h3 {
  font-size: var(--enisa-size-h3);
  line-height: var(--enisa-lh-h3);
  font-weight: var(--enisa-fw-semibold);
}

h4,
.h4 {
  font-size: var(--enisa-size-h4);
  line-height: var(--enisa-lh-h4);
  font-weight: var(--enisa-fw-semibold);
}

p {
  margin: 0 0 var(--enisa-space-4);
}

.body-s,
.small {
  font-size: var(--enisa-size-s);
  line-height: var(--enisa-lh-s);
  font-weight: var(--enisa-fw-s);
}

.body-xs,
.xs {
  font-size: var(--enisa-size-xs);
  line-height: var(--enisa-lh-xs);
  font-weight: var(--enisa-fw-xs);
}

ul:not([class]),
ol:not([class]) {
  margin: 0 0 var(--enisa-space-4);
  padding-left: 1.25rem;
}

li:not([class]) + li:not([class]) {
  margin-top: var(--enisa-space-2);
}

/* ==========================================================
   1. FOCO
   ========================================================== */
:where(a, button, input, select, textarea, summary, [tabindex]):focus {
  outline: none;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: none;
  box-shadow: var(--enisa-focus-ring);
  border-radius: 0.375rem;
}

button::-moz-focus-inner {
  border: 0;
}

/* ==========================================================
   2. ESTADOS DE ERROR
   ========================================================== */
:where(input, select, textarea)[aria-invalid=true]:focus-visible,
:where(.is-error input, .is-error select, .is-error textarea):focus-visible {
  box-shadow: 0 0 0 3px rgba(208, 92, 119, 0.22);
}

/* ==========================================================
   3. COMPORTAMIENTOS DE APOYO
   ========================================================== */
[aria-hidden=true] {
  pointer-events: none;
}

/* ==========================================================
   4. REDUCCIÓN DE MOVIMIENTO
   ========================================================== */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
/* ==========================================================
   1. WRAPPERS DE LAYOUT
   ========================================================== */
.layout-shell,
.layout-content,
.layout-wide,
.layout-ultra {
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--enisa-page-padding);
}

.layout-shell,
.layout-wide,
.layout-ultra {
  max-width: calc(var(--enisa-section-shell-max) + var(--enisa-page-padding) * 2);
}

.layout-content {
  max-width: calc(var(--enisa-section-grid-max) + var(--enisa-page-padding) * 2);
}

/* ==========================================================
   2. FULL BLEED
   ========================================================== */
.layout-bleed {
  width: 100%;
  max-width: none;
  padding-inline: 0;
}

/* ==========================================================
   3. UTILIDADES DE INTERIOR
   ========================================================== */
.layout-grid-inner {
  width: 100%;
  max-width: var(--enisa-section-grid-max);
  margin-inline: auto;
}

.layout-shell-inner {
  width: 100%;
  max-width: var(--enisa-section-shell-max);
  margin-inline: auto;
}

.enisa-header {
  --enisa-header-open-offset: 96px;
  --enisa-header-inline-padding: var(--enisa-page-padding);
  position: sticky;
  top: 0;
  z-index: 1030;
  width: 100%;
  background: transparent;
  isolation: isolate;
  transition: background-color var(--enisa-transition-base), box-shadow var(--enisa-transition-base);
}

.enisa-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: transparent;
  transition: background-color var(--enisa-transition-base), box-shadow var(--enisa-transition-base);
}

.enisa-header::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  background: rgba(163, 177, 175, 0.48);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--enisa-transition-base);
}

.enisa-header.has-open-dropdown::after {
  opacity: 1;
}

.enisa-header__container {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: none;
  padding-top: 1.5rem;
  padding-right: var(--enisa-header-inline-padding);
  padding-bottom: 1.5rem;
  padding-left: var(--enisa-header-inline-padding);
}

/* =========================
   HEADER BAR
   ========================= */
.enisa-header__bar {
  position: relative;
  z-index: 20;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  column-gap: max(1rem, 1.667vw);
}

.enisa-header__bar-left,
.enisa-header__bar-right {
  display: flex;
  align-items: center;
  min-width: 0;
}

.enisa-header__bar-center {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  gap: max(1rem, 1.667vw);
}

.enisa-header__brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.enisa-header__brand--mobile {
  display: none;
}

.enisa-header__brand-img {
  display: block;
  height: var(--enisa-logo-h-desktop);
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

/* =========================
   NAV
   ========================= */
.enisa-header .navbar,
.enisa-header .navbar-collapse {
  padding: 0;
}

.enisa-nav {
  position: static;
  min-width: 0;
}

.enisa-nav__surface {
  position: relative;
  z-index: 21;
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0 max(1.125rem, 1.667vw);
  border-radius: var(--enisa-radius-pill);
  background: var(--enisa-color-white);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: background-color var(--enisa-transition-base), box-shadow var(--enisa-transition-base);
}

.enisa-nav__list.navbar-nav {
  display: flex;
  align-items: center;
  gap: max(1rem, 1.806vw);
  margin: 0;
  padding: 0;
  list-style: none;
}

.enisa-nav__item {
  position: static;
}

.enisa-nav__link.nav-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0;
  white-space: nowrap;
  text-decoration: none;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-body);
  font-weight: var(--enisa-fw-medium);
  font-size: var(--enisa-size-s);
  line-height: 1;
  transition: color var(--enisa-transition-base), font-weight var(--enisa-transition-base);
}

.enisa-nav__link.nav-link:hover,
.enisa-nav__link.nav-link:focus-visible {
  color: var(--enisa-color-black);
  font-weight: var(--enisa-fw-bold);
  text-decoration: none !important;
}

.enisa-nav__item.is-active > .enisa-nav__link,
.enisa-nav__item.active > .enisa-nav__link,
.enisa-nav__item.show > .enisa-nav__link,
.enisa-nav__link[aria-current=page] {
  font-weight: var(--enisa-fw-bold);
  text-decoration: none !important;
}

.enisa-nav__item.show > .enisa-nav__link.dropdown-toggle,
.enisa-nav__item.is-active > .enisa-nav__link.dropdown-toggle {
  font-weight: var(--enisa-fw-medium);
  border-bottom: 1px solid var(--enisa-color-black);
  border-radius: 0;
  text-decoration: none !important;
}

.enisa-nav__link.dropdown-toggle::after {
  margin-left: 0.5rem;
  vertical-align: middle;
  transition: transform var(--enisa-transition-base);
}

.enisa-nav__item.show > .enisa-nav__link.dropdown-toggle::after {
  transform: rotate(180deg);
}

/* =========================
   DESKTOP MEGA DROPDOWN
   ========================= */
.enisa-header__container {
  position: relative;
  z-index: 3;
}

.enisa-header__bar {
  position: relative;
  z-index: 30;
}

.enisa-nav {
  position: static;
}

.enisa-nav__surface {
  position: relative;
  z-index: 31;
}

.enisa-header__bar-left,
.enisa-header__bar-right {
  position: relative;
  z-index: 31;
}

.enisa-header.has-open-dropdown {
  background: var(--enisa-color-white);
}

.enisa-header.has-open-dropdown::before {
  background: var(--enisa-color-white);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
}

.enisa-header.has-open-dropdown .enisa-header__container {
  background: var(--enisa-color-white);
}

.enisa-header.has-open-dropdown .enisa-header__bar {
  background: var(--enisa-color-white);
}

.enisa-header.has-open-dropdown .enisa-nav__surface,
.enisa-header.has-open-dropdown .enisa-header__action,
.enisa-header.has-open-dropdown .enisa-header__toggle,
.enisa-header.has-open-dropdown .enisa-header__action--mobile-only {
  background: var(--enisa-color-white);
}

.enisa-header.has-open-dropdown .enisa-header__action,
.enisa-header.has-open-dropdown .enisa-header__toggle,
.enisa-header.has-open-dropdown .enisa-header__action--mobile-only {
  border: 0.5px solid var(--enisa-gray-80);
}

.enisa-nav__dropdown.dropdown-menu {
  position: fixed !important;
  top: var(--enisa-header-open-offset) !important;
  left: 0 !important;
  right: 0 !important;
  inset: auto 0 auto 0 !important;
  width: 100vw !important;
  min-width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 0 40px 40px !important;
  background: var(--enisa-color-white);
  transform: none !important;
  z-index: 10;
}

.dropdown-menu li {
  margin-top: 0 !important;
}

.enisa-nav__dropdown--mega {
  overflow: hidden;
}

.enisa-nav__dropdown-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px, 0.92fr) minmax(300px, 383px) minmax(280px, 331px);
  align-items: center;
  column-gap: clamp(2.5rem, 4.444vw, 4rem);
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding-top: 2.75rem;
  padding-right: var(--enisa-header-inline-padding);
  padding-bottom: 2.8125rem;
  padding-left: var(--enisa-header-inline-padding);
}

.enisa-nav__dropdown-col {
  min-width: 0;
}

.enisa-nav__dropdown-col--title {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 165px;
  overflow: visible;
}

.enisa-nav__dropdown-title-pill {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 36.125rem;
  max-width: 100%;
  min-height: 165px;
  padding: 1.5rem 2.5rem 1.5rem 7.0625rem;
  margin-left: -7.75rem;
  background: var(--enisa-gray-20);
  border-radius: 0 3000px 3000px 0;
}

.enisa-nav__item.show > .enisa-nav__dropdown .enisa-nav__dropdown-title-pill {
  animation: enisa-header-pill-in var(--enisa-header-motion-pill) var(--enisa-reveal-ease) both;
}

/* .enisa-nav__dropdown-title-pill {
  width: var(--enisa-header-dropdown-pill-w);
  min-height: var(--enisa-header-dropdown-pill-h);
  padding: 1.25rem 2rem 1.25rem var(--enisa-header-dropdown-pill-pad-start);
  margin-left: calc(var(--enisa-header-inline-padding) * -1);
} */

.enisa-nav__link.dropdown-toggle::after {
  content: "";
  display: inline-block;
  margin-left: 0.5rem;
  vertical-align: middle;
  border-top: 0.35em solid currentColor;
  border-right: 0.35em solid transparent;
  border-left: 0.35em solid transparent;
  transition: transform 0.2s ease;
}

.enisa-nav__item.show > .dropdown-toggle::after {
  transform: rotate(180deg);
}

.enisa-nav__dropdown-title {
  width: auto;
  min-width: 0;
  margin: 0;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-display);
  font-weight: 900;
  font-size: 3rem;
  line-height: 3.625rem;
  letter-spacing: 0;
}

.enisa-nav__dropdown-list {
  margin: 0;
  padding: 1.5rem 1.1875rem 1.5rem 0;
  list-style: none;
  /* border-right: 1px solid var(--enisa-gray-40); */
}

.enisa-nav__dropdown-list-item + .enisa-nav__dropdown-list-item {
  margin-top: 1.5rem;
}

.enisa-nav__dropdown-link-row {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: var(--enisa-color-black);
  transition: color var(--enisa-transition-base), transform var(--enisa-transition-base), font-weight var(--enisa-transition-base);
}

.enisa-nav__dropdown-link-row:hover,
.enisa-nav__dropdown-link-row:focus-visible {
  color: var(--enisa-color-black);
  text-decoration: none;
  transform: translateX(0.125rem);
}

.enisa-nav__dropdown-link-text {
  font-family: var(--enisa-font-body);
  font-size: var(--enisa-size-s);
  line-height: 1.3125rem;
  font-weight: var(--enisa-fw-medium);
  color: inherit;
}

.enisa-nav__dropdown-col--news {
  position: relative;
  padding-left: 1.75rem;
}

.enisa-nav__dropdown-news {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.enisa-nav__news-card {
  display: grid;
  grid-template-columns: 5rem 1fr;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
  color: inherit;
}

.enisa-nav__news-card-media {
  width: 5rem;
  height: 5rem;
  overflow: hidden;
  border-radius: var(--enisa-radius-circle);
  background: var(--enisa-gray-20);
  flex-shrink: 0;
}

.enisa-nav__news-card-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.enisa-nav__news-card-body {
  min-width: 0;
}

.enisa-nav__news-card-title {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--enisa-gray-100);
  font-family: var(--enisa-font-body);
  font-size: var(--enisa-size-s);
  line-height: 1.5rem;
  font-weight: 400;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  line-clamp: 3;
}

.enisa-nav__news-card-summary {
  display: none;
}

/* =========================
   ACTIONS
   ========================= */
.enisa-header__actions {
  display: flex;
  align-items: center;
}

.enisa-header__actions--desktop {
  gap: 0.75rem;
}

.enisa-header__action {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  height: 3.25rem;
  min-width: 3.25rem;
  padding: 0 1.125rem;
  border: 0;
  border-radius: var(--enisa-radius-pill);
  background: var(--enisa-color-white);
  color: var(--enisa-color-black);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  overflow: hidden;
  box-shadow: none;
  transition: background-color var(--enisa-transition-base), color var(--enisa-transition-base), box-shadow var(--enisa-transition-base), min-width var(--enisa-transition-base), padding var(--enisa-transition-base), transform 0.06s ease, border-color var(--enisa-transition-base);
}

.enisa-header__action:hover,
.enisa-header__action:focus-visible {
  background: var(--enisa-color-white);
  color: var(--enisa-color-black);
}

.enisa-header__action:active {
  transform: translateY(1px);
}

.enisa-header__action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 1rem;
  width: 1rem;
  height: 1rem;
}

.enisa-header__action-icon img {
  display: block;
  width: 1rem;
  height: 1rem;
}

.enisa-header__action-label {
  display: inline-block;
  order: -1;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  margin-right: 0;
  transform: translateX(0.5rem);
  font-family: var(--enisa-font-body);
  font-size: var(--enisa-size-s);
  line-height: 1;
  font-weight: var(--enisa-fw-medium);
  transition: max-width var(--enisa-transition-base), opacity var(--enisa-transition-base), transform var(--enisa-transition-base), margin-right var(--enisa-transition-base);
}

.enisa-header__action--reveal {
  min-width: 3.25rem;
}

.enisa-header__action--reveal:hover,
.enisa-header__action--reveal:focus-visible {
  min-width: 9.25rem;
}

.enisa-header__action--reveal:hover .enisa-header__action-label,
.enisa-header__action--reveal:focus-visible .enisa-header__action-label {
  max-width: max-content;
  opacity: 1;
  transform: translateX(0);
  margin-right: 0.5rem;
}

.enisa-header__action:focus-visible,
.enisa-header__toggle:focus-visible,
.enisa-header__mobile-actions-item:focus-visible,
.enisa-header__mobile-link:focus-visible,
.enisa-header__mobile-summary:focus-visible,
.enisa-nav__dropdown-link-row:focus-visible,
.enisa-header__mobile-panel-close:focus-visible,
.enisa-header__mobile-panel-user:focus-visible {
  outline: none;
  box-shadow: var(--enisa-focus-ring);
}

/* =========================================
   SEARCH OVERLAY - HEADER
   ========================================= */
.enisa-header__container {
  position: relative;
  z-index: 3;
}

.enisa-header__bar {
  position: relative;
  z-index: 30;
}

.enisa-overlay {
  position: fixed;
  inset: 0;
  z-index: 20;
  background: rgba(239, 243, 242, 0.98);
  backdrop-filter: blur(8px);
  overflow-y: auto;
}

.enisa-overlay[hidden] {
  display: none;
}

.enisa-overlay__close {
  position: fixed;
  top: clamp(0.875rem, 1.667vw, 1.5rem);
  right: var(--enisa-header-inline-padding);
  z-index: 35;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 3rem;
  block-size: 3rem;
  padding: 0;
  border: 0.5px solid var(--enisa-gray-80);
  border-radius: 50%;
  background: var(--enisa-color-white);
  transition: border-color var(--enisa-transition-base), background-color var(--enisa-transition-base), transform var(--enisa-transition-base);
}

.enisa-overlay__close:hover {
  border-color: var(--enisa-color-black);
  transform: translateY(-1px);
}

.enisa-overlay__close:focus-visible {
  outline: 2px solid var(--enisa-color-black);
  outline-offset: 2px;
}

.enisa-overlay__panel {
  width: 100%;
  max-width: 75.375rem;
  margin: 0 auto;
  padding-inline: 0;
  min-height: calc(100dvh - var(--enisa-header-open-offset));
  display: flex;
  align-items: center;
  justify-content: center;
}

.enisa-overlay__body {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.5rem;
  padding-block: clamp(2rem, 4vw, 3rem);
  transform: translateY(-2vh);
}

.enisa-overlay__title {
  margin: 0;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-display);
  font-size: 2.5rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
}

.enisa-overlay__form {
  width: 100%;
}

.enisa-overlay__field {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.enisa-overlay__input {
  inline-size: 100%;
  block-size: 4.375rem;
  padding: 0 5.5rem 0 2.5rem;
  border: 0.5px solid var(--enisa-gray-80);
  border-radius: 100px;
  background: var(--enisa-color-white);
  color: var(--enisa-gray-90);
  font-family: var(--enisa-font-body);
  font-size: 2rem;
  line-height: 1;
  font-weight: 400;
  appearance: none;
  transition: border-color var(--enisa-transition-base), box-shadow var(--enisa-transition-base), color var(--enisa-transition-base);
}

.enisa-overlay__input::placeholder {
  color: var(--enisa-gray-90);
  opacity: 1;
}

.enisa-overlay__input:hover {
  border-color: var(--enisa-color-black);
}

.enisa-overlay__input:focus-visible {
  outline: 2px solid var(--enisa-color-black);
  outline-offset: 2px;
}

.enisa-overlay__submit {
  position: absolute;
  top: 50%;
  right: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--enisa-color-black);
  transform: translateY(-50%);
}

.enisa-overlay__submit:hover {
  opacity: 0.72;
}

.enisa-overlay__submit:focus-visible {
  outline: 2px solid var(--enisa-color-black);
  outline-offset: 2px;
  border-radius: 50%;
}

.enisa-overlay__results {
  display: none;
}

body.search-overlay-is-open {
  overflow: hidden;
}

@media (min-width: 1440px) {
  .enisa-overlay__panel {
    max-width: 75.375rem;
  }
}
@media (max-width: 1279.98px) {
  .enisa-overlay__panel {
    max-width: calc(100% - 8rem);
  }
  .enisa-overlay__body {
    transform: translateY(-1vh);
  }
}
@media (max-width: 1023.98px) {
  .enisa-overlay {
    z-index: 1200;
    padding-inline: 1.5rem;
  }
  .enisa-overlay__close {
    top: 1.5rem;
    right: 1.5rem;
    inline-size: 3rem;
    block-size: 3rem;
  }
  .enisa-overlay__panel {
    max-width: 100%;
    min-height: 100dvh;
    padding-top: 5.5rem;
  }
  .enisa-overlay__body {
    gap: 2rem;
    transform: none;
  }
  .enisa-overlay__title {
    font-size: 2rem;
    line-height: 1.1;
  }
  .enisa-overlay__input {
    block-size: 4rem;
    padding: 0 4.5rem 0 1.5rem;
    font-size: 1.75rem;
  }
  .enisa-overlay__submit {
    right: 1.5rem;
  }
}
@media (max-width: 767.98px), (pointer: coarse) and (max-width: 991.98px) {
  .enisa-header__bar {
    z-index: 10;
  }
  .enisa-overlay {
    z-index: 1200;
    padding-inline: var(--enisa-page-padding);
  }
  .enisa-overlay__close {
    top: 1rem;
    right: var(--enisa-page-padding);
    inline-size: 2.75rem;
    block-size: 2.75rem;
  }
  .enisa-overlay__panel {
    min-height: 100dvh;
    padding-top: 4.75rem;
  }
  .enisa-overlay__body {
    gap: 1.5rem;
    padding-block: 1.5rem 2rem;
  }
  .enisa-overlay__title {
    font-size: 2rem;
    line-height: 1.15;
  }
  .enisa-overlay__input {
    block-size: 3.5rem;
    padding: 0 3.75rem 0 1.25rem;
    font-size: 1.25rem;
  }
  .enisa-overlay__submit {
    right: 1.25rem;
    inline-size: 1.25rem;
    block-size: 1.25rem;
  }
}
/* =========================
   OPEN STATES
   ========================= */
.enisa-header.has-open-dropdown,
.enisa-header.has-open-dropdown::before {
  background: var(--enisa-color-white);
}

.enisa-header.has-open-dropdown::before {
  box-shadow: 3px 3px 12px rgba(0, 0, 0, 0.12);
}

.enisa-header.has-open-dropdown .enisa-nav__surface,
.enisa-header.has-open-dropdown .enisa-header__action {
  background: var(--enisa-color-white);
}

.enisa-header.has-open-dropdown .enisa-header__action,
.enisa-header.has-open-dropdown .enisa-header__toggle,
.enisa-header.has-open-dropdown .enisa-header__action--mobile-only {
  border: 0.5px solid var(--enisa-gray-80);
}

/* =========================
   MOBILE TOGGLE
   ========================= */
.enisa-header__toggle {
  display: none;
  appearance: none;
  align-items: center;
  justify-content: center;
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0;
  border-radius: var(--enisa-radius-circle);
  background: var(--enisa-color-white);
  cursor: pointer;
  box-shadow: none;
  transition: background-color var(--enisa-transition-base), box-shadow var(--enisa-transition-base), border-color var(--enisa-transition-base);
}

.enisa-header__toggle img {
  display: block;
  width: 1rem;
  height: 1rem;
}

.enisa-header__action--mobile-only {
  display: none;
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
  padding: 0;
  justify-content: center;
  border-radius: var(--enisa-radius-circle);
  background: var(--enisa-color-white);
}

.enisa-header__action--mobile-only:hover,
.enisa-header__action--mobile-only:focus-visible {
  background: var(--enisa-color-white);
}

/* =========================
   MOBILE PANEL BASE
   ========================= */
.enisa-header__panel {
  display: none;
}

/* =========================
   SCROLLED
   ========================= */
.enisa-header.is-scrolled {
  background: var(--enisa-color-white);
}

.enisa-header.is-scrolled::before {
  background: var(--enisa-color-white);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
}

.enisa-header.is-scrolled .enisa-nav__surface {
  background: var(--enisa-color-white);
}

.enisa-header.is-scrolled .enisa-header__action {
  background: var(--enisa-color-white);
}

.enisa-header.is-scrolled .enisa-header__action,
.enisa-header.is-scrolled .enisa-header__toggle,
.enisa-header.is-scrolled .enisa-header__action--mobile-only {
  border: 0.5px solid var(--enisa-gray-80);
}

.enisa-header.is-scrolled .enisa-header__action:hover,
.enisa-header.is-scrolled .enisa-header__action:focus-visible,
.enisa-header.is-scrolled .enisa-header__toggle:hover,
.enisa-header.is-scrolled .enisa-header__toggle:focus-visible,
.enisa-header.is-scrolled .enisa-header__action--mobile-only:hover,
.enisa-header.is-scrolled .enisa-header__action--mobile-only:focus-visible {
  border: 0.5px solid var(--enisa-gray-80);
  background: var(--enisa-gray-10);
}

.enisa-header--overlay:not(.is-scrolled) {
  background: transparent;
}

.enisa-header--overlay:not(.is-scrolled)::before {
  background: transparent;
  box-shadow: none;
}

/* =========================
   ESCALADO CONTROLADO ≥ 1440px
   ========================= */
@media (min-width: 1440px) {
  .enisa-nav__dropdown-layout {
    grid-template-columns: 25.5rem 23.9375rem 20.6875rem;
    justify-content: space-between;
    column-gap: 4rem;
  }
}
/* =========================
   TABLET / SMALL DESKTOP
   ========================= */
@media (max-width: 1279.98px) {
  .enisa-header {
    --enisa-header-inline-padding: 4rem;
  }
  .enisa-nav__surface {
    padding: 0 1.25rem;
  }
  .enisa-nav__list.navbar-nav {
    gap: 1.125rem;
  }
  .enisa-nav__dropdown-layout {
    grid-template-columns: minmax(240px, 0.9fr) minmax(240px, 1fr) minmax(240px, 290px);
    column-gap: 2.5rem;
    max-width: 1280px;
    margin: 0 auto;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
  .enisa-nav__dropdown-title-pill {
    width: 30rem;
    min-height: 148px;
    padding: 1.25rem 2rem 1.25rem 5rem;
    margin-left: -5rem;
  }
  .enisa-nav__dropdown-title {
    font-size: 2.625rem;
    line-height: 3rem;
  }
  .enisa-nav__dropdown-list {
    padding-right: 1rem;
  }
  .enisa-nav__dropdown-col--news {
    padding-left: 1.25rem;
  }
}
/* =========================
   MOBILE
   ========================= */
@media (max-width: 1023.98px) {
  .enisa-header::after {
    display: none;
  }
  .enisa-header__container {
    padding-top: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 1.5rem;
  }
  .enisa-header__bar {
    grid-template-columns: 3rem 1fr 3rem;
    column-gap: 1.625rem;
  }
  .enisa-header__bar-left,
  .enisa-header__bar-right {
    justify-content: center;
  }
  .enisa-header__bar-center {
    justify-content: center;
    gap: 0;
  }
  .enisa-header__brand--desktop,
  .enisa-nav {
    display: none;
  }
  .enisa-header__brand--mobile {
    display: inline-flex;
    justify-content: center;
  }
  .enisa-header__brand-img {
    height: var(--enisa-logo-h-mobile);
    width: auto;
    max-width: 100%;
    object-fit: contain;
  }
  .enisa-header__toggle {
    display: inline-flex;
  }
  .enisa-header__actions--desktop {
    display: none;
  }
  .enisa-header__action--mobile-only {
    display: inline-flex;
  }
  .enisa-header.is-scrolled .enisa-header__brand-img {
    height: var(--enisa-logo-h-mobile);
    width: auto;
  }
  .enisa-nav__dropdown--mega {
    display: none !important;
  }
  .enisa-header.has-open-mobile-panel .enisa-header__bar {
    visibility: hidden;
    pointer-events: none;
  }
  .enisa-header__panel {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: none;
    padding: 0;
    background: rgba(163, 177, 175, 0.48);
  }
  .enisa-header__panel[aria-hidden=false] {
    display: block;
  }
  .enisa-header__panel-inner {
    position: relative;
    width: 100vw;
    min-height: 100dvh;
    margin: 0;
    border-radius: 0;
    padding: 0;
    background: var(--enisa-color-white);
    box-shadow: none;
    overflow-y: auto;
  }
  .enisa-header__mobile-panel-top {
    display: grid;
    grid-template-columns: 3rem 1fr 3rem;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 1.4375rem 0;
  }
  .enisa-header__mobile-panel-brand {
    display: inline-flex;
    justify-content: center;
    align-items: center;
  }
  .enisa-header__mobile-panel-brand img {
    display: block;
    height: var(--enisa-logo-h-mobile);
    width: auto;
    object-fit: contain;
  }
  .enisa-header__mobile-panel-close,
  .enisa-header__mobile-panel-user {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border: 1px solid var(--enisa-gray-80);
    border-radius: var(--enisa-radius-circle);
    background: var(--enisa-color-white);
  }
  .enisa-header__mobile-list,
  .enisa-header__mobile-sublist {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .enisa-header__mobile-nav {
    padding: 0.5rem 1.4375rem 0;
  }
  .enisa-header__mobile-item {
    border-bottom: 1px solid var(--enisa-color-black);
  }
  .enisa-header__mobile-item.has-children.is-open {
    border-bottom-color: var(--enisa-gray-50);
  }
  .enisa-header__mobile-link,
  .enisa-header__mobile-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 4.25rem;
    padding: 1.375rem 1rem;
    color: var(--enisa-color-black);
    text-decoration: none;
    font-family: var(--enisa-font-body);
    font-size: 1.125rem;
    line-height: 1.5rem;
    font-weight: 600;
    cursor: pointer;
  }
  .enisa-header__mobile-summary {
    list-style: none;
  }
  .enisa-header__mobile-summary::-webkit-details-marker {
    display: none;
  }
  .enisa-header__mobile-summary-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0.875rem;
    height: 0.75rem;
    transition: transform var(--enisa-transition-base);
  }
  .enisa-header__mobile-details[open] .enisa-header__mobile-summary-icon {
    transform: rotate(180deg);
  }
  .enisa-header__mobile-sublist {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 0 1.5rem;
    border-top: 1px solid var(--enisa-gray-50);
  }
  .enisa-header__mobile-subitem {
    border-bottom: 1px solid var(--enisa-gray-50);
  }
  .enisa-header__mobile-subitem:last-child {
    border-bottom: 0;
  }
  .enisa-header__mobile-sublink {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1rem 1.25rem 2rem;
    color: var(--enisa-gray-90);
    text-decoration: none;
    font-family: var(--enisa-font-body);
    font-size: 1rem;
    line-height: 1.3125rem;
    font-weight: 500;
  }
  .enisa-header__mobile-sublink::after {
    content: "→";
    font-size: 1rem;
    line-height: 1;
    color: var(--enisa-gray-90);
  }
  .enisa-header__mobile-actions {
    padding: 0 1.4375rem;
  }
  .enisa-header__mobile-actions-item {
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    width: 100%;
    min-height: 4.25rem;
    padding: 1.375rem 1rem;
    border: 0;
    border-bottom: 1px solid var(--enisa-gray-50);
    background: transparent;
    color: var(--enisa-color-black);
    text-decoration: none;
    text-align: left;
    cursor: pointer;
    font-family: var(--enisa-font-body);
    font-size: 1.125rem;
    line-height: 1.5rem;
    font-weight: 600;
  }
  .enisa-header__mobile-help {
    padding: 0 1.4375rem;
  }
  .enisa-header__mobile-help-block {
    padding: 1.5rem 0 0;
    border-top: 1px solid var(--enisa-gray-50);
  }
  .enisa-header__mobile-help-title {
    margin: 0 0 0.5rem;
    color: var(--enisa-color-black);
    font-family: var(--enisa-font-body);
    font-size: 1.125rem;
    line-height: 1.5rem;
    font-weight: 600;
  }
  .enisa-header__mobile-search-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 3rem;
    padding: 0 1rem;
    border: 0.5px solid var(--enisa-gray-80);
    border-radius: var(--enisa-radius-pill);
    background: var(--enisa-color-white);
  }
  .enisa-header__mobile-search-box input {
    width: 100%;
    border: 0;
    background: transparent;
    color: var(--enisa-gray-90);
    font-family: var(--enisa-font-body);
    font-size: 1rem;
    line-height: 1.3125rem;
    outline: none;
  }
  .enisa-header__mobile-search-box button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 1rem;
    width: 1rem;
    height: 1rem;
    border: 0;
    background: transparent;
    padding: 0;
  }
  .enisa-header__mobile-news {
    padding: 1.5rem 1.4375rem;
  }
  .enisa-header__mobile-news-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--enisa-gray-50);
  }
  .enisa-header__mobile-news-item {
    display: grid;
    grid-template-columns: 5rem 1fr;
    gap: 1rem;
    align-items: center;
  }
  .enisa-header__mobile-news-media {
    width: 5rem;
    height: 5rem;
    overflow: hidden;
    border-radius: var(--enisa-radius-circle);
    background: var(--enisa-gray-20);
  }
  .enisa-header__mobile-news-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .enisa-header__mobile-news-title {
    margin: 0;
    color: var(--enisa-gray-100);
    font-family: var(--enisa-font-body);
    font-size: 1rem;
    line-height: 1.3125rem;
    font-weight: 500;
  }
}
@media (min-width: 1024px) {
  .enisa-header__panel {
    display: none !important;
  }
}
.enisa-footer {
  --enisa-footer-inline-padding: var(--enisa-page-padding);
  width: 100%;
  background: var(--enisa-color-black);
  color: var(--enisa-color-white);
  padding: 3rem 0 2rem;
}

.enisa-footer__container {
  width: 100%;
  max-width: none;
  padding-left: var(--enisa-footer-inline-padding);
  padding-right: var(--enisa-footer-inline-padding);
}

.enisa-footer a {
  color: inherit;
  text-decoration: none;
  transition: color var(--enisa-transition-base), opacity var(--enisa-transition-base), text-decoration-color var(--enisa-transition-base);
}

.enisa-footer a:hover,
.enisa-footer a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* =========================
   TOP
   ========================= */
.enisa-footer__top {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 0 0 2rem;
}

.enisa-footer__brand-block {
  display: none;
}

.enisa-footer__top-grid {
  display: grid;
  grid-template-columns: 15.9375rem 15.9375rem 26.5rem;
  justify-content: space-between;
  align-items: start;
  gap: 1.875rem;
  width: 100%;
}

.enisa-footer__column {
  min-width: 0;
}

.enisa-footer__title {
  margin: 0;
  font-family: var(--enisa-font-body);
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--enisa-color-white);
}

.enisa-footer__list,
.enisa-footer__legal-list,
.enisa-footer__social-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* =========================
   ACCORDION / COLUMN CONTENT
   ========================= */
.enisa-footer__accordion {
  margin: 0;
}

.enisa-footer__accordion-summary {
  list-style: none;
  cursor: default;
}

.enisa-footer__accordion-summary::-webkit-details-marker {
  display: none;
}

.enisa-footer__accordion-summary::marker {
  display: none;
  content: "";
}

.enisa-footer__accordion-panel {
  padding-top: 1.5rem;
}

.enisa-footer__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.enisa-footer__item {
  margin: 0;
}

.enisa-footer__link {
  display: inline-block;
  font-family: var(--enisa-font-body);
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
  color: var(--enisa-footer-text);
}

/* =========================
   SOCIAL
   ========================= */
.enisa-footer__column--social .enisa-footer__title {
  margin-bottom: 1.5rem;
}

.enisa-footer__social-list {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
}

.enisa-footer__social-item {
  flex: 0 0 2rem;
  width: 2rem;
  height: 2rem;
}

.enisa-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--enisa-color-white);
  color: var(--enisa-color-black);
  text-decoration: none;
  transition: transform var(--enisa-transition-base), opacity var(--enisa-transition-base), box-shadow var(--enisa-transition-base);
}

.enisa-footer__social-link:hover,
.enisa-footer__social-link:focus-visible {
  text-decoration: none;
  opacity: 1;
  transform: translateY(-1px);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.18);
}

.enisa-footer__social-icon {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  color: var(--enisa-color-black);
  fill: currentColor;
}

.enisa-footer__social-icon * {
  fill: currentColor;
  stroke: none;
}

.enisa-footer__social-item:nth-child(2) .enisa-footer__social-icon {
  width: 1.0625rem;
  height: 1.0625rem;
}

.enisa-footer__social-item:nth-child(5) .enisa-footer__social-icon {
  width: 1rem;
  height: 1rem;
}

.enisa-footer__social-item:nth-child(6) .enisa-footer__social-icon {
  width: 1.0625rem;
  height: 1.0625rem;
}

.enisa-footer__social-item:nth-child(8) .enisa-footer__social-icon {
  width: 1rem;
  height: 1rem;
}

/* =========================
   DIVIDERS
   ========================= */
.enisa-footer__divider {
  width: 100%;
  height: 1px;
  background: var(--enisa-color-footer-border);
}

/* =========================
   LEGAL BAND
   ========================= */
.enisa-footer__legal-band {
  padding: 1.5rem 0;
}

.enisa-footer__legal {
  width: 100%;
}

.enisa-footer__legal-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.5rem;
}

.enisa-footer__legal-item {
  margin: 0;
}

.enisa-footer__legal-link {
  display: inline-block;
  font-family: var(--enisa-font-body);
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  color: var(--enisa-footer-text);
}

/* =========================
   BOTTOM
   ========================= */
.enisa-footer__bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  padding-top: 2rem;
}

.enisa-footer__bottom-left {
  display: flex;
  align-items: flex-end;
  gap: 1.5rem;
  min-width: 0;
}

.enisa-footer__bottom-right {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.enisa-footer__brand-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.enisa-footer__brand-link:hover,
.enisa-footer__brand-link:focus-visible {
  text-decoration: none;
}

.enisa-footer__brand-img {
  display: block;
  max-width: 100%;
  height: auto;
}

.enisa-footer__brand-block .enisa-footer__brand-img,
.enisa-footer__brand-img--bottom {
  width: 19.375rem;
}

.enisa-footer__copy {
  margin: 0;
  font-family: var(--enisa-font-body);
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  color: var(--enisa-footer-muted);
  white-space: nowrap;
}

.enisa-footer__agenda-img {
  display: block;
  width: 2.8rem;
  height: 4rem;
  object-fit: contain;
}

/* =========================
   DESKTOP / TABLET
   ========================= */
@media (min-width: 768px) {
  .enisa-footer__accordion[open] > .enisa-footer__accordion-panel,
  .enisa-footer__accordion > .enisa-footer__accordion-panel {
    display: block;
  }
}
@media (max-width: 1279.98px) {
  .enisa-footer {
    --enisa-footer-inline-padding: 4rem; /* 64px — tablet/small desktop */
  }
  .enisa-footer__top-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem 3rem;
  }
  .enisa-footer__column--social {
    grid-column: 1/-1;
  }
  .enisa-footer__social-list {
    flex-wrap: wrap;
  }
  .enisa-footer__bottom {
    align-items: flex-start;
  }
  .enisa-footer__bottom-left {
    flex-direction: column;
    align-items: flex-start;
  }
  .enisa-footer__copy {
    white-space: normal;
  }
}
/* =========================
   MOBILE
   ========================= */
@media (max-width: 767.98px) {
  .enisa-footer {
    padding: 1.5rem 0 2rem;
  }
  .enisa-footer__container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .enisa-footer__top {
    gap: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .enisa-footer__brand-block {
    display: block;
  }
  .enisa-footer__brand-block .enisa-footer__brand-img {
    width: 14.9375rem;
  }
  .enisa-footer__top-grid {
    display: block;
  }
  .enisa-footer__column--press,
  .enisa-footer__column--resources {
    border-bottom: 1px solid var(--enisa-footer-text);
  }
  .enisa-footer__column--social {
    padding-top: 1.5rem;
  }
  .enisa-footer__accordion {
    width: 100%;
  }
  .enisa-footer__accordion[open] > .enisa-footer__accordion-panel {
    display: block;
  }
  .enisa-footer__accordion:not([open]) > .enisa-footer__accordion-panel {
    display: none;
  }
  .enisa-footer__accordion-summary {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 3.5rem;
    padding: 0 1.5rem 0 0;
    cursor: pointer;
  }
  .enisa-footer__accordion-summary::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2px;
    width: 0.625rem;
    height: 0.625rem;
    border-right: 1.5px solid var(--enisa-color-white);
    border-bottom: 1.5px solid var(--enisa-color-white);
    transform: translateY(-70%) rotate(45deg);
    transition: transform var(--enisa-transition-base);
  }
  .enisa-footer__accordion[open] .enisa-footer__accordion-summary::after {
    transform: translateY(-30%) rotate(-135deg);
  }
  .enisa-footer__accordion-panel {
    padding-top: 0.75rem;
    padding-bottom: 1.25rem;
  }
  .enisa-footer__social-list {
    display: grid;
    grid-template-columns: repeat(4, 2rem);
    gap: 1.5rem 2.625rem;
    justify-content: start;
  }
  .enisa-footer__legal-band {
    padding: 1.5rem 0;
  }
  .enisa-footer__legal-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.125rem;
  }
  .enisa-footer__legal-link {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .enisa-footer__bottom {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 1.75rem;
    padding-top: 1.5rem;
  }
  .enisa-footer__bottom-left {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .enisa-footer__brand-link--bottom {
    display: none;
  }
  .enisa-footer__copy {
    white-space: normal;
    max-width: 16.25rem;
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .enisa-footer__bottom-right {
    width: 100%;
    justify-content: center;
  }
  .enisa-footer__agenda-img {
    width: 2.8rem;
    height: 4rem;
  }
}
/* =========================
   ESCALADO PROPORCIONAL ≥ 1440px
   ========================= */
@media (min-width: 1440px) {
  .enisa-footer__top-grid {
    grid-template-columns: 17.708vw 17.708vw 29.444vw;
  }
  .enisa-footer__agenda-img {
    width: 3.115vw;
    height: 4.444vw;
  }
}
.enisa-search-page {
  padding-block: clamp(3rem, 6vw, 6.5rem) clamp(5rem, 8vw, 7.5rem);
  background: var(--enisa-gray-20);
}

.enisa-search-page__inner {
  width: 100%;
  max-width: 75.375rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: clamp(2.5rem, 4vw, 3.25rem);
}

.enisa-search-page__header {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.enisa-search-page__title {
  margin: 0;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-display);
  font-size: var(--enisa-size-h1);
  line-height: var(--enisa-lh-h1);
  font-weight: var(--enisa-fw-h1);
}

.enisa-search-page__form {
  width: 100%;
}

.enisa-search-page__field {
  position: relative;
  display: flex;
  align-items: center;
}

.enisa-search-page__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.enisa-search-page__input {
  width: 100%;
  min-height: 4.375rem;
  padding: 0.875rem 5.25rem 0.875rem 2.5rem;
  border: 0.5px solid var(--enisa-gray-80);
  border-radius: 6.25rem;
  background: var(--enisa-color-white);
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-body);
  font-size: 2rem;
  line-height: 1.3125;
  font-weight: var(--enisa-fw-regular);
  transition: border-color var(--enisa-transition-base), box-shadow var(--enisa-transition-base), background-color var(--enisa-transition-base), color var(--enisa-transition-base);
  appearance: none;
}

.enisa-search-page__input::placeholder {
  color: var(--enisa-gray-90);
  opacity: 1;
}

.enisa-search-page__input:hover {
  border-color: var(--enisa-color-black);
}

.enisa-search-page__input:focus-visible {
  outline: none;
  box-shadow: var(--enisa-focus-ring);
  border-radius: 6.25rem;
}

.enisa-search-page__action {
  position: absolute;
  top: 50%;
  right: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--enisa-color-black);
  text-decoration: none;
  transform: translateY(-50%);
  transition: color var(--enisa-transition-base), opacity var(--enisa-transition-base);
}

.enisa-search-page__action:hover {
  color: var(--enisa-gray-90);
}

.enisa-search-page__action:focus-visible {
  outline: none;
  box-shadow: var(--enisa-focus-ring);
  border-radius: 50%;
}

.enisa-search-page__action--clear {
  font-family: var(--enisa-font-body);
  font-size: 1.75rem;
  line-height: 1;
}

.enisa-search-page__action--submit {
  cursor: pointer;
}

.enisa-search-page__search-icon {
  display: inline-flex;
  width: 1.75rem;
  height: 1.75rem;
}

.enisa-search-page__search-icon svg,
.enisa-search-page__result-icon svg {
  width: 100%;
  height: 100%;
}

.enisa-search-page__results-count {
  margin: 0;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-body);
  font-size: var(--enisa-size-body);
  line-height: var(--enisa-lh-body);
  font-weight: var(--enisa-fw-semibold);
}

.enisa-search-page__results {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.enisa-search-page__result {
  border-bottom: 1px solid var(--enisa-color-black);
}

.enisa-search-page__result-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2rem;
  align-items: center;
  column-gap: clamp(1.5rem, 2vw, 2.375rem);
  padding-block: 0 1rem;
  text-decoration: none;
  color: inherit;
}

.enisa-search-page__result-link:hover .enisa-search-page__result-title,
.enisa-search-page__result-link:focus-visible .enisa-search-page__result-title {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.enisa-search-page__result-link:focus-visible {
  outline: none;
  box-shadow: var(--enisa-focus-ring);
  border-radius: 1rem;
}

.enisa-search-page__result-main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}

.enisa-search-page__result-eyebrow {
  margin: 0;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-body);
  font-size: var(--enisa-size-body-xs);
  line-height: var(--enisa-lh-body-xs);
  font-weight: var(--enisa-fw-regular);
}

.enisa-search-page__result-title {
  margin: 0;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-body);
  font-size: 2rem;
  line-height: 1.3125;
  font-weight: var(--enisa-fw-regular);
}

.enisa-search-page__result-snippet {
  margin: 0;
  max-width: 69.375rem;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-display);
  font-size: 1.5rem;
  line-height: 1.3333;
  font-weight: var(--enisa-fw-regular);
}

.enisa-search-page__result-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: var(--enisa-color-black);
}

.enisa-search-page__empty {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.4375rem;
  max-width: 41rem;
  padding-top: 0.375rem;
}

.enisa-search-page__empty-title {
  margin: 0;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-body);
  font-size: 2rem;
  line-height: 1.3125;
  font-weight: var(--enisa-fw-regular);
}

.enisa-search-page__empty-text {
  margin: 0;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-display);
  font-size: 1.5rem;
  line-height: 1.3333;
  font-weight: var(--enisa-fw-regular);
}

@media (max-width: 1023.98px) {
  .enisa-search-page {
    padding-block: 2.5rem 4.5rem;
  }
  .enisa-search-page__inner {
    gap: 2rem;
  }
  .enisa-search-page__header {
    gap: 2rem;
  }
  .enisa-search-page__title {
    font-size: clamp(2rem, 5vw, 2.5rem);
    line-height: 1.2;
  }
  .enisa-search-page__input {
    min-height: 4rem;
    padding-inline: 1.5rem 4.5rem;
    font-size: clamp(1.5rem, 3.4vw, 2rem);
  }
  .enisa-search-page__action {
    right: 1.5rem;
  }
  .enisa-search-page__result-link {
    grid-template-columns: minmax(0, 1fr) 1.75rem;
    align-items: start;
    padding-bottom: 1.25rem;
  }
  .enisa-search-page__result-title {
    font-size: clamp(1.625rem, 3vw, 2rem);
    line-height: 1.25;
  }
  .enisa-search-page__result-snippet,
  .enisa-search-page__empty-text {
    font-size: clamp(1.125rem, 2.4vw, 1.5rem);
    line-height: 1.4;
  }
  .enisa-search-page__empty-title {
    font-size: clamp(1.625rem, 3vw, 2rem);
    line-height: 1.25;
  }
}
@media (max-width: 767.98px) {
  .enisa-search-page {
    padding-block: 2rem 4rem;
  }
  .enisa-search-page__title {
    font-size: 2rem;
    line-height: 1.25;
  }
  .enisa-search-page__input {
    min-height: 3.5rem;
    padding-inline: 1.25rem 3.75rem;
    font-size: 1.25rem;
    line-height: 1.3;
  }
  .enisa-search-page__action {
    right: 1.25rem;
    width: 1.5rem;
    height: 1.5rem;
  }
  .enisa-search-page__results-count {
    font-size: 1rem;
    line-height: 1.5;
  }
  .enisa-search-page__result-main {
    gap: 0.75rem;
  }
  .enisa-search-page__result-title,
  .enisa-search-page__empty-title {
    font-size: 1.5rem;
    line-height: 1.3333;
  }
  .enisa-search-page__result-snippet,
  .enisa-search-page__empty-text {
    font-size: 1rem;
    line-height: 1.5;
    font-family: var(--enisa-font-body);
  }
}
.enisa-hero {
  position: relative;
  width: 100%;
  background: #EFF3F2;
  overflow: hidden;
  z-index: 1;
  margin-top: -92px;
}

.enisa-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px, 644px) minmax(520px, 1fr);
  align-items: center;
  min-height: calc(100svh - var(--enisa-header-h));
  max-width: calc(var(--enisa-section-shell-max) + var(--enisa-page-padding) * 2);
  margin: 0 auto;
  padding-inline: var(--enisa-page-padding);
}

.enisa-hero__visual {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.enisa-hero__content {
  position: absolute;
  left: 113px;
  top: 208px;
  width: 760px;
  display: flex;
  flex-direction: column;
  gap: 40px;
  z-index: 10;
}

.enisa-hero__title {
  font-family: "Svatopluk", Georgia, serif;
  font-weight: 900;
  font-size: 90px;
  line-height: 1.2;
  color: #000;
  margin: 0;
}

.enisa-hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 20px 32px;
  width: fit-content;
  background: #00CEB1;
  border-radius: 100px;
  font-family: "DM Sans", sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1;
  color: #000;
  text-decoration: none;
  transition: filter 0.2s ease;
}

.enisa-hero__cta:hover {
  filter: brightness(0.9);
}

.enisa-hero__circle {
  position: absolute;
  background: #fff;
  border-radius: 50%;
  width: 324px;
  height: 324px;
}

.enisa-hero__circle--top {
  left: 720px;
  top: 159px;
}

.enisa-hero__circle--bottom {
  left: 430px;
  top: 484px;
}

.enisa-hero__pill {
  position: absolute;
  width: 578px;
  height: 319px;
  border-radius: 3000px;
}

.enisa-hero__pill--yellow {
  background: #FFED00;
  left: 1045px;
  top: 164px;
}

.enisa-hero__pill--pink {
  background: #FF91FF;
  left: 756px;
  top: 483px;
}

.enisa-hero__pill--cyan {
  background: #00FFFF;
  left: 1334px;
  top: 483px;
}

.enisa-hero__person {
  position: absolute;
  object-fit: contain;
  object-position: bottom center;
}

.enisa-hero__person--back {
  width: 298px;
  height: 371px;
  left: 1142px;
  top: 113px;
  transform: scaleX(-1);
  z-index: 3;
}

.enisa-hero__person--front {
  width: 276px;
  height: 366px;
  left: 887px;
  top: 436px;
  z-index: 4;
}

#enisa-hero-spacer {
  display: block;
  width: 100%;
}

@keyframes heroFadeUp {
  from {
    opacity: 0;
    transform: translateY(32px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes heroScale {
  from {
    opacity: 0;
    transform: scale(0.75);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes heroSlideIn {
  from {
    opacity: 0;
    transform: translateX(60px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes heroPersonUp {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.enisa-hero__circle,
.enisa-hero__pill,
.enisa-hero__person,
.enisa-hero__title,
.enisa-hero__cta {
  opacity: 0;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  animation-fill-mode: forwards;
  animation-duration: var(--anim-duration, 0.8s);
  animation-delay: var(--anim-delay, 0ms);
  animation-name: var(--anim-name);
}

.enisa-hero__circle--top {
  --anim-name: heroScale;
  --anim-duration: 0.85s;
  --anim-delay: 0ms;
}

.enisa-hero__circle--bottom {
  --anim-name: heroScale;
  --anim-duration: 0.85s;
  --anim-delay: 150ms;
}

.enisa-hero__pill--yellow {
  --anim-name: heroSlideIn;
  --anim-duration: 0.8s;
  --anim-delay: 200ms;
}

.enisa-hero__pill--pink {
  --anim-name: heroSlideIn;
  --anim-duration: 0.8s;
  --anim-delay: 350ms;
}

.enisa-hero__pill--cyan {
  --anim-name: heroSlideIn;
  --anim-duration: 0.8s;
  --anim-delay: 450ms;
}

.enisa-hero__person--back {
  --anim-name: heroPersonUp;
  --anim-duration: 0.9s;
  --anim-delay: 550ms;
}

.enisa-hero__person--front {
  --anim-name: heroPersonUp;
  --anim-duration: 0.9s;
  --anim-delay: 700ms;
}

.enisa-hero__title {
  --anim-name: heroFadeUp;
  --anim-duration: 0.75s;
  --anim-delay: 300ms;
}

.enisa-hero__cta {
  --anim-name: heroFadeUp;
  --anim-duration: 0.75s;
  --anim-delay: 550ms;
}

@supports not (animation-name: test) {
  .enisa-hero__circle,
  .enisa-hero__pill,
  .enisa-hero__person,
  .enisa-hero__title,
  .enisa-hero__cta {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .enisa-hero__circle,
  .enisa-hero__pill,
  .enisa-hero__person,
  .enisa-hero__title,
  .enisa-hero__cta {
    opacity: 1;
    animation: none;
  }
}
@media (max-width: 767.98px) {
  .enisa-hero {
    position: relative;
    top: auto;
    left: auto;
  }
  #enisa-hero-spacer {
    display: none;
  }
  .enisa-hero__inner {
    width: 100%;
    height: auto;
    padding-bottom: 55vw;
  }
  .enisa-hero__content {
    position: relative;
    left: auto;
    top: auto;
    width: calc(100% - 48px);
    margin: 0 24px;
    padding-top: 120px;
    gap: 24px;
  }
  .enisa-hero__title {
    font-size: clamp(32px, 9vw, 48px);
  }
  .enisa-hero__cta {
    font-size: 16px;
    padding: 14px 24px;
  }
  .enisa-hero__person--back {
    display: none;
  }
  .enisa-hero__circle--top {
    display: none;
  }
  .enisa-hero__pill--cyan {
    display: none;
  }
  .enisa-hero__circle--bottom {
    left: 55vw;
    top: 5vw;
    width: 38vw;
    height: 38vw;
  }
  .enisa-hero__pill--yellow {
    left: 48vw;
    top: 0;
    width: 55vw;
    height: 26vw;
  }
  .enisa-hero__pill--pink {
    left: 15vw;
    top: 24vw;
    width: 72vw;
    height: 26vw;
  }
  .enisa-hero__person--front {
    left: 30vw;
    top: 0;
    height: 52vw;
    width: auto;
  }
}
/* ==========================================================
   COMPONENT — CARDS HOME
   ========================================================== */
.enisa-cards-home {
  position: relative;
  z-index: 2;
  width: 100%;
  overflow: visible;
  padding-top: var(--enisa-space-9);
  padding-bottom: clamp(6rem, 15.694vw, 14.125rem);
}

.enisa-cards-home__inner {
  position: relative;
  width: 100%;
  max-width: calc(var(--enisa-section-shell-max) + var(--enisa-page-padding) * 2);
  margin-inline: auto;
  padding-inline: var(--enisa-page-padding);
  overflow: visible;
}

/* ==========================================================
   HEADER
   ========================================================== */
.enisa-cards-home__heading {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 54.3125rem;
  margin: 0 0 var(--enisa-space-9);
  text-align: left;
}

.enisa-cards-home__title {
  margin: 0;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-display);
  font-size: var(--enisa-size-display-md);
  font-weight: var(--enisa-fw-black);
  line-height: var(--enisa-lh-display-md);
  text-align: left;
  text-wrap: balance;
}

/* ==========================================================
   STAGE / FONDO
   ========================================================== */
.enisa-cards-home__stage {
  position: relative;
  min-height: 23rem;
  overflow: visible;
}

.enisa-cards-home__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: visible;
  pointer-events: none;
}

.enisa-cards-home__bg-shape {
  position: absolute;
  top: 0;
  width: 91.042vw;
  max-width: 81.9375rem;
  height: 25.556vw;
  max-height: 23rem;
  border-radius: var(--enisa-radius-blob);
  background: var(--enisa-gray-20);
  will-change: transform;
  transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.enisa-cards-home__bg-shape--left {
  left: 50%;
  margin-left: -91.042vw;
  transform: translateX(4.333vw);
}

.enisa-cards-home__bg-shape--right {
  left: 50%;
  margin-left: 0;
  transform: translateX(4.333vw);
}

.enisa-cards-home__bg.is-reveal.is-visible .enisa-cards-home__bg-shape--left,
.enisa-cards-home__bg.is-reveal.is-visible .enisa-cards-home__bg-shape--right {
  transform: translateX(0);
}

/* ==========================================================
   GRID / CONTENT
   ========================================================== */
.enisa-cards-home__grid {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  width: 100%;
  max-width: var(--enisa-section-grid-max);
  min-height: 23rem;
  margin-inline: auto;
  column-gap: clamp(2.5rem, 1.2rem + 3.4vw, 6rem);
}

.enisa-cards-home__card {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(0.75rem, 0.55rem + 0.4vw, 1rem);
  min-height: 15.4375rem;
  padding-block: clamp(2.75rem, 2rem + 1.5vw, 3.78125rem);
  text-align: center;
}

.enisa-cards-home__card-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(0.75rem, 0.55rem + 0.4vw, 1rem);
  width: 100%;
  max-width: 32rem;
  min-width: min(100%, 24rem);
  min-height: 0;
}

.enisa-cards-home__card-title {
  width: 100%;
  margin: 0;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-display);
  font-size: var(--enisa-size-title-md);
  font-weight: var(--enisa-fw-title-md);
  line-height: var(--enisa-lh-title-md);
  text-align: center;
  text-wrap: balance;
}

.enisa-cards-home__card-text {
  width: 100%;
  max-width: 28.25rem;
  margin: 0;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-body);
  font-size: var(--enisa-size-copy-lg);
  font-weight: var(--enisa-fw-copy-lg);
  line-height: var(--enisa-lh-copy-lg);
  text-align: center;
  text-wrap: balance;
}

/* ==========================================================
   CTA
   ========================================================== */
.enisa-cards-home__cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: clamp(15.5rem, 14.2rem + 2.8vw, 17.5rem);
  height: clamp(4rem, 3.55rem + 0.95vw, 4.5rem);
  overflow: hidden;
  padding-inline: clamp(1.5rem, 1.15rem + 0.7vw, 2rem);
  border: 1px solid var(--enisa-color-black);
  border-radius: var(--enisa-radius-pill);
  background: var(--enisa-color-white);
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-body);
  font-size: clamp(1rem, 0.86rem + 0.32vw, 1.25rem);
  font-weight: var(--enisa-fw-medium);
  text-decoration: none;
  transition: background-color var(--enisa-transition-base), color var(--enisa-transition-base), border-color var(--enisa-transition-base);
}

.enisa-cards-home__cta-label {
  padding-inline: clamp(4rem, 3.55rem + 0.95vw, 4.5rem);
  white-space: nowrap;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
}

.enisa-cards-home__cta-icon {
  position: absolute;
  top: 50%;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(4rem, 3.55rem + 0.95vw, 4.5rem);
  height: clamp(4rem, 3.55rem + 0.95vw, 4.5rem);
  transform: translateY(-50%);
}

.enisa-cards-home__cta-icon img {
  display: block;
  width: clamp(4rem, 3.55rem + 0.95vw, 4.5rem);
  height: clamp(4rem, 3.55rem + 0.95vw, 4.5rem);
}

.enisa-cards-home__cta:hover,
.enisa-cards-home__cta:focus-visible {
  background: var(--enisa-color-black);
  color: var(--enisa-color-white);
  text-decoration: none;
}

.enisa-cards-home__cta:focus-visible {
  outline: none;
  box-shadow: var(--enisa-focus-ring);
}

.enisa-cards-home__cta:hover .enisa-cards-home__cta-icon,
.enisa-cards-home__cta:focus-visible .enisa-cards-home__cta-icon {
  animation: enisa-logo-slide-left 0.35s cubic-bezier(0.2, 0.9, 0.2, 1) forwards;
}

.enisa-cards-home__cta:not(:hover):not(:focus-visible) .enisa-cards-home__cta-icon {
  animation: enisa-logo-slide-right 0.3s cubic-bezier(0.2, 0.9, 0.2, 1) forwards;
}

.enisa-cards-home__cta.is-disabled,
.enisa-cards-home__cta[aria-disabled=true] {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

@keyframes enisa-logo-slide-left {
  0% {
    right: 0;
    left: auto;
    transform: translateY(-50%);
  }
  100% {
    right: auto;
    left: 0;
    transform: translateY(-50%);
  }
}
@keyframes enisa-logo-slide-right {
  0% {
    right: auto;
    left: 0;
    transform: translateY(-50%);
  }
  100% {
    right: 0;
    left: auto;
    transform: translateY(-50%);
  }
}
@media (hover: none) and (pointer: coarse) {
  .enisa-cards-home__cta:active .enisa-cards-home__cta-icon,
  .enisa-cards-home__cta:focus .enisa-cards-home__cta-icon {
    animation: enisa-logo-slide-left 0.25s cubic-bezier(0.2, 0.9, 0.2, 1) forwards;
  }
}
/* ==========================================================
   DECORACIÓN
   ========================================================== */
.enisa-cards-home__decor {
  position: absolute;
  right: calc((100vw - min(100vw, 90rem)) / 2 - 1.25rem);
  bottom: -18.75rem;
  z-index: 6;
  width: clamp(11.25rem, 29vw, 26.875rem);
  overflow: visible;
  pointer-events: none;
}

.enisa-cards-home__decor-image {
  display: block;
  width: 100%;
  height: auto;
}

/* ==========================================================
   REVEAL
   ========================================================== */
.enisa-cards-home .is-reveal {
  opacity: 0;
  transform: translate3d(0, 3rem, 0);
  transition: opacity 0.8s ease, transform 0.8s ease;
  will-change: opacity, transform;
}

.enisa-cards-home .is-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* ==========================================================
   TABLET
   ========================================================== */
@media (max-width: 79.99875rem) {
  .enisa-cards-home {
    padding-top: var(--enisa-space-8);
    padding-bottom: 11.25rem;
  }
  .enisa-cards-home__heading {
    margin-bottom: var(--enisa-space-7);
  }
  .enisa-cards-home__stage {
    min-height: 20rem;
  }
  .enisa-cards-home__bg-shape {
    width: 72.222vw;
    max-width: 65rem;
    height: 20rem;
    max-height: 20rem;
  }
  .enisa-cards-home__bg-shape--left {
    margin-left: -72.222vw;
  }
  .enisa-cards-home__grid {
    max-width: 100%;
    min-height: 20rem;
    column-gap: clamp(2rem, 4vw, 3.5rem);
  }
  .enisa-cards-home__card {
    min-height: 13.75rem;
    padding-block: 2.5rem;
  }
  .enisa-cards-home__card-content {
    max-width: 25rem;
    min-width: 0;
  }
  .enisa-cards-home__decor {
    right: calc((100vw - min(100vw, 90rem)) / 2 - 0.875rem);
    bottom: -13.75rem;
    width: clamp(11.25rem, 24vw, 18.75rem);
  }
}
/* ==========================================================
   MOBILE
   ========================================================== */
@media (max-width: 47.99875rem) {
  .enisa-cards-home {
    padding-top: var(--enisa-space-7);
    padding-bottom: var(--enisa-space-10);
  }
  .enisa-cards-home__heading {
    max-width: 100%;
    margin: 0 0 var(--enisa-space-6);
  }
  .enisa-cards-home__title {
    font-size: var(--enisa-size-h1);
    line-height: var(--enisa-lh-h1);
    text-align: left;
  }
  .enisa-cards-home__stage {
    min-height: 0;
  }
  .enisa-cards-home__bg {
    display: none;
  }
  .enisa-cards-home__grid {
    max-width: none;
    min-height: 0;
    grid-template-columns: 1fr;
    gap: var(--enisa-space-6);
  }
  .enisa-cards-home__card {
    align-items: flex-start;
    min-height: 0;
    padding: 2.5rem 1.5rem;
    border-radius: var(--enisa-radius-xl);
    background: var(--enisa-gray-20);
    text-align: left;
  }
  .enisa-cards-home__card-content {
    align-items: flex-start;
    max-width: 100%;
    min-width: 0;
    gap: 1rem;
  }
  .enisa-cards-home__card-title,
  .enisa-cards-home__card-text {
    max-width: 100%;
    text-align: left;
  }
  .enisa-cards-home__card-title {
    font-size: var(--enisa-size-h3);
    line-height: var(--enisa-lh-h3);
  }
  .enisa-cards-home__card-text {
    font-size: var(--enisa-size-body);
    line-height: var(--enisa-lh-body);
  }
  .enisa-cards-home__cta {
    min-width: 100%;
    width: 100%;
    justify-content: center;
  }
  .enisa-cards-home__cta-label {
    width: 100%;
    text-align: center;
  }
  .enisa-cards-home__decor {
    right: -1.25rem;
    bottom: -6.875rem;
    width: 10.625rem;
  }
}
/* ==========================================================
   REDUCED MOTION
   ========================================================== */
@media (prefers-reduced-motion: reduce) {
  .enisa-cards-home .is-reveal,
  .enisa-cards-home__bg-shape {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .enisa-cards-home__cta,
  .enisa-cards-home__cta * {
    transition: none !important;
    animation: none !important;
  }
  .enisa-cards-home__cta-icon {
    right: 0 !important;
    left: auto !important;
    transform: translateY(-50%) !important;
  }
}
/* ==========================================================
   COMPONENT — PROCESO TABS
   ========================================================== */
.enisa-proceso-tabs {
  position: relative;
  z-index: 2;
  width: 100%;
  overflow: hidden;
  padding-block: var(--enisa-space-section-v) var(--enisa-space-section-v-lg);
  background: var(--enisa-color-white);
}

.enisa-proceso-tabs__inner {
  position: relative;
  width: 100%;
  max-width: calc(var(--enisa-section-shell-max) + var(--enisa-page-padding) * 2);
  margin-inline: auto;
  padding-inline: var(--enisa-page-padding);
}

.enisa-proceso-tabs__titulo {
  position: relative;
  z-index: 1;
  max-width: 49.5625rem;
  margin: 0 0 var(--enisa-space-10);
  font-family: var(--enisa-font-display);
  font-weight: var(--enisa-fw-black);
  font-size: var(--enisa-size-display-md);
  line-height: var(--enisa-lh-display-md);
  color: var(--enisa-color-black);
  text-wrap: balance;
}

.enisa-proceso-tabs__layout {
  position: relative;
  display: flex;
  align-items: stretch;
  min-height: 27rem;
}

.enisa-proceso-tabs__layout::before {
  content: "";
  position: absolute;
  inset-block: 0;
  left: calc(8.0625rem - var(--enisa-page-padding));
  right: calc(var(--enisa-page-padding) * -1);
  z-index: 0;
  border-radius: var(--enisa-radius-blob);
  background: var(--enisa-gray-20);
  pointer-events: none;
}

.enisa-proceso-tabs__nav {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-shrink: 0;
  width: clamp(16.25rem, 31.46vw, 28.3125rem);
  margin-left: calc(var(--enisa-page-padding) * -1);
}

.enisa-proceso-tabs__item {
  appearance: none;
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  min-height: 6.75rem;
  padding: 1rem 1.5rem 1rem clamp(2.5rem, 7.78vw, 7rem);
  border: 0;
  border-radius: 0 8.7103rem 8.7103rem 0;
  outline: none;
  background: var(--enisa-color-white);
  box-shadow: none;
  cursor: pointer;
  text-align: left;
  transition: background var(--enisa-transition-slow), padding-top var(--enisa-transition-base), padding-bottom var(--enisa-transition-base), opacity var(--enisa-transition-base);
}

.enisa-proceso-tabs__item[data-tab-color=yellow] {
  --_tab-accent: var(--enisa-color-yellow);
}

.enisa-proceso-tabs__item[data-tab-color=green] {
  --_tab-accent: var(--enisa-color-primary);
}

.enisa-proceso-tabs__item[data-tab-color=blue] {
  --_tab-accent: var(--enisa-color-cyan);
}

.enisa-proceso-tabs__item[data-tab-color=pink] {
  --_tab-accent: var(--enisa-color-pink);
}

.enisa-proceso-tabs__item--active,
.enisa-proceso-tabs__item[aria-selected=true] {
  padding-top: 2rem;
  padding-bottom: 2rem;
  background: var(--_tab-accent, var(--enisa-gray-20));
}

.enisa-proceso-tabs__item--active .enisa-proceso-tabs__item-label,
.enisa-proceso-tabs__item[aria-selected=true] .enisa-proceso-tabs__item-label,
.enisa-proceso-tabs__item--active .enisa-proceso-tabs__item-badge,
.enisa-proceso-tabs__item[aria-selected=true] .enisa-proceso-tabs__item-badge {
  font-weight: var(--enisa-fw-bold);
}

.enisa-proceso-tabs__item:not(.enisa-proceso-tabs__item--active):not([aria-selected=true]):hover {
  background: var(--_tab-accent, var(--enisa-gray-20));
  opacity: 0.75;
}

.enisa-proceso-tabs__item:focus-visible {
  outline: none;
  box-shadow: var(--enisa-focus-ring);
  border-radius: 0 8.7103rem 8.7103rem 0;
}

.enisa-proceso-tabs__item-badge {
  box-sizing: border-box;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  margin-right: 1rem;
  padding: 0.25rem;
  border: 1px solid var(--enisa-color-black);
  border-radius: 50%;
  font-family: var(--enisa-font-body);
  font-size: 1.125rem;
  line-height: 1.3333;
  font-weight: var(--enisa-fw-semibold);
  text-align: center;
  color: var(--enisa-color-black);
}

.enisa-proceso-tabs__item-label {
  font-family: var(--enisa-font-body);
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: var(--enisa-fw-medium);
  color: var(--enisa-color-black);
  transition: font-weight var(--enisa-transition-fast);
}

.enisa-proceso-tabs__panels {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  min-height: 27rem;
  padding: 0 clamp(1.5rem, 2.78vw, 2.5rem) 0 clamp(2rem, 3.89vw, 3.5rem);
}

.enisa-proceso-tabs__panel {
  display: none;
  flex-direction: row;
  align-items: center;
  gap: clamp(2rem, 3.33vw, 3rem);
  width: 100%;
  padding-block: 2rem;
  opacity: 0;
  transform: translateY(0.625rem);
  transition: opacity var(--enisa-transition-slow), transform var(--enisa-transition-slow);
}

.enisa-proceso-tabs__panel[data-visible],
.enisa-proceso-tabs__panel--active:not([hidden]) {
  display: flex;
  opacity: 1;
  transform: translateY(0);
}

/* ==========================================================
   PANEL — CONTENIDO
   ========================================================== */
.enisa-proceso-tabs__panel-content {
  flex: 0 0 auto;
  max-width: 26rem;
}

.enisa-proceso-tabs__panel-text {
  margin: 0;
  font-family: var(--enisa-font-body);
  font-size: clamp(1.25rem, 2.22vw, 2rem);
  line-height: 1.31;
  font-weight: var(--enisa-fw-regular);
  color: var(--enisa-color-black);
}

.enisa-proceso-tabs__panel-text strong {
  font-weight: var(--enisa-fw-bold);
}

.enisa-proceso-tabs__panel-image {
  position: relative;
  flex-shrink: 0;
  width: clamp(11.25rem, 23.4vw, 21.0625rem);
  height: clamp(11.25rem, 23.4vw, 21.0625rem);
}

.enisa-proceso-tabs__panel-blob {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: var(--_blob-color, var(--enisa-color-yellow));
  transition: background var(--enisa-transition-slow);
}

.enisa-proceso-tabs__panel-figure {
  position: absolute;
  left: 50%;
  bottom: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 85%;
  height: 145%;
  overflow: visible;
  transform: translateX(-50%);
}

.enisa-proceso-tabs__panel-figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom center;
}

/* ==========================================================
   DOTS
   ========================================================== */
.enisa-proceso-tabs__dots {
  display: none;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 2rem;
}

.enisa-proceso-tabs__dot {
  appearance: none;
  width: var(--enisa-slider-dot-size);
  height: var(--enisa-slider-dot-size);
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--enisa-slider-dot-bg);
  cursor: pointer;
  transition: background var(--enisa-transition-base), width var(--enisa-transition-slow);
}

.enisa-proceso-tabs__dot--active {
  width: var(--enisa-slider-dot-active-w);
  border-radius: var(--enisa-radius-sm);
  background: var(--_accent-current, var(--enisa-color-yellow));
}

.enisa-proceso-tabs[data-current-color=yellow] {
  --_blob-color: var(--enisa-color-yellow);
  --_accent-current: var(--enisa-color-yellow);
}

.enisa-proceso-tabs[data-current-color=green] {
  --_blob-color: var(--enisa-color-primary);
  --_accent-current: var(--enisa-color-primary);
}

.enisa-proceso-tabs[data-current-color=blue] {
  --_blob-color: var(--enisa-color-cyan);
  --_accent-current: var(--enisa-color-cyan);
}

.enisa-proceso-tabs[data-current-color=pink] {
  --_blob-color: var(--enisa-color-pink);
  --_accent-current: var(--enisa-color-pink);
}

/* ==========================================================
   TABLET / SMALL DESKTOP
   ========================================================== */
@media (max-width: 79.99875rem) {
  .enisa-proceso-tabs {
    padding-block: var(--enisa-space-10) var(--enisa-space-11);
  }
  .enisa-proceso-tabs__titulo {
    margin-bottom: var(--enisa-space-8);
  }
  .enisa-proceso-tabs__layout,
  .enisa-proceso-tabs__panels {
    min-height: 22.5rem;
  }
  .enisa-proceso-tabs__nav {
    width: clamp(13.75rem, 38vw, 21.25rem);
  }
  .enisa-proceso-tabs__item {
    min-height: 5rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: clamp(1.5rem, 5vw, 4rem);
  }
  .enisa-proceso-tabs__item--active,
  .enisa-proceso-tabs__item[aria-selected=true] {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .enisa-proceso-tabs__panels {
    padding-inline: 1.5rem;
  }
  .enisa-proceso-tabs__panel-image {
    width: clamp(10rem, 18vw, 15rem);
    height: clamp(10rem, 18vw, 15rem);
  }
}
/* ==========================================================
   MOBILE
   ========================================================== */
@media (max-width: 47.99875rem) {
  .enisa-proceso-tabs {
    padding-block: var(--enisa-space-8) var(--enisa-space-10);
  }
  .enisa-proceso-tabs__inner {
    padding-inline: 0;
  }
  .enisa-proceso-tabs__titulo {
    max-width: 100%;
    margin: 0 0 var(--enisa-space-6);
    padding-inline: var(--enisa-page-padding);
    font-size: var(--enisa-size-h2);
    line-height: var(--enisa-lh-h2);
  }
  .enisa-proceso-tabs__layout {
    display: block;
    min-height: 0;
  }
  .enisa-proceso-tabs__layout::before {
    display: none;
  }
  .enisa-proceso-tabs__nav {
    width: 100%;
    margin-left: 0;
    gap: 0;
  }
  .enisa-proceso-tabs__item {
    min-height: 4rem;
    padding: 1rem var(--enisa-page-padding);
    border-radius: 0;
    background: var(--enisa-gray-10);
    border-bottom: 1px solid var(--enisa-gray-30);
  }
  .enisa-proceso-tabs__item:first-child {
    border-top: 1px solid var(--enisa-gray-30);
  }
  .enisa-proceso-tabs__item--active,
  .enisa-proceso-tabs__item[aria-selected=true] {
    padding: 1rem var(--enisa-page-padding);
    background: var(--_tab-accent, var(--enisa-color-yellow));
  }
  .enisa-proceso-tabs__item:focus-visible {
    border-radius: 0;
  }
  .enisa-proceso-tabs__item-badge {
    width: 1.75rem;
    min-width: 1.75rem;
    height: 1.75rem;
    margin-right: 0.75rem;
    padding: 0.1875rem;
    font-size: 0.9375rem;
    line-height: 1.25;
  }
  .enisa-proceso-tabs__item-label {
    font-size: 1rem;
    line-height: 1.25;
  }
  .enisa-proceso-tabs__panels {
    display: block;
    min-height: 0;
    padding: 0;
  }
  .enisa-proceso-tabs__panel {
    gap: 0;
    padding: 1.5rem var(--enisa-page-padding);
    background: var(--enisa-gray-20);
    opacity: 1;
    transform: none;
  }
  .enisa-proceso-tabs__panel[data-visible],
  .enisa-proceso-tabs__panel--active:not([hidden]) {
    display: block;
  }
  .enisa-proceso-tabs__panel-content {
    max-width: 100%;
  }
  .enisa-proceso-tabs__panel-text {
    font-size: var(--enisa-size-body);
    line-height: var(--enisa-lh-body);
  }
  .enisa-proceso-tabs__panel-image,
  .enisa-proceso-tabs__panel-blob,
  .enisa-proceso-tabs__panel-figure,
  .enisa-proceso-tabs__dots {
    display: none;
  }
}
/* ==========================================================
   REDUCED MOTION
   ========================================================== */
@media (prefers-reduced-motion: reduce) {
  .enisa-proceso-tabs__item,
  .enisa-proceso-tabs__panel,
  .enisa-proceso-tabs__panel-blob,
  .enisa-proceso-tabs__dot {
    transition: none;
  }
  .enisa-proceso-tabs__panel,
  .enisa-proceso-tabs__panel[data-visible],
  .enisa-proceso-tabs__panel--active:not([hidden]) {
    opacity: 1;
    transform: none;
  }
}
/* ===========================
   ENISA – Proceso financiación
   =========================== */
.enisa-process {
  padding: 56px 0 40px;
}

.enisa-process__container {
  position: relative;
}

.enisa-process__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.enisa-process__kicker {
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 500;
  color: #111;
}

.enisa-process__title {
  margin: 0;
  font-size: 34px;
  line-height: 1.05;
  font-weight: 700;
  color: #111;
}

.enisa-process__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid #00A4AA;
  color: #00A4AA;
  background: transparent;
  text-decoration: none;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.enisa-process__cta:hover,
.enisa-process__cta:focus {
  text-decoration: none;
}

.enisa-process__cta:focus-visible {
  outline: 2px solid #111;
  outline-offset: 3px;
}

/* Steps */
.enisa-process__steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.enisa-process__step {
  display: grid;
  grid-template-columns: 22px 1fr;
  column-gap: 10px;
  row-gap: 6px;
  align-items: start;
}

.enisa-process__badge {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #111;
  color: #fff;
  font-size: 11px;
  line-height: 18px;
  font-weight: 700;
  text-align: center;
  margin-top: 2px;
}

.enisa-process__step-title {
  margin: 0;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 700;
  color: #111;
}

.enisa-process__step-text {
  grid-column: 2;
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  color: #6b6b6b;
  max-width: 28ch;
}

/* Pill */
.enisa-process__pill {
  margin-top: 22px;
  height: 88px;
  border-radius: 999px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 260px 1fr;
  background: #eee;
}

.enisa-process__pill-photo {
  position: relative;
  height: 100%;
}

.enisa-process__pill-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-top-left-radius: 999px;
  border-bottom-left-radius: 999px;
}

.enisa-process__pill-gradient {
  height: 100%;
  background: linear-gradient(90deg, #ffb156 0%, #ff6de1 55%, #74c8ff 100%);
}

/* Responsive */
@media (max-width: 991.98px) {
  .enisa-process__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 22px;
  }
  .enisa-process__step-text {
    max-width: none;
  }
  .enisa-process__pill {
    grid-template-columns: 220px 1fr;
    height: 84px;
  }
}
@media (max-width: 575.98px) {
  .enisa-process {
    padding: 40px 0 32px;
  }
  .enisa-process__header {
    align-items: flex-start;
  }
  .enisa-process__title {
    font-size: 28px;
  }
  .enisa-process__steps {
    grid-template-columns: 1fr;
  }
  .enisa-process__pill {
    grid-template-columns: 160px 1fr;
    height: 78px;
  }
}
.enisa-wizard--minitest {
  padding: 48px 0 56px;
  background: var(--enisa-white);
}

.enisa-wizard__inner {
  max-width: 1174px;
  margin: 0 auto;
  background: var(--enisa-white);
}

.enisa-wizard__title {
  font-family: "SvatoPLUK", "SvatoPluk", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 900;
  font-size: 70px;
  line-height: 1;
  letter-spacing: 0;
  color: var(--enisa-black);
  margin: 0 0 24px;
}

.enisa-wizard__tabs {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin: 12px 0 56px;
  padding: 0;
  background: var(--enisa-white);
}

.enisa-wizard__tabs::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--enisa-gray-200);
  border-radius: var(--enisa-radius-underline);
}

.enisa-wizard__tab {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  background: transparent;
  border: 0;
  padding: 0 12px 14px;
  margin: 0;
  cursor: default;
  text-align: center;
  font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 20px;
  letter-spacing: 0;
  color: rgba(0, 0, 0, 0.45);
  opacity: 1;
}

.enisa-wizard__tab.is-active {
  color: var(--enisa-black);
}

.enisa-wizard__tab.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 4px;
  background: var(--enisa-green);
  border-radius: var(--enisa-radius-underline);
}

.enisa-wizard__header {
  margin: 0 0 22px;
  background: var(--enisa-white);
}

.enisa-wizard__kicker {
  font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 24px;
  letter-spacing: 0;
  color: var(--enisa-black);
  margin: 0 0 12px;
}

.enisa-wizard [data-wizard-question] {
  font-family: "SvatoPLUK", "SvatoPluk", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 40px;
  letter-spacing: 0;
  color: var(--enisa-black);
  margin: 0 0 12px;
}

.enisa-wizard [data-wizard-help] {
  font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 22px;
  color: rgba(0, 0, 0, 0.75);
}

.enisa-wizard__options {
  display: grid;
  gap: 16px;
  margin: 16px 0 28px;
  background: var(--enisa-white);
}

.enisa-wizard__option {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  border-radius: var(--enisa-radius-pill);
  border: 1px solid var(--enisa-gray-400);
  background: var(--enisa-white);
  text-align: left;
  transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.05s ease;
}

.enisa-wizard__option-text {
  font-family: "SvatoPLUK", "SvatoPluk", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 24px;
  letter-spacing: 0;
  color: var(--enisa-black);
}

.enisa-wizard__option-icon {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #DDE2E6;
  color: var(--enisa-black);
  font-size: 18px;
  line-height: 1;
}

.enisa-wizard__option:hover {
  border-color: rgba(0, 0, 0, 0.55);
}

.enisa-wizard__option:active {
  transform: translateY(1px);
}

.enisa-wizard__option.is-selected {
  background: var(--enisa-green);
  border-color: var(--enisa-green);
}

.enisa-wizard__option.is-selected .enisa-wizard__option-text {
  color: var(--enisa-black);
}

.enisa-wizard__option.is-selected .enisa-wizard__option-icon {
  background: var(--enisa-white);
  color: var(--enisa-black);
}

.enisa-wizard__option:focus,
.enisa-wizard__option:focus-visible,
.enisa-wizard__tab:focus,
.enisa-wizard__tab:focus-visible,
.enisa-wizard__footer .enisa-btn:focus,
.enisa-wizard__footer .enisa-btn:focus-visible,
.enisa-wizard__result a:focus,
.enisa-wizard__result a:focus-visible {
  outline: none;
  box-shadow: var(--enisa-focus);
}

.enisa-wizard__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 8px;
  background: var(--enisa-white);
}

.enisa-wizard__footer .enisa-btn--link {
  background: transparent;
  border: 0;
  padding: 10px 0;
  color: rgba(0, 0, 0, 0.55);
  font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 18px;
  text-decoration: none;
}

.enisa-wizard__footer .enisa-btn--link[disabled] {
  opacity: 0.35;
  cursor: not-allowed;
}

.enisa-wizard__footer .enisa-btn--primary {
  border-radius: var(--enisa-radius-pill);
  padding: 14px 22px;
  background: var(--enisa-green);
  border: 1px solid var(--enisa-green);
  font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  color: var(--enisa-black);
}

.enisa-wizard__footer .enisa-btn--primary[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}

.enisa-wizard__result {
  margin-top: 0;
  padding: 20px;
  border-radius: 16px;
  border: 1px solid var(--enisa-gray-200);
  background: #F7F9FA;
}

.enisa-wizard__result .h3 {
  font-family: "SvatoPLUK", "SvatoPluk", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 700;
}

.enisa-wizard__result-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.enisa-wizard__result .enisa-btn--outline {
  border-radius: var(--enisa-radius-pill);
  padding: 14px 22px;
  background: transparent;
  border: 1px solid var(--enisa-green);
  font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  color: var(--enisa-black);
  text-decoration: none;
}

/* =========================================
   Responsive
   ========================================= */
@media (max-width: 992px) {
  .enisa-wizard__inner {
    max-width: 100%;
  }
  .enisa-wizard__tabs {
    margin: 12px 0 56px;
    /* mantiene separación requerida */
  }
  .enisa-wizard__tab {
    font-size: 16px;
    line-height: 18px;
    padding: 0 6px 12px;
  }
  .enisa-wizard [data-wizard-question] {
    font-size: 32px;
    line-height: 32px;
  }
  .enisa-wizard__option {
    padding: 18px 18px;
  }
  .enisa-wizard__option-text {
    font-size: 18px;
  }
}
@media (max-width: 576px) {
  .enisa-wizard--minitest {
    padding: 32px 0 40px;
  }
  .enisa-wizard [data-wizard-question] {
    font-size: 28px;
    line-height: 28px;
  }
  .enisa-wizard__option-icon {
    width: 36px;
    height: 36px;
  }
  .enisa-wizard__result-actions {
    gap: 10px;
  }
}
/* ==========================================================
   COMPONENT — KPIS
   ========================================================== */
.enisa-kpis {
  width: 100%;
  padding-block: var(--enisa-space-section-v);
}

.enisa-kpis__inner {
  width: 100%;
  max-width: calc(var(--enisa-section-shell-max) + var(--enisa-page-padding) * 2);
  margin-inline: auto;
  padding-inline: var(--enisa-page-padding);
}

.enisa-kpis__title {
  max-width: 47.5rem;
  margin: 0 0 clamp(2rem, 4vw, 3.5rem);
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-display);
  font-size: var(--enisa-size-h3);
  font-weight: var(--enisa-fw-black);
  line-height: var(--enisa-lh-h3);
  text-wrap: balance;
}

.enisa-kpis__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

.enisa-kpis__bubble {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--enisa-radius-pill);
  background: var(--enisa-gray-20);
  transition: background-color var(--enisa-transition-slow), transform var(--enisa-transition-slow), box-shadow var(--enisa-transition-slow);
}

.enisa-kpis__bubble-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 1.5rem;
  min-height: 10.5rem;
  padding-block: 1.5rem;
  padding-inline: 1.5rem;
}

.enisa-kpis__icon {
  display: inline-flex;
  flex: 0 0 3.5rem;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: var(--enisa-radius-circle);
  background: var(--enisa-color-white);
}

.enisa-kpis__icon img,
.enisa-kpis__icon svg {
  display: block;
  width: 1.75rem;
  height: 1.75rem;
  object-fit: contain;
}

.enisa-kpis__text {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
}

.enisa-kpis__value {
  margin: 0;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-display);
  font-size: var(--enisa-size-stat);
  font-weight: var(--enisa-fw-bold);
  line-height: var(--enisa-lh-stat);
  letter-spacing: -0.02em;
}

.enisa-kpis__label {
  max-width: 22ch;
  margin: 0;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-body);
  font-size: var(--enisa-size-copy-lg);
  font-weight: var(--enisa-fw-medium);
  line-height: 1.2;
}

.enisa-kpis__bubble--hover-yellow:hover,
.enisa-kpis__bubble--hover-yellow:focus-within {
  background: var(--enisa-color-yellow);
}

.enisa-kpis__bubble--hover-green:hover,
.enisa-kpis__bubble--hover-green:focus-within {
  background: var(--enisa-color-green);
}

.enisa-kpis__bubble--hover-blue:hover,
.enisa-kpis__bubble--hover-blue:focus-within {
  background: var(--enisa-color-blue);
}

.enisa-kpis__bubble--hover-pink:hover,
.enisa-kpis__bubble--hover-pink:focus-within {
  background: var(--enisa-color-pink);
}

@media (hover: hover) and (pointer: fine) {
  .enisa-kpis__bubble:hover {
    transform: translateY(-0.25rem);
    box-shadow: var(--enisa-shadow-hover);
  }
}
.enisa-kpis__bubble:focus-within {
  transform: translateY(-0.25rem);
  box-shadow: var(--enisa-shadow-hover);
}

/* ==========================================================
   TABLET
   ========================================================== */
@media (min-width: 48rem) {
  .enisa-kpis__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1.5rem;
  }
  .enisa-kpis__bubble {
    min-width: 0;
  }
  .enisa-kpis__bubble-inner {
    min-height: 12rem;
    padding-inline: clamp(2rem, 5vw, 3.5rem);
  }
  .enisa-kpis__icon {
    width: 4rem;
    height: 4rem;
    flex-basis: 4rem;
  }
  .enisa-kpis__icon img,
  .enisa-kpis__icon svg {
    width: 2rem;
    height: 2rem;
  }
  .enisa-kpis__bubble--top-left {
    grid-column: 1/span 5;
  }
  .enisa-kpis__bubble--top-right {
    grid-column: 6/-1;
  }
  .enisa-kpis__bubble--bottom-left {
    grid-column: 1/span 7;
  }
  .enisa-kpis__bubble--bottom-right {
    grid-column: 8/-1;
  }
  .enisa-kpis__grid--3items .enisa-kpis__bubble:nth-child(1),
  .enisa-kpis__grid--3items .enisa-kpis__bubble:nth-child(2) {
    grid-column: span 6;
  }
  .enisa-kpis__grid--3items .enisa-kpis__bubble:nth-child(3) {
    grid-column: 1/-1;
  }
}
/* ==========================================================
   TABLET GRANDE / LAPTOP PEQUEÑA
   ========================================================== */
@media (min-width: 64rem) {
  .enisa-kpis__grid {
    gap: clamp(1.5rem, 2.5vw, 2rem);
  }
  .enisa-kpis__bubble-inner {
    min-height: 13.125rem;
    padding-inline: clamp(2rem, 4vw, 4rem);
  }
  .enisa-kpis__grid--3items .enisa-kpis__bubble:nth-child(1),
  .enisa-kpis__grid--3items .enisa-kpis__bubble:nth-child(2) {
    grid-column: span 6;
  }
  .enisa-kpis__grid--3items .enisa-kpis__bubble:nth-child(3) {
    grid-column: 3/span 8;
  }
}
/* ==========================================================
   DESKTOP
   ========================================================== */
@media (min-width: 80rem) {
  .enisa-kpis__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 2rem 2.4375rem;
  }
  .enisa-kpis__bubble {
    min-width: 0;
  }
  .enisa-kpis__bubble-inner {
    min-height: 14.3125rem;
    padding-block: 1.5rem;
    padding-inline: clamp(3rem, 6.319vw, 5.6875rem);
  }
  .enisa-kpis__grid--3items .enisa-kpis__bubble:nth-child(1) {
    grid-column: 1/span 4;
  }
  .enisa-kpis__grid--3items .enisa-kpis__bubble:nth-child(2) {
    grid-column: 5/span 8;
  }
  .enisa-kpis__grid--3items .enisa-kpis__bubble:nth-child(3) {
    grid-column: 1/span 7;
  }
}
/* ==========================================================
   DESKTOP INTERMEDIO
   ========================================================== */
@media (min-width: 80rem) and (max-width: 89.99875rem) {
  .enisa-kpis__bubble-inner {
    padding-inline: 3rem;
  }
}
/* ==========================================================
   MOBILE
   ========================================================== */
@media (max-width: 47.99875rem) {
  .enisa-kpis__title {
    max-width: 12ch;
  }
  .enisa-kpis__grid {
    grid-template-columns: 1fr;
  }
  .enisa-kpis__bubble {
    width: 100%;
  }
  .enisa-kpis__bubble-inner {
    min-height: 10.5rem;
    gap: 1.25rem;
    padding-inline: 1.5rem;
  }
  .enisa-kpis__label {
    max-width: 18ch;
  }
}
/* ==========================================================
   REDUCED MOTION
   ========================================================== */
@media (prefers-reduced-motion: reduce) {
  .enisa-kpis__bubble {
    transition: background-color 0.01ms linear;
  }
  .enisa-kpis__bubble:hover,
  .enisa-kpis__bubble:focus-within {
    transform: none;
    box-shadow: none;
  }
}
.enisa-newsletter {
  --enisa-newsletter-side-space: clamp(1.5rem, 7.847vw, 7.0625rem);
  --enisa-newsletter-top-space: clamp(3.5rem, 14.301vw, 12.875rem);
  --enisa-newsletter-bottom-space: clamp(2.5rem, 7.157vw, 6.4375rem);
  --enisa-newsletter-column-gap: clamp(2rem, 3.958vw, 3.5625rem);
  --enisa-newsletter-content-max: 37.0625rem;
  --enisa-newsletter-form-max: 36.125rem;
  --enisa-newsletter-art-max: clamp(42.3125rem, 46.95vw, 72rem);
  --enisa-newsletter-image-max: clamp(37.8125rem, 41.667vw, 64rem);
  position: relative;
  overflow: hidden;
  background: linear-gradient(360deg, #eff3f2 44.5%, rgba(239, 243, 242, 0) 60.11%);
}

.enisa-newsletter__inner {
  display: grid;
  grid-template-columns: minmax(20rem, 37.0625rem) minmax(24rem, 1fr);
  align-items: end;
  column-gap: var(--enisa-newsletter-column-gap);
  width: 100%;
  min-height: clamp(41rem, 50.764vw, 58rem);
  padding-top: var(--enisa-newsletter-top-space);
  padding-left: var(--enisa-newsletter-side-space);
}

.enisa-newsletter__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  max-width: var(--enisa-newsletter-content-max);
  padding-bottom: var(--enisa-newsletter-bottom-space);
}

.enisa-newsletter__copy {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.enisa-newsletter__title {
  margin: 0;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-display);
  font-size: clamp(2.5rem, 3.889vw, 5.25rem);
  line-height: 1.1964285714;
  font-weight: 900;
  letter-spacing: 0;
  text-wrap: balance;
}

.enisa-newsletter__description {
  margin: 0;
  max-width: 36rem;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-display);
  font-size: clamp(1.125rem, 1.667vw, 2rem);
  line-height: 1.3333333333;
  font-weight: 400;
}

.enisa-newsletter__form {
  display: flex;
  flex-direction: column;
  gap: 1.0625rem;
  width: 100%;
  max-width: var(--enisa-newsletter-form-max);
}

.enisa-newsletter__form-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 11.3125rem;
  align-items: stretch;
  width: 100%;
}

.enisa-newsletter__field {
  position: relative;
  z-index: 0;
  min-width: 0;
  margin-right: -3.75rem;
}

.enisa-newsletter__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.enisa-newsletter__input {
  width: 100%;
  min-height: 4rem;
  padding: 1.3125rem 4.75rem 1.3125rem 1rem;
  border: 1px solid var(--enisa-color-black);
  border-radius: var(--enisa-radius-pill);
  background-color: var(--enisa-color-white);
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-body);
  font-size: 1rem;
  line-height: 1.3125rem;
  font-weight: 400;
  appearance: none;
  transition: border-color var(--enisa-transition-base), box-shadow var(--enisa-transition-base), background-color var(--enisa-transition-base);
}

.enisa-newsletter__input::placeholder {
  color: var(--enisa-color-black);
  opacity: 1;
}

.enisa-newsletter__input:hover {
  border-color: var(--enisa-color-black);
}

.enisa-newsletter__input:focus-visible {
  outline: none;
  box-shadow: var(--enisa-focus-ring);
  border-radius: var(--enisa-radius-pill);
}

.enisa-newsletter__input[aria-invalid=true] {
  border-color: var(--enisa-color-error-border);
  background-color: var(--enisa-color-error-bg);
}

.enisa-newsletter__submit {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 11.3125rem;
  min-height: 4rem;
  padding: 1.5rem 2rem;
  border: 1px solid var(--enisa-color-black);
  border-radius: var(--enisa-radius-pill);
  background-color: var(--enisa-color-black);
  color: var(--enisa-color-white);
  font-family: var(--enisa-font-body);
  font-size: 1.25rem;
  line-height: 1rem;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
  transition: background-color var(--enisa-transition-base), border-color var(--enisa-transition-base), color var(--enisa-transition-base), transform var(--enisa-transition-base);
}

.enisa-newsletter__submit:hover {
  background-color: var(--enisa-gray-100);
  border-color: var(--enisa-gray-100);
}

.enisa-newsletter__submit:focus-visible {
  outline: none;
  box-shadow: var(--enisa-focus-ring);
  border-radius: var(--enisa-radius-pill);
}

.enisa-newsletter__submit:disabled,
.enisa-newsletter__submit[aria-disabled=true] {
  opacity: 0.56;
  cursor: not-allowed;
}

.enisa-newsletter__feedback {
  min-height: 0;
  margin: 0;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-body);
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
}

.enisa-newsletter__feedback:empty {
  display: none;
}

.enisa-newsletter__feedback.is-error {
  display: block;
  color: var(--enisa-color-error-text);
}

.enisa-newsletter__feedback.is-success {
  display: block;
  color: var(--enisa-color-success);
}

.enisa-newsletter__legal {
  margin: 0;
  max-width: 33.375rem;
  color: var(--enisa-color-black);
  font-family: var(--enisa-font-body);
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
}

.enisa-newsletter__legal-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
}

.enisa-newsletter__legal-link:hover,
.enisa-newsletter__legal-link:focus-visible {
  color: inherit;
  text-decoration-thickness: 2px;
}

.enisa-newsletter__media {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  min-width: 0;
  min-height: 100%;
  margin-right: calc(var(--enisa-newsletter-side-space) * -1);
}

.enisa-newsletter__art {
  position: relative;
  width: min(100%, var(--enisa-newsletter-art-max));
  aspect-ratio: 677/591;
  margin-left: auto;
  /* TODO: REMOVE UNUSED BACKGROUND IMAGE*/
  /*background-image: url("/assets/img/newsletter/newsletter-shapes.png");*/
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 100% auto;
}

.enisa-newsletter__image {
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(89.37%, var(--enisa-newsletter-image-max));
  max-width: none;
  height: auto;
}

@media (max-width: 991.98px), (pointer: coarse) {
  .enisa-newsletter {
    background: #eff3f2;
  }
  .enisa-newsletter__inner {
    grid-template-columns: 1fr;
    row-gap: 1rem;
    min-height: auto;
    padding-top: 3rem;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .enisa-newsletter__content {
    gap: 1rem;
    max-width: 20.5rem;
    padding-bottom: 0;
  }
  .enisa-newsletter__copy {
    gap: 0.5rem;
  }
  .enisa-newsletter__title {
    max-width: 20.5rem;
    font-size: 1.5rem;
    line-height: 1.3333333333;
    text-wrap: unset;
  }
  .enisa-newsletter__description {
    max-width: 20.5rem;
    font-family: var(--enisa-font-body);
    font-size: 1rem;
    line-height: 1.3125rem;
  }
  .enisa-newsletter__form {
    gap: 0.75rem;
    max-width: 20.5rem;
  }
  .enisa-newsletter__form-row {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  .enisa-newsletter__field {
    margin-right: 0;
  }
  .enisa-newsletter__input {
    min-height: 2.8125rem;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    line-height: 1.3125rem;
  }
  .enisa-newsletter__submit {
    width: 100%;
    min-width: 0;
    min-height: 2.8125rem;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    line-height: 1.3125rem;
    font-weight: 500;
  }
  .enisa-newsletter__legal,
  .enisa-newsletter__feedback {
    max-width: 20.5rem;
  }
  /* TODO: REMOVE AS IT IS NOT APPLIED */
  .enisa-newsletter__media {
    width: calc(100% + 3rem);
    margin-right: -1.5rem;
    margin-left: -1.5rem;
    min-height: auto;
  }
  /* TODO: REMOVE AS IT IS NOT APPLIED */
  .enisa-newsletter__art {
    width: min(100%, 23.5rem);
    aspect-ratio: 376/328;
  }
  /* TODO: REMOVE AS IT IS NOT APPLIED */
  .enisa-newsletter__image {
    width: min(89.36%, 21rem);
  }
}
@media (max-width: 575.98px) {
  .enisa-newsletter__inner {
    padding-top: 1.5rem;
  }
  .enisa-newsletter__content {
    max-width: none;
  }
  .enisa-newsletter__form,
  .enisa-newsletter__legal,
  .enisa-newsletter__feedback,
  .enisa-newsletter__title,
  .enisa-newsletter__description {
    max-width: 20.5rem;
  }
}

/*# sourceMappingURL=enisa-theme.css.map */

/* ==========================================================
   Inputs
   ========================================================== */
.form-control,
.query {
  height: 48px;
  border-radius: 30px !important;
  padding: 12px 32px !important;
}

/* ==========================================================
   Buttons
   ========================================================== */
.btn,
button.btn,
input.btn,
a.btn {
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 30px !important;
  padding: 12px 32px !important;
  font-weight: 600;
  gap: 8px;

  cursor: pointer;
  text-decoration: none;

  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.btn-primary,
.btn-primary:focus-visible {
  background-color: var(--enisa-btn-primary-bg) !important;
  color: var(--enisa-btn-primary-color) !important;
  border: none !important;
}

/* Hover / focus */
.btn-primary:hover {
  background-color: var(--enisa-color-black) !important;
  color: var(--enisa-color-white) !important;
}

/* Focus ring (accessibility) */
.btn:focus-visible {
  outline: var(--enisa-btn-primary-ring) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

.btn-secondary,
.btn-secondary:focus-visible {
  background-color: var(--enisa-btn-secondary-bg) ;
  color: var(--enisa-btn-secondary-color);
  border: var(--enisa-btn-secondary-border);
}

/* Hover / pressed */
.btn-secondary:hover {
  background-color: var(--enisa-btn-secondary-bg-press);
}

/* Disabled */
.btn-secondary:disabled,
.btn-secondary.disabled,
.btn-primary:disabled,
.btn-primary.disabled {
  background-color: var(--enisa-btn-primary-bg-dis) !important;
  color: var(--enisa-btn-primary-color-dis) !important;
  border: none !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

/* Anchor button */
a.btn,
a.btn:link,
a.btn:visited,
a.btn:hover,
a.btn:active {
  text-decoration: none !important;
}

/* ==========================================================
   Header stiling (present in other places too)
   ========================================================== */
.navbar-nav .dropdown {
  display: inline-block !important;
}
#notification-count {
  position: absolute;
  top: 5px;
  right: 5px;
}
#page-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8); /* Bloquea la página */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1050; /* Loader por debajo del modal */
    display: none; /* Oculto por defecto */
}

/* Loader */
.loader-spinner {
    border: 6px solid #f3f3f3;
    border-top: 6px solid var(--enisa-color-primary);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
}

/* Animación de carga */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
/* ==========================================================
   Dropdown is vertically misaligned (cut in half)
   ========================================================== */
select {
    height: 42px;               /* match your UI’s rounded input height */
    padding: 0 14px;            /* horizontal padding only */
    line-height: 42px;          /* vertically center text */
    border-radius: 50px;        /* same rounded style from screenshot */
    box-sizing: border-box;
    appearance: none;           /* avoid default browser rendering issues */
    -webkit-appearance: none;
    -moz-appearance: none;
}
/* ==========================================================
   Dropdown is vertically misaligned (cut in half)
   ========================================================== */
.form-control {
    height: 100%;          /* match container height */
    padding: 12px 32px;       /* adjust horizontal padding */
    line-height: normal;   /* prevent clipping */
    border-radius: 50px;   /* match the rounded buttons */
    box-sizing: border-box;
    display: flex;         /* align text vertically */
    align-items: center;
}S
/* ==========================================================
   Money input
   ========================================================== */
input.money {
    height: 100%;          /* match container height */
    padding: 12px 32px;       /* adjust horizontal padding */
    line-height: normal;   /* prevent clipping */
    border-radius: 50px;   /* match the rounded buttons */
    box-sizing: border-box;
    text-align: right;
    padding-right: 32px;
}
/* ==========================================================
   Dropdown options are too small
   ========================================================== */
.details-link, .edit-link, .delete-link {
  font-family: var(--enisa-font-body) !important;
  font-size: var(--enisa-size-body) !important;
  line-height: var(--enisa-lh-body) !important;
  font-weight: var(--enisa-fw-body) !important;
}
/* ==========================================================
   Remove form border
   ========================================================== */
.crmEntityFormView {
  border: 0px !important;
}
/* ==========================================================
   Pagination
   ========================================================== */
.pagination>.active>a,
.pagination>.active>a:hover,
.pagination>.active>a:focus,
.pagination>.active>span,
.pagination>.active>span:hover,
.pagination>.active>span:focus {
    z-index: 3;
    color: var(--enisa-color-black) !important;
    background-color: var(--enisa-color-primary) !important;
    cursor: default;
    /* background-color: #00ceb1 !important; */
    /* color: black !important; */
    font-weight: bold !important;
    border: none !important;
}
.jquery-bootstrap-pagination {
    padding: 32px 0px 32px !important;
    display: flex !important;
    justify-content: center !important;
}
/* ==========================================================
   Page top margin override
   ========================================================== */
.columnBlockLayout {
  margin-top: 0px !important;
 }