@charset "UTF-8";

/*
convenciones BEMIT

objetos: o- (layout/estructura reutilizable, sin look & feel fuerte)

ejemplo: .o-wrapper, .o-grid, .o-grid__item

componentes: c- (UI con estilos propios)

elementos: __ → .c-button__icon

modificadores: -- → .c-button--secondary

utilidades: u- (una sola responsabilidad, alta especificidad por uso)

.u-mb-4, .u-visually-hidden

estado: is-, has- (clases de estado ajenas al componente)

.is-open, .has-error

hooks JS: js- (solo selección de DOM, sin estilos)

.js-menu-toggle
*/
@keyframes splide-loading {
    0% {
        transform: rotate(0);
    }

    to {
        transform: rotate(1turn);
    }
}

.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.splide__track--fade>.splide__list>.splide__slide {
    margin: 0 !important;
    opacity: 0;
    z-index: 0;
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
    opacity: 1;
    z-index: 1;
}

.splide--rtl {
    direction: rtl;
}

.splide__track--ttb>.splide__list {
    display: block;
}

.splide__container {
    box-sizing: border-box;
    position: relative;
}

.splide__list {
    backface-visibility: hidden;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
    display: block;
}

.splide__pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    pointer-events: none;
}

.splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
    display: none;
}

.splide__progress__bar {
    width: 0;
}

.splide {
    position: relative;
    visibility: hidden;
}

.splide.is-initialized,
.splide.is-rendered {
    visibility: visible;
}

.splide__slide {
    backface-visibility: hidden;
    box-sizing: border-box;
    flex-shrink: 0;
    list-style-type: none !important;
    margin: 0;
    position: relative;
}

.splide__slide img {
    vertical-align: bottom;
}

.splide__spinner {
    animation: splide-loading 1s linear infinite;
    border: 2px solid #999;
    border-left-color: transparent;
    border-radius: 50%;
    bottom: 0;
    contain: strict;
    display: inline-block;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px;
}

.splide__sr {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
    display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
    display: inline;
}

.splide__track {
    overflow: hidden;
    position: relative;
    z-index: 0;
}

/* px → rem (16px base por defecto) */
/* z-index por clave (map) */
/* Media query por clave del mapa $breakpoints */
/* Multilínea con ellipsis (clamp) */
/* Scrollbar customizable vía CSS vars (fallbacks) */
/* Grid: controla el span por breakpoint (usa nuestras utilidades CSS) */
/* Mixin: capa elevación por clave de $z-index */
/* Mixin: para input base*/
/**
 * Mixin: estilos base para dialogs nativos
 *
 * Proporciona estilos universales que TODO dialog necesita:
 * - Reset de estilos nativos
 * - Backdrop con fade
 * - Transiciones base
 * - Soporte para prefers-reduced-motion
 */
/* Breakpoints y tokens de layout basados en Figma
   - Desktop: 12 cols, col 80px, gutter 32px, margen 108px, ancho 1440px
   - Tablet :  8 cols, col 64px, gutter 24px, margen  44px, ancho  768px
   - Mobile :  4 cols, col 70px, gutter 16px, margen  16px, ancho  360px
*/
:root {
    /* breakpoints en rem (16px base) */
    --bp-xs: 22.5rem;
    /* 360px */
    --bp-xsm: 26.25rem;
    /* 420px */
    --bp-sm: 36rem;
    /* 576px */
    --bp-md: 48rem;
    /* 768px */
    --bp-lg: 90rem;
    /* 1440px */
    /* Layout (mobile-first) */
    --container-max: 100%;
}

@media(max-width:1386px) {
    .c-header .o-wrapper {
        flex-direction: column;

    }

    .c-header .o-wrapper .c-header__inner {
        justify-content: center;
    }
}


/* Tablet (>= 768px) */
@media (min-width: 48rem) {
    :root {
        --container-max: 48rem;
        /* 768px */
    }
}

/* Desktop (>= 1440px) */
@media (min-width: 90rem) {
    :root {
        --container-max: 90rem;
        /* 1440px */
    }
}

:root {
    /* ---------- Brand: Primary (naranja) ---------- */
    --color-primary-50: #fffcfa;
    --color-primary-100: #ffece0;
    --color-primary-200: #ffcaa9;
    --color-primary-300: #ffa771;
    --color-primary-400: #ff8539;
    --color-primary-500: #fe6201;
    /* CONTRASTE MÍNIMO UI */
    --color-primary-600: #cc4400;
    /* CONTRASTE MÍNIMO TXT PEQUEÑO */
    --color-primary-700: #9d3501;
    --color-primary-800: #6d2501;
    --color-primary-900: #3c1501;
    /* ---------- Brand: Primary (Área privada) (verde) ---------- */
    --color-primary-private-50: #f1f9f1;
    --color-primary-private-100: #d5edd4;
    --color-primary-private-200: #afdcac;
    --color-primary-private-300: #86ca81;
    --color-primary-private-400: #5fac5d;
    --color-primary-private-500: #3e973e;
    /* CONTRASTE MÍNIMO UI */
    --color-primary-private-600: #357d33;
    /* CONTRASTE MÍNIMO TXT PEQUEÑO */
    --color-primary-private-700: #2a6429;
    --color-primary-private-800: #1f491e;
    --color-primary-private-900: #132d12;
    /* ---------- Brand: Secondary (grises) ---------- */
    --color-white: #ffffff;
    --color-secondary-50: #f4f5f6;
    --color-secondary-100: #ebecee;
    --color-secondary-200: #d6d9dc;
    --color-secondary-300: #adb3b8;
    --color-secondary-400: #848d94;
    /* CONTRASTE MÍNIMO UI */
    --color-secondary-500: #5a6670;
    /* CONTRASTE MÍNIMO TXT PEQUEÑO */
    --color-secondary-600: #464f57;
    --color-secondary-700: #32383e;
    --color-secondary-800: #1e2125;
    --color-secondary-900: #141618;
    --color-black: #000000;
    /* ---------- Semantic ---------- */
    /* Error */
    --color-error-100: #fff0f0;
    --color-error-400: #e97575;
    /* UI */
    --color-error-700: #b80000;
    /* TXT PEQUEÑO */
    /* Warning */
    --color-warning-100: #fbf3da;
    --color-warning-400: #dfbe4a;
    /* UI */
    --color-warning-700: #936701;
    /* TXT PEQUEÑO */
    /* Success */
    --color-success-100: #e6fbea;
    --color-success-400: #62cb79;
    /* UI */
    --color-success-700: #157f2c;
    /* TXT PEQUEÑO */
    /* Information */
    --color-information-100: #eaf5fb;
    --color-information-400: #3f9cd0;
    /* UI */
    --color-information-700: #18628b;
    /* TXT PEQUEÑO */
    /* ---------- Complementary (base / dark) ---------- */
    --color-yellow-base: #ffcf2a;
    --color-yellow-dark: #8a7015;
    --color-green-base: #3aa83e;
    --color-green-dark: #205c22;
    --color-blue-base: #0085b3;
    --color-blue-dark: #004a64;
    --color-violet-base: #30237e;
    --color-violet-dark: #1b1447;
    --color-purple-base: #ad0c7d;
    --color-purple-dark: #600746;
    --color-red-base: #db142b;
    --color-red-dark: #770b18;
    /* ---------- Aliases de uso rápido (ajústalos si cambias de modo) ---------- */
    --color-bg: var(--color-white);
    /* fondo por defecto */
    --color-fg: var(--color-secondary-900);
    /* texto principal */
    --color-brand: var(--color-primary-500);
    /* marca por defecto */
    --color-brand-contrast: var(--color-white);
    /* texto sobre marca */
    --color-border: var(--color-secondary-200);
    /* bordes sutiles */
    --color-border-strong: var(--color-secondary-400);
    /* Foco accesible */
    --color-focus-ring: oklch(62% 0.21 240);
    --color-overlay-5: rgba(0, 0, 0, 0.05);
    /* o #0000000D */
    --color-shadow-img: rgba(0, 0, 0, 0.8);
    --color-shadow-inner: var(--color-white, #fff);
    --color-shadow-outer: var(--color-black, #000000);
}

@font-face {
    font-family: "Bliss Pro";
    src: url("../assets/fonts/blisspro/BlissPro-ExtraLight.woff2") format("woff2");
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Bliss Pro";
    src: url("../assets/fonts/blisspro/BlissPro-ExtraLightItalic.woff2") format("woff2");
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Bliss Pro";
    src: url("../assets/fonts/blisspro/BlissPro-Light.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Bliss Pro";
    src: url("../assets/fonts/blisspro/BlissPro-LightItalic.woff2") format("woff2");
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Bliss Pro";
    src: url("../assets/fonts/blisspro/BlissPro.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Bliss Pro";
    src: url("../assets/fonts/blisspro/BlissPro-Italic.woff2") format("woff2");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Bliss Pro";
    src: url("../assets/fonts/blisspro/BlissPro-Medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Bliss Pro";
    src: url("../assets/fonts/blisspro/BlissPro-MediumItalic.woff2") format("woff2");
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Bliss Pro";
    src: url("../assets/fonts/blisspro/BlissPro-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Bliss Pro";
    src: url("../assets/fonts/blisspro/BlissPro-BoldItalic.woff2") format("woff2");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Bliss Pro";
    src: url("../assets/fonts/blisspro/BlissPro-ExtraBold.woff2") format("woff2");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Bliss Pro";
    src: url("../assets/fonts/blisspro/BlissPro-ExtraBoldItalic.woff2") format("woff2");
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Bliss Pro";
    src: url("../assets/fonts/blisspro/BlissPro-Heavy.woff2") format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Bliss Pro";
    src: url("../assets/fonts/blisspro/BlissPro-HeavyItalic.woff2") format("woff2");
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

:root {
    /* Familias */
    --font-sans:
        'Bliss Pro', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue',
        Arial, 'Noto Sans';
    --font-mono: 'SFMono-Regular', Menlo, Consolas, 'Liberation Mono', monospace;
    /* Pesos */
    --fw-light: 300;
    --fw-regular: 400;
    --fw-medium: 500;
    --fw-bold: 700;
    /* Base cuerpo (S en Figma: 16/22) */
    --fs-base: 1rem;
    /* 16px */
    --lh-base: 1.375;
    /* 22/16 */
    /* Tamaños (px→rem) */
    --fs-xs: 0.875rem;
    /* 14px */
    --fs-s: 1rem;
    /* 16px */
    --fs-m: 1.125rem;
    /* 18px */
    --fs-l: 1.25rem;
    /* 20px */
    --fs-xl: 1.5rem;
    /* 24px */
    --fs-2xl: 2rem;
    /* 32px */
    --fs-3xl: 2.5rem;
    /* 40px */
    --fs-4xl: 3rem;
    /* 48px */
    --fs-5xl: 3.5rem;
    /* 56px */
    --fs-5xxl: 4rem;
    /* 64px */
    --fs-6xl: 4.5rem;
    /* 72px */
    --fs-icons: 2.5rem;
    /* Line-heights por tamaño (ratio exacto de Figma) */
    --lh-xs: 1.4286;
    /* 20/14 */
    --lh-s: 1.375;
    /* 22/16 */
    --lh-m: 1.3333;
    /* 24/18 */
    --lh-l: 1.3;
    /* 26/20 */
    --lh-xl: 1.25;
    /* 30/24 */
    --lh-2xl: 1.25;
    /* 40/32 */
    --lh-3xl: 1.1;
    /* 44/40 */
    --lh-4xl: 1.0833;
    /* 52/48 */
    --lh-5xl: 1.1071;
    /* 62/56 */
    --lh-6xl: 1.1111;
    /* 80/72 */
    /* Tracking */
    --ls-tight: -0.005em;
    --ls-normal: 0;
}

@media (min-width: 48rem) {
    :root {
        --fs-icons: 4rem;
    }
}

:root {
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.75rem;
    --radius-pill: 9999px;
}

:root {
    /* 4px grid (rem basado en 16px) */
    --space-0: 0rem;
    /* 0px */
    --space-1: 0.25rem;
    /* 4px */
    --space-2: 0.5rem;
    /* 8px */
    --space-3: 0.75rem;
    /* 12px */
    --space-4: 1rem;
    /* 16px */
    --space-5: 1.25rem;
    /* 20px */
    --space-6: 1.5rem;
    /* 24px */
    --space-7: 1.75rem;
    /* 28px */
    --space-8: 2rem;
    /* 32px */
    --space-9: 2.25rem;
    /* 36px */
    --space-10: 2.5rem;
    /* 40px */
    --space-11: 2.75rem;
    /* 44px */
    --space-12: 3rem;
    /* 48px */
    --space-14: 3.5rem;
    /* 56px */
    --space-16: 4rem;
    /* 64px */
    --space-18: 4.5rem;
    /* 72px */
    --space-20: 5rem;
    /* 80px */
    /* Tokens semánticos de Figma (mobile como base) */
    /* Padding */
    --space-pad-xs: 0.5rem;
    /* 16 */
    --space-pad-s: 1rem;
    /* 16 */
    --space-pad-m: 1rem;
    /* 16 (Figma mobile) */
    --space-pad-l: 1.5rem;
    /* 24 */
    --space-pad-xl: 2rem;
    /* 32 */
    --space-pad-xxl: 2.5rem;
    /* 40 (mobile indica 40 para XXL) */
    /* Margen entre secciones */
    --space-section-margin: 1rem;
    /* 16 mobile */
}

/* Desktop overrides */
@media (min-width: 48rem) {
    :root {
        /* Padding desktop de Figma */
        --space-pad-s: 1rem;
        /* 16 */
        --space-pad-m: 1.5rem;
        /* 24 */
        --space-pad-l: 2rem;
        /* 32 */
        --space-pad-xl: 2.5rem;
        /* 40 */
        --space-pad-xxl: 3.5rem;
        /* 56 */
        /* Margen de sección desktop */
        --space-section-margin: 2.5rem;
        /* 40 */
    }
}

:root {
    --max-w-text: 68.875rem;
}

:root {
    --z-base: 1;
    --z-overlay: 1000;
    --z-modal: 1100;
    --z-toast: 1200;
}

/* ==========================================================================
   Normalize moderno base
   Inspirado en normalize.css v8+ y ajustes contemporáneos
   ========================================================================= */
/* 1. Corregir el line-height y font-smoothing */
html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
    font-family: var(--font-sans, system-ui, sans-serif);
    color: var(--text-color, oklch(20% 0 0deg));
    background-color: var(--background-color, oklch(98% 0 0deg));
}

/* 2. Remover márgenes por defecto */
body {
    margin: 0;
}

/* 3. Asegurar tipografía consistente en elementos de texto */
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
figure,
dl,
dd {
    margin: 0;
}

/* 4. Reset de listas */
ul,
ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* 5. Imágenes y multimedia */
img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
}

/* 6. Formularios */
input,
button,
textarea,
select {
    font: inherit;
    color: inherit;
    margin: 0;
}

/* 7. Botones */
button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

/* 8. Tablas */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* 9. Elementos interactivos */
a {
    color: inherit;
    text-decoration: none;
}

/* 10. Texto largo y preformateado */
pre,
code,
kbd,
samp {
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 1em;
}

/* 11. Asegurar altura completa del documento */
html,
body {
    min-height: 100vh;
    min-height: 100dvh;
}

/* 12. Sistema de foco accesible */
:focus-visible {
    outline: 2px solid var(--focus-ring-color, oklch(62% 0.21 240deg));
    outline-offset: 2px;
}

/* 13. Imágenes sin atributos width/height no causan salto de layout */
img {
    height: auto;
}

/* 14. Scroll suave controlado por preferencia de usuario */
html:focus-within {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

address {
    font-style: normal;
}

/* ==========================================================================
   Reset mínimo complementario
   ========================================================================= */
/* 1. Box-sizing universal */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* 2. Activar color-scheme para respetar modo claro/oscuro del sistema */
html {
    color-scheme: light dark;
    font-size: 100%;
}

:root {
    --header-menu-mobile-h: 3rem;
}

html:has(.js-nav-is-open),
body.js-nav-is-open {
    height: 100%;
    overflow: hidden;
    overscroll-behavior: none;
}

html {
    scroll-padding-top: var(--header-menu-mobile-h);
}

body {
    font-family: var(--font-sans);
    font-size: var(--fs-base);
    /* 16px */
    line-height: var(--lh-base);
    /* 22/16 */
    font-weight: var(--fw-medium);
    color: var(--color-secondary-500);
    background: var(--color-white);
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}

body:has([data-dialog].is-open) {
    overflow: hidden;
}

main {
    flex: 1;
}

main#main {
    padding-top: var(--header-menu-mobile-h);
}

@media (min-width: 37.5rem) {
    main#main {
        padding-top: 0;
    }
}

/* Encabezados */
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    /* sin margen, se espacian con gap o utilities */
    font-family: var(--font-sans);
    letter-spacing: var(--ls-normal);
}

p {
    letter-spacing: var(--ls-normal);
}

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

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

em {
    font-style: italic;
}

/* Enlaces */
a {
    text-decoration: underline;
}

a:hover {
    text-decoration: none;
}

/* Citas y código (solo estilos visuales ligeros) */
blockquote {
    padding-inline: 1rem;
    border-inline-start: 4px solid var(--color-secondary-300, #cbd5e1);
    color: var(--text-color-muted, var(--color-secondary-600));
}

code,
kbd,
samp {
    font-family: var(--font-mono);
    font-size: 0.95em;
}

pre {
    background: var(--color-secondary-50, #f7f8f9);
    border-radius: 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.95rem;
    line-height: 1.5;
    overflow: auto;
    padding: 1rem;
}

img.is-error {
    --is-error-fg: var(--color-white, #fff);
    --is-error-bg: var(--color-secondary-600, #464f57);
    --is-error-pad: var(--space-pad-m);
    color: var(--is-error-fg);
    background: var(--is-error-bg);
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    padding: var(--is-error-pad);
}

abbr[title] {
    text-decoration: none;
}

.o-wrapper {
    margin-inline: 0;
    inline-size: 100%;
}

.o-wrapper-link {
    --o-wrapper-link-bg: var(--color-white, #fff);
    --o-wrapper-link-padding-block: var(--space-1, 0.25rem);
    --o-wrapper-link-padding-inline: var(--space-2, 0.5rem);
    --o-wrapper-link-rounded: var(--radius-pill, 9999px);
    background-color: var(--o-wrapper-link-bg);
    border-radius: var(--o-wrapper-link-rounded);
    padding-block: var(--o-wrapper-link-padding-block);
    padding-inline: var(--o-wrapper-link-padding-inline);
    width: -moz-fit-content;
    width: fit-content;
}

.o-wrapper-gif {
    --wrapper-gif-padding-block: var(--space-10, 2.5rem);
    --wrapper-gif-padding-inline: var(--space-4, 1rem);
    padding-block: var(--wrapper-gif-padding-block);
    padding-inline: var(--wrapper-gif-padding-inline);
}

@media (min-width: 48rem) {
    .o-wrapper-gif {
        --wrapper-gif-padding-inline: var(--space-pad-xl);
    }
}

/* OBJETO de grid (BEMIT) */
.o-grid {
    display: grid;
}

.o-grid__col {
    --span: 1;
    /* valor base si no hay utilidades */
    grid-column: span var(--span);
}

.o-list {
    display: flex;
    flex-direction: column;
}

.o-list--disc {
    padding-left: 1.8125rem;
    list-style: disc;
}

.o-list--disc li::marker {
    font-size: 1rem;
}

.o-list--link a {
    --link-fg: var(--color-primary-500, #fe6201);
    color: var(--link-fg);
    font-size: var(--fs-l);
    font-weight: var(--fw-bold);
    text-decoration: underline;
}

.o-list--link a:hover {
    text-decoration: none;
}

.o-list--concession {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.o-list--concession li {
    align-items: center;
    display: flex;
    gap: var(--space-2);
}

.o-list--concession li:not(:last-child)::after {
    content: "|";
    color: var(--color-secondary-300);
    /* Color gris para el separador */
}

.o-list--definition {
    gap: var(--space-pad-s);
}

.o-list--definition dt {
    font-weight: var(--fw-bold);
}

.o-link {
    --o-link-fg: var(--color-primary-500, #fe6201);
    color: var(--o-link-fg);
    font-size: var(--fs-l);
    font-weight: var(--fw-bold);
    text-decoration: underline;
}

.o-link:hover {
    text-decoration: none;
}

.o-link-reverse {
    text-decoration: none;
}

.o-link-reverse:hover {
    text-decoration: underline;
}

.o-descriptive-list {
    display: flex;
    flex-direction: column;
}

.o-descriptive-list__term {
    font-weight: var(--fw-medium);
}

.o-stack {
    --stack-gap: var(--space-pad-l);
    display: flex;
    flex-direction: column;
    gap: var(--stack-gap);
}

.o-stack--xs {
    --stack-gap: var(--space-pad-xs);
}

.o-stack--s {
    --stack-gap: var(--space-pad-s);
}

.o-stack--m {
    --stack-gap: var(--space-pad-m);
}

.o-stack--l {
    --stack-gap: var(--space-pad-l);
}

.o-stack--xl {
    --stack-gap: var(--space-pad-xl);
}

.o-stack--xxl {
    --stack-gap: var(--space-pad-xxl);
}

.o-stack--disclosure-sm {
    --stack-gap: 0.625rem;
}

.c-accordion {
    --c-accordion-bg: var(--color-seconday-50, #f4f5f6);
    --c-accordion-radius: var(--radius-md);
    --c-accordion-padding-block: var(--space-pad-m);
    --c-accordion-padding-inline: var(--space-10, 2.5rem);
    --c-accordion-gap: var(--space-4, 1rem);
    --c-accordion-transition-duration: 0.4s;
    --c-accordion-transition-timing: ease;
    background-color: var(--c-accordion-bg);
    border-radius: var(--c-accordion-radius);
    display: flex;
    flex-direction: column;
    font-size: var(--fs-m);
    gap: var(--c-accordion-gap);
    height: 100%;
    line-height: var(--lh-m);
    padding-block: var(--c-accordion-padding-block);
    padding-inline: var(--c-accordion-padding-inline);
}

.c-accordion__header {
    --c-accordion-header-border: var(--color-primary-500, #fe6201);
}

.c-accordion__header:has(.c-accordion__trigger[aria-expanded=true]) {
    border-bottom: 1px solid var(--c-accordion-header-border);
}

.c-accordion__title {
    margin: 0;
    font: inherit;
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
}

.c-accordion__trigger {
    --c-accordion-trigger-fg: var(--color-secondary-500, #5a6670);
    --c-accordion-trigger-fg-hover: var(--color-secondary-700, #32383e);
    --c-accordion-trigger-gap: var(--space-4, 1rem);
    --c-accordion-trigger-padding-block: var(--space-2, 0.5rem);
    align-items: center;
    background: none;
    color: var(--c-accordion-trigger-fg);
    cursor: pointer;
    display: flex;
    font-weight: var(--fw-medium);
    gap: var(--c-accordion-trigger-gap);
    inline-size: 100%;
    justify-content: space-between;
    padding-block: var(--c-accordion-trigger-padding-block);
    transition: color 150ms ease, border-color 150ms ease, transform 100ms ease, -webkit-text-decoration 150ms ease;
    transition: color 150ms ease, border-color 150ms ease, text-decoration 150ms ease, transform 100ms ease;
    transition: color 150ms ease, border-color 150ms ease, text-decoration 150ms ease, transform 100ms ease, -webkit-text-decoration 150ms ease;
    text-align: left;
    text-transform: uppercase;
}

.c-accordion__trigger[aria-expanded=true],
.c-accordion__trigger:hover {
    color: var(--c-accordion-trigger-fg-hover);
}

.c-accordion__trigger:focus {
    outline: none;
}

.c-accordion__trigger:focus-visible {
    box-shadow: 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px #000000;
}

.c-accordion__trigger .c-accordion__label {
    flex: 1 1 auto;
}

.c-accordion__trigger>.c-icon {
    transition: transform var(--c-accordion-transition-duration) var(--c-accordion-transition-timing);
}

.c-accordion__trigger[aria-expanded=true]>.c-icon {
    transform: rotate(-180deg);
}

.c-accordion__panel {
    --c-accordion-panel-bg: var(--color-white, #fff);
    background-color: var(--c-accordion-panel-bg);
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    transition: grid-template-rows var(--c-accordion-transition-duration) var(--c-accordion-transition-timing);
}

.c-accordion__panel[aria-hidden=false] {
    grid-template-rows: 1fr;
}

.c-accordion__panel[aria-hidden=false] .c-accordion__panel-transform-wrapper {
    transform: translateY(0);
    visibility: visible;
    transition: transform var(--c-accordion-transition-duration) var(--c-accordion-transition-timing), visibility 0s linear;
}

.c-accordion__panel-animation {
    min-height: 0;
}

.c-accordion__panel-transform-wrapper {
    transform: translateY(-100%);
    visibility: hidden;
    transition: transform var(--c-accordion-transition-duration) var(--c-accordion-transition-timing), visibility 0s var(--c-accordion-transition-duration) var(--c-accordion-transition-timing);
}

.c-accordion__panel-body {
    --c-accordion-panel-padding: var(--space-pad-m);
    --c-accordion-panel-body-gap: var(--space-pad-s);
    padding: var(--c-accordion-panel-padding);
    display: flex;
    flex-direction: column;
    gap: var(--c-accordion-panel-body-gap);
    font-weight: var(--fw-light);
}

.c-accordion__icon-label {
    align-items: center;
    display: flex;
    flex-grow: 1;
    gap: var(--space-4, 1rem);
}

.c-accordion[hidden] {
    display: none;
}

.c-accordion--pad-lg {
    padding: 0;
}

@media (min-width: 48rem) {
    .c-accordion--pad-lg {
        padding: var(--space-pad-xl) var(--space-section-margin);
    }
}

.c-accordion--pad-generic {
    padding: var(--space-pad-xl) var(--space-section-margin);
}

.c-accordion--gap-m {
    --c-accordion-gap: var(--space-pad-m);
}

.c-accordion--simulate-tab {
    --c-accordion-bg: var(--color-white, #fff);
    --c-accordion-radius: var(--radius-md);
    --c-accordion-padding-block: 0;
    --c-accordion-padding-inline: 0;
    --c-accordion-gap: var(--space-4, 1rem);
}

.c-accordion--simulate-tab .c-accordion__panel-body {
    background-color: var(--color-secondary-50, #f4f5f6);
    font-size: var(--fs-xs);
    line-height: var(--lh-xs);
}

.c-alert-fraud {
    --c-alert-fraud-max-w: 50rem;
    --c-alert-fraud-gap: var(--space-4, 1rem);
    --c-alert-fraud-fg: var(--color-secondary-500, #5a6670);
    color: var(--c-alert-fraud-fg);
    display: flex;
    flex-direction: column;
    font-size: var(--fs-xs);
    font-weight: var(--fs-medium);
    line-height: var(--lh-xs);
    gap: var(--c-alert-fraud-gap);
    max-width: var(--c-alert-fraud-max-w);
    margin: 0 auto;
}

.c-alert {
    --alert-bg: var(--color-white, #fff);
    --alert-fg: var(--color-secondary-500, #5a6670);
    --alert-pad: var(--space-pad-s);
    --alert-gap: var(--space-pad-s);
    --alert-icon-fg: var(--color-secondary-500, #5a6670);
    background-color: var(--alert-bg);
    border-radius: var(--radius-md);
    display: flex;
    align-items: flex-start;
    gap: var(--alert-gap);
    padding: var(--alert-pad);
    width: -moz-fit-content;
    width: fit-content;
}

.c-alert__content {
    color: var(--alert-fg);
    display: flex;
    flex-direction: column;
    font-size: var(--fs-m);
    font-weight: var(--fw-light);
    line-height: var(--lh-m);
}

.c-alert .c-icon {
    color: var(--alert-icon-fg);
}

.c-alert__title {
    color: var(--color-secondary-700, #32383e);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
}

.c-alert--warning {
    --alert-bg: var(--color-warning-100, #fbf3da);
    --alert-icon-fg: var(--color-warning-400, #dfbe4a);
}

.c-alert--info {
    --alert-bg: var(--color-primary-100, #ffece0);
    --alert-icon-fg: var(--color-primary-400, #ff8539);
}

.c-alert--error {
    --alert-bg: var(--color-error-100, #fff0f0);
    --alert-icon-fg: var(--color-error-400, #e97575);
}

.c-alert--success {
    --alert-bg: var(--color-success-100, #e6fbea);
    --alert-icon-fg: var(--color-success-400, #62cb79);
}

.c-article-meta {
    --article-meta-fg: var(--color-secondary-500, #5a6670);
    --article-meta-gap: var(--space-pad-s);
    --article-meta-gap-md: var(--space-4, 1rem);
    --article-meta-gap-sm: var(--space-2, 0.5rem);
    --article-meta-bg: var(--color-secondary-50, #f4f5f6);
    --article-meta-padding-block: var(--space-pad-m);
    --article-meta-padding-inline: var(--space-section-margin);
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--article-meta-bg);
    gap: var(--article-meta-gap);
    text-align: center;
    padding-block: var(--article-meta-padding-block);
    padding-inline: var(--article-meta-padding-inline);
    /* TAGS */
}

.c-article-meta__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--article-meta-gap-sm);
}

@media (min-width: 48rem) {
    .c-article-meta__tags {
        justify-content: flex-start;
    }
}

.c-article-meta {
    /* INFO */
}

.c-article-meta__info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    -moz-column-gap: var(--article-meta-gap-md);
    column-gap: var(--article-meta-gap-md);
    row-gap: var(--article-meta-gap-sm);
    width: 100%;
}

@media (min-width: 48rem) {
    .c-article-meta__info {
        flex-grow: 1;
        justify-content: flex-end;
        width: auto;
    }
}

.c-article-meta__info .c-icon {
    font-size: var(--fs-s);
    --icon-size: var(--fs-s);
}

@media (min-width: 48rem) {
    .c-article-meta__info .c-icon {
        font-size: var(--fs-xl);
        --icon-size: var(--fs-xl);
    }
}

.c-article-meta__info-item {
    --article-meta-info-item-pad-r: var(--space-4, 1rem);
    align-items: center;
    display: inline-flex;
    font-size: var(--fs-xs);
    font-weight: var(--fw-medium);
    gap: var(--article-meta-gap-sm);
    line-height: var(--lh-xs);
    padding-right: var(--article-meta-info-item-pad-r);
}

.c-article-meta__info-item:first-child {
    justify-content: center;
    width: 100%;
}

.c-article-meta__info-item:nth-last-child(2) {
    border-right: 1px solid var(--color-secondary-200, #d6d9dc);
}

@media (min-width: 48rem) {
    .c-article-meta__info-item {
        font-size: var(--fs-s);
        line-height: var(--lh-s);
    }

    .c-article-meta__info-item:first-child {
        justify-content: initial;
        width: auto;
    }

    .c-article-meta__info-item:not(:last-child) {
        border-right: 1px solid var(--color-secondary-200, #d6d9dc);
    }
}

.c-article-meta .c-icon {
    color: var(--color-primary-400, #ff8539);
}

.c-article-meta {
    /* SHARE BLOCK */
}

.c-article-meta__share {
    --article-meta-share-col-gap: var(--space-8, 2rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    -moz-column-gap: var(--article-meta-share-col-gap);
    column-gap: var(--article-meta-share-col-gap);
    row-gap: var(--article-meta-gap-sm);
}

@media (min-width: 48rem) {
    .c-article-meta__share {
        flex-direction: row;
    }
}

.c-article-meta__share-label {
    font-size: var(--fs-m);
    line-height: var(--lh-m);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
}

.c-article-meta__share-list {
    display: flex;
    align-items: center;
    gap: var(--space-pad-m);
}

.c-article-meta__share-list .c-icon {
    color: var(--article-meta-fg);
    font-size: var(--fs-xl);
    --icon-size: var(--fs-xl);
}

.c-article-meta__share-list a {
    text-decoration: none;
}

.c-article-meta {
    /* Tablet y Desktop */
}

@media (min-width: 48rem) {
    .c-article-meta {
        --article-meta-gap: var(--space-pad-l);
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .c-article-meta:has(.c-article-meta__share) {
        justify-content: flex-end;
    }
}

.c-banner {
    --banner-gap-sm: var(--space-2);
    --banner-fg: var(--color-white, #fff);
    border-radius: var(--radius-md, 0.375rem);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}

.c-banner__media {
    position: absolute;
    inset: 0;
}

.c-banner__media .c-media-image {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.c-banner__content,
.c-banner__cta-box {
    position: relative;
}

.c-banner__content {
    --banner-content-pad-inline: var(--space-pad-m);
    --banner-content-pad-top: var(--space-pad-m);
    color: var(--banner-fg);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.75) 100%);
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: var(--space-pad-s);
    padding-inline: var(--banner-content-pad-inline);
    padding-top: var(--banner-content-pad-top);
}

.c-banner__header {
    display: flex;
    flex-direction: column;
}

.c-banner__eyebrow {
    display: flex;
    align-items: center;
    gap: var(--banner-gap-sm);
}

.c-banner__square {
    --icon-size: 0.5rem;
    flex-shrink: 0;
    height: var(--icon-size);
    width: var(--icon-size);
}

.c-banner__eyebrow-text {
    font-size: var(--fs-xs);
    line-height: var(--lh-xs);
    font-weight: var(--fw-medium);
}

.c-banner__title {
    font-size: var(--fs-xl);
    line-height: var(--lh-xl);
    font-weight: var(--fw-medium);
}

.c-banner__body {
    font-size: var(--fs-m);
    line-height: var(--lh-m);
    font-weight: var(--fw-light);
}

.c-banner__cta-box {
    --banner-cta-box-pad-inline: var(--space-pad-m);
    --banner-cta-box-pad-bottom: var(--space-pad-m);
    --banner-cta-box-pad-top: var(--space-pad-s);
    background-color: rgba(0, 0, 0, 0.7490196078);
    padding-bottom: var(--banner-cta-box-pad-bottom);
    padding-inline: var(--banner-cta-box-pad-inline);
    padding-top: var(--banner-cta-box-pad-top);
}

.c-breadcrumb {
    --breadcrumb-bg: var(--color-white, #fff);
    --breadcrumb-fg: var(--color-secondary-500, #5a6670);
    --breadcrumb-fg-hover: var(--color-secondary-800, #1e2125);
    --breadcrumb-focus-inner: var(--color-white, #ffffff);
    --breadcrumb-focus-outer: var(--color-black, #000);
    --breadcrumb-gap-inline: 0.25rem;
    --breadcrumb-pad-block: var(--space-1, 0.25rem);
    --breadcrumb-pad-inline: var(--space-section-margin);
    padding-block: var(--breadcrumb-pad-block);
    padding-inline: var(--breadcrumb-pad-inline);
}

.c-breadcrumb.is-collapsed,
.c-breadcrumb.is-panel-open {
    --breadcrumb-pad-block: var(--space-2, 0.5rem);
}

.c-breadcrumb[hidden],
.c-breadcrumb [hidden] {
    display: none;
}

.c-breadcrumb {
    font-size: var(--fs-xs);
    line-height: var(--lh-xs);
    font-weight: var(--fw-medium);
    color: var(--breadcrumb-fg);
    background-color: var(--breadcrumb-bg);
}

.c-breadcrumb__inline {
    display: flex;
    align-items: center;
    gap: var(--breadcrumb-gap-inline);
    white-space: nowrap;
    flex-wrap: nowrap;
}

.c-breadcrumb__icon {
    color: var(--color-primary-600, #cc4400);
}

.c-breadcrumb__list--full {
    display: flex;
    align-items: center;
    gap: var(--space-1, 0.25rem);
}

.c-breadcrumb__list--collapsed {
    align-items: center;
    display: flex;
    flex-grow: 1;
    gap: var(--space-1, 0.25rem);
}

.c-breadcrumb__list--panel {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: var(--space-1, 0.25rem);
}

.c-breadcrumb__list--panel .c-breadcrumb__item {
    padding-left: 0;
}

.c-breadcrumb__list--panel .c-breadcrumb__item::before {
    content: none;
}

.c-breadcrumb__item {
    --item-space: var(--space-1, 0.25rem);
    display: inline-flex;
    align-items: center;
    gap: var(--item-space);
    padding-left: var(--item-space);
    flex-shrink: 0;
}

.c-breadcrumb__item::before {
    --before-bg-color: var(--color-secondary-300, #adb3b8);
    display: inline-block;
    content: "";
    background-color: var(--before-bg-color);
    height: 0.0625rem;
    width: 0.375rem;
    margin-inline: var(--space-1, 0.25rem);
}

.c-breadcrumb__item:first-of-type {
    padding-left: 0;
}

.c-breadcrumb__item:first-of-type::before {
    content: none;
}

.c-breadcrumb__item--ellipsis .c-breadcrumb__ellipsis {
    display: inline-block;
    padding-inline: var(--space-0-5, 0.125rem);
}

.c-breadcrumb__item--current {
    flex-shrink: 1;
    white-space: normal;
    min-inline-size: 0;
}

.c-breadcrumb__link {
    text-decoration: underline;
    color: inherit;
}

.c-breadcrumb__link:hover {
    text-decoration: none;
}

.c-breadcrumb__link:focus-visible {
    color: var(--breadcrumb-fg-hover);
    box-shadow: 0 0 0 2px var(--breadcrumb-focus-inner), 0 0 0 4px var(--breadcrumb-focus-outer);
}

.c-breadcrumb__current {
    text-transform: uppercase;
}

.c-breadcrumb__current--collapsed {
    /* Truncado SOLO en la vista colapsada (estado 2) */
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
}

.c-breadcrumb__panel {
    align-items: flex-start;
    display: flex;
    background-color: var(--breadcrumb-bg);
}

.c-breadcrumb__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: none;
    color: var(--color-primary-700);
    cursor: pointer;
}

.c-breadcrumb__toggle:focus-visible {
    box-shadow: 0 0 0 2px var(--breadcrumb-focus-inner), 0 0 0 4px var(--breadcrumb-focus-outer);
}

.c-button {
    --button-radius: var(--radius-pill, 9999px);
    --button-padding-x: var(--space-4, 1rem);
    --button-padding-y: var(--space-2, 0.5rem);
    --button-font-size: var(--fs-l, 1.25rem);
    --button-icon-gap: var(--space-2, 0.5rem);
    --button-icon-size: var(--fs-xl, 1.5rem);
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    justify-content: center;
    gap: var(--button-icon-gap);
    text-align: center;
    padding-inline: var(--button-padding-x);
    padding-block: var(--button-padding-y);
    border: 1px solid transparent;
    border-radius: var(--button-radius);
    font: inherit;
    font-size: var(--button-font-size);
    line-height: var(--lh-l);
    text-decoration: none;
    cursor: pointer;
    transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, transform 100ms ease, -webkit-text-decoration 150ms ease;
    transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, text-decoration 150ms ease, transform 100ms ease;
    transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, text-decoration 150ms ease, transform 100ms ease, -webkit-text-decoration 150ms ease;
}

.c-button--full {
    display: flex;
    width: 100%;
}

.c-button:hover {
    text-decoration: none;
}

.c-button:focus-visible {
    outline: none;
}

.c-button:disabled,
.c-button[aria-disabled=true] {
    cursor: not-allowed;
    pointer-events: none;
}

.c-button__label {
    display: inline-block;
}

.c-button__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.c-button__icon .c-icon:not([class*=c-icon--size-]) {
    --icon-size: var(--button-icon-size);
}

.c-button--primary,
.c-button--secondary,
.c-button--link {
    font-weight: var(--fw-bold);
}

.c-button--primary {
    --button-primary-fg: var(--color-white, #fff);
    --button-primary-bg: var(--color-primary-500, #fe6201);
    --button-primary-bg-hover: var(--color-primary-600, #cc4400);
    --button-primary-ring-inner: var(--color-shadow-inner);
    --button-primary-ring-outer: var(--color-shadow-outer);
    --button-primary-fg-disabled: var(--color-secondary-400, #848d94);
    --button-primary-bg-disabled: var(--color-secondary-100, #ebecee);
    background-color: var(--button-primary-bg);
    color: var(--button-primary-fg, #fff);
    box-shadow: 0 0 0 2px var(--button-primary-ring-inner);
}

.c-button--primary:hover {
    background-color: var(--button-primary-bg-hover);
}

.c-button--primary:focus-visible {
    box-shadow: 0 0 0 2px var(--button-primary-ring-inner), 0 0 0 4px var(--button-primary-ring-outer);
}

.c-button--primary:disabled,
.c-button--primary[aria-disabled=true] {
    background-color: var(--button-primary-bg-disabled);
    color: var(--button-primary-fg-disabled);
}

.c-button--secondary {
    --button-secondary-fg: var(--color-white);
    --button-secondary-bg: transparent;
    --button-secondary-bg-hover: var(--color-overlay-5, #0000000d);
    --button-secondary-border: currentColor;
    --button-secondary-focus-inner: var(--color-primary-500, #fe6201);
    --button-secondary-focus-outer: var(--color-white, #ffffff);
    --button-secondary-fg-disabled: var(--color-secondary-400, #848d94);
    --button-secondary-bg-disabled: var(--color-secondary-100, #ebecee);
    --button-secondary-border-disabled: var(--color-white, #fff);
    color: var(--button-secondary-fg, #f60);
    border: 1px solid;
    border-color: var(--button-secondary-border);
}

.c-button--secondary:hover {
    background-color: var(--button-secondary-bg-hover);
}

.c-button--secondary:focus-visible {
    box-shadow: 0 0 0 2px var(--button-secondary-focus-inner), 0 0 0 4px var(--button-secondary-focus-outer);
}

.c-button--secondary:disabled,
.c-button--secondary[aria-disabled=true] {
    background-color: var(--button-secondary-bg-disabled);
    border-color: var(--button-secondary-border-disabled);
    color: var(--button-secondary-fg-disabled);
}

.c-button--outlined {
    --button-outlined-fg: var(--color-secondary-500, #5a6670);
    --button-outlined-bg: transparent;
    --button-outlined-border: currentColor;
    --button-outlined-fg-hover: var(--color-secondary-800, #1e2125);
    --button-outlined-bg-hover: var(--color-overlay-5, #0000000d);
    --button-outlined-focus-inner: var(--color-white, #ffffff);
    --button-outlined-focus-outer: var(--color-black, #000);
    --button-outlined-fg-disabled: var(--color-secondary-400, #848d94);
    --button-outlined-bg-disabled: var(--color-secondary-50, #f4f5f6);
    background-color: transparent;
    border-color: var(--button-outlined-border);
    color: var(--button-outlined-fg, #333);
    font-weight: var(--fw-medium);
}

.c-button--outlined:hover {
    background-color: var(--button-outlined-bg-hover);
    color: var(--button-outlined-fg-hover);
}

.c-button--outlined:focus-visible {
    color: var(--button-outlined-fg-hover);
    box-shadow: 0 0 0 2px var(--button-outlined-focus-inner), 0 0 0 4px var(--button-outlined-focus-outer);
}

.c-button--outlined:disabled,
.c-button--outlined[aria-disabled=true] {
    background-color: var(--button-outlined-bg-disabled);
    color: var(--button-outlined-fg-disabled);
}

.c-button--link {
    --button-link-fg: var(--color-primary-500, #fe6201);
    --button-link-bg: transparent;
    --button-link-border: currentColor;
    --button-link-border-radius: var(--radius-md, 6px);
    --bg-link-padding: 0.125rem;
    --button-link-fg-hover: var(--color-primary-800, #1e2125);
    --button-link-bg-hover: var(--color-overlay-5, #0000000d);
    --button-link-bg-focus: var(--color-white, #fff);
    --button-link-focus-inner: var(--color-white, #ffffff);
    --button-link-focus-outer: var(--color-black, #000);
    --button-link-fg-disabled: var(--color-secondary-400, #848d94);
    --button-link-bg-disabled: transparent;
    background-color: var(--button-link-bg);
    border-radius: var(--button-link-border-radius);
    color: var(--button-link-fg, #f60);
    padding-inline: var(--bg-link-padding);
    padding-block: var(--bg-link-padding);
    border: none;
    text-decoration: none;
}

.c-button--link .c-button__label {
    text-decoration: underline;
}

.c-button--link:hover .c-button__label {
    text-decoration: none;
}

.c-button--link:focus-visible {
    background-color: var(--button-link-bg-focus);
    box-shadow: 0 0 0 2px var(--button-link-focus-inner), 0 0 0 4px var(--button-link-focus-outer);
    text-decoration: none;
}

.c-button--link:disabled,
.c-button--link[aria-disabled=true] {
    background-color: var(--button-link-bg-disabled);
    color: var(--button-link-fg-disabled);
    text-decoration: none;
}

.c-button--icon-only {
    --button-icon-only-border-radius: var(--radius-pill, 9999px);
    --button-icon-only-fg-disabled: var(--color-secondary-400, #848d94);
    --button-icon-only-bg-disabled: var(--color-white, #fff);
    --button-icon-only-fg-hover: var(--color-primary-600, #cc4400);
    border-radius: var(--button-icon-only-border-radius);
    padding-inline: var(--space-2, 0.5rem);
    padding-block: var(--space-2, 0.5rem);
    aspect-ratio: 1/1;
    min-inline-size: 2.5rem;
    min-block-size: 2.5rem;
}

.c-button--icon-only .c-button__label {
    display: none;
}

.c-button--icon-only .c-button__icon .c-icon:not([class*=c-icon--size-]) {
    --icon-size: var(--button-icon-size);
}

.c-button--icon-only.c-button--outlined:disabled,
.c-button--icon-only.c-button--outlined[aria-disabled=true] {
    background-color: var(--button-icon-only-bg-disabled);
    color: var(--button-icon-only-fg-disabled);
    text-decoration: none;
}

.c-button--icon-only.c-button--link:hover {
    color: var(--button-icon-only-fg-hover);
}

.c-button--icon-only.c-button--link:disabled,
.c-button--icon-only.c-button--link[aria-disabled=true] {
    background-color: transparent;
    color: var(--button-icon-only-fg-disabled);
    text-decoration: none;
}

.c-button--large {
    max-width: 27rem;
    width: 100%;
}

.c-banner-insite {
    display: block;
    width: min(100%, 68.875rem);
    margin-inline: auto;
}

.c-banner-insite__link {
    display: block;
    width: 100%;
}

.c-banner-insite__image {
    display: block;
    width: 100%;
    block-size: auto;
    aspect-ratio: 1102/240;
    -o-object-fit: cover;
    object-fit: cover;
}

.c-card {
    /* Tokens locales */
    --card-media-height: 11.5146102905rem;
    --card-fg: var(--color-secondary-500, #5a6670);
    --card-fg-hover: var(--color-secondary-700, #32383e);
    --card-gap: var(--space-4);
    --card-radius: var(--radius-md, 6px);
    /* Área clickeable del enlace (pseudo-elemento) */
    --card-link-hit-top: 0;
    --card-link-hit-left: 0;
    --card-link-hit-right: 0;
    --card-link-hit-bottom: 0;
    inline-size: 100%;
    block-size: 100%;
}

.c-card__inner {
    position: relative;
    /* necesario para el ::before del link */
    display: flex;
    flex-direction: column;
    inline-size: 100%;
    block-size: 100%;
    color: var(--card-fg);
    border-radius: var(--card-radius);
    text-decoration: none;
    transition: background-color 150ms ease-out, color 150ms ease-out, box-shadow 150ms ease-out, transform 150ms ease-out, -webkit-text-decoration 150ms ease-out;
    transition: background-color 150ms ease-out, color 150ms ease-out, box-shadow 150ms ease-out, text-decoration 150ms ease-out, transform 150ms ease-out;
    transition: background-color 150ms ease-out, color 150ms ease-out, box-shadow 150ms ease-out, text-decoration 150ms ease-out, transform 150ms ease-out, -webkit-text-decoration 150ms ease-out;
}

.c-card__media {
    overflow: hidden;
    flex-shrink: 0;
    border-radius: var(--card-radius) var(--card-radius) 0 0;
}

.c-card__image_numeros {
    display: block;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}


.c-card__image {
    display: block;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}

.c-card__body {
    display: flex;
    flex-direction: column;
    gap: var(--card-gap);
    flex-grow: 1;
}

.c-card__title {
    color: currentColor;
    text-transform: uppercase;
    display: inline-block;
    font-weight: var(--fw-bold);
    font-size: var(--fs-xl);
    line-height: var(--lh-xl);
}

.c-card__content {
    --c-card-content-gap: var(--space-pad-s);
    display: flex;
    flex-direction: column;
    gap: var(--c-card-content-gap);
    font-weight: var(--fw-light);
    font-size: var(--fs-m);
    line-height: var(--lh-m);
}

.c-card__tags {
    --card-tags-gap: var(--space-1, 0.25rem);
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--card-tags-gap);
}

.c-card__bottom {
    --card-bottom-gap: var(--space-4, 1rem);
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    font-size: var(--fs-xs);
    line-height: var(--lh-xs);
    font-weight: var(--fw-medium);
    gap: var(--card-bottom-gap);
}

.c-card__bottom-item {
    --card-bottom-item-gap: var(--space-1, 0.25rem);
    display: inline-flex;
    align-items: center;
    gap: var(--card-bottom-item-gap);
}

.c-card button.c-card__bottom-item:hover {
    cursor: pointer;
}

.c-card button.c-card__bottom-item:hover .c-icon,
.c-card button.c-card__bottom-item:focus-visible .c-icon {
    color: var(--color-primary-500, #fe6201);
}

.c-card:has(.c-card__actions) .c-card__author-date {
    border-bottom: 1px solid var(--color-secondary-200);
}

.c-card__author-date,
.c-card__author,
.c-card__date-publication {
    display: flex;
}

.c-card__author {
    align-items: center;
    gap: var(--space-2, 0.5rem);
}

.c-card__author-date {
    --card-author-pad-bottom: var(--space-pad-s);
    --card-author-pad-inline: var(--space-pad-m);
    flex-direction: column;
    gap: var(--space-2);
    padding-bottom: var(--card-author-pad-bottom);
    padding-inline: var(--card-author-pad-inline);
}

.c-card__date-publication {
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
}

.c-card__date {
    font-size: var(--fs-s);
    line-height: var(--lh-s);
    font-weight: var(--fw-light);
}

.c-card__actions,
.c-card__youtube,
.c-card__linkedin {
    align-items: center;
    display: flex;
}

.c-card__actions {
    padding-right: var(--space-pad-m);
    gap: var(--space-4);
}

.c-card__youtube,
.c-card__linkedin {
    justify-content: center;
    block-size: 2.5rem;
    inline-size: 2.5rem;
}

.c-card__youtube {
    background-color: #d34034;
}

.c-card__linkedin {
    background-color: #3374b0;
}

.c-card__blog-data {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-4);
    flex-grow: 1;
}

.c-card__blog-data-item {
    display: inline-flex;
    align-items: center;
    font-size: var(--fs-xs);
    line-height: var(--lh-xs);
    gap: var(--space-1);
}

.c-card__action {
    align-items: center;
    block-size: 1.5rem;
    inline-size: 1.5rem;
    display: flex;
    justify-content: center;
}

.c-card--link .c-card__inner {
    --card-bg: var(--color-secondary-50, #f4f5f6);
    --card-bg-hover: var(--color-seconday-100, #ebecee);
    --card-link-ring-inner: var(--color-shadow-inner);
    --card-link-ring-outer: var(--color-shadow-outer);
    background-color: var(--card-bg);
}

.c-card--link .c-card__inner:hover {
    background-color: var(--card-bg-hover);
}

.c-card--link .c-card__inner:hover .c-card__link {
    color: var(--card-fg-hover);
    text-decoration: none;
}

.c-card--link {
    /* Enlace: sólo el título, con área clickeable ampliada */
}

.c-card--link .c-card__link {
    color: inherit;
    display: inline-block;
    text-decoration: underline;
}

.c-card--link .c-card__link:hover {
    text-decoration: none;
}

.c-card--link .c-card__link::before {
    content: "";
    border-radius: var(--card-radius);
    position: absolute;
    top: var(--card-link-hit-top);
    right: var(--card-link-hit-right);
    bottom: var(--card-link-hit-bottom);
    left: var(--card-link-hit-left);
    z-index: 1;
}

.c-card--link .c-card__link:focus-visible {
    outline: none;
    outline-offset: initial;
}

.c-card--link .c-card__link:focus-visible::before {
    box-shadow: 0 0 0 2px var(--card-link-ring-inner), 0 0 0 4px var(--card-link-ring-outer);
}

.c-card {
    /* Card centrada */
}

.c-card--center {
    --card-padding-block: var(--space-pad-xl);
    --card-padding-inline: var(--space-pad-xxl);
}

.c-card--center .c-card__body {
    padding-block: var(--card-padding-block);
    padding-inline: var(--card-padding-inline);
    text-align: center;
}

.c-card--center .c-card__media {
    --card-media-height: 12.5rem;
    height: var(--card-media-height);
}

.c-card--center .c-card__description {
    font-weight: var(--fw-medium);
}

.c-card {
    /* Card flat - Sin color de fondo padding, etc. */
}

.c-card--flat {
    --card-padding-block: var(--space-pad-s);
}

.c-card--flat .c-card__media_numero {
    --card-media-height: 16rem;
    border-radius: var(--card-radius);
}

.c-card--flat .c-card__media {
    --card-media-height: 16rem;
    block-size: var(--card-media-height);
    border-radius: var(--card-radius);
}

.c-card--flat .c-card__body {
    padding-block: var(--card-padding-block);
    text-align: left;
}

.c-card {
    /* Card centrada */
}

.c-card--info {
    --card-padding-block: var(--space-pad-m);
    --card-padding-inline: var(--space-pad-l);
}

.c-card--info .c-card__inner {
    background-color: var(--card-bg);
}

.c-card--info .c-card__body {
    padding-block: var(--card-padding-block);
    padding-inline: var(--card-padding-inline);
    text-align: left;
}

.c-card--info .c-card__media {
    --card-media-height: 16rem;
    block-size: var(--card-media-height);
}

.c-card--article {
    --card-article-height: 30rem;
    --card-article-title-fg: var(--color-secondary-700, #32383e);
    height: var(--card-article-height);
}

.c-card--article .c-card__inner {
    background-color: var(--card-bg);
    height: 100%;
    overflow: hidden;
}

.c-card--article .c-card__media {
    height: var(--card-media-height);
}

@media (min-width: 48rem) {
    .c-card--article .c-card__media {
        --card-media-height: 15.165625rem;
    }
}

.c-card--article .c-card__body {
    --card-article-padding: var(--space-pad-m);
    flex: 1 1 auto;
    min-height: 0;
    padding: var(--card-article-padding);
}

.c-card--article .c-card__title,
.c-card--article .c-card__tags,
.c-card--article .c-card__actions {
    flex-shrink: 0;
}

.c-card--article .c-card__title {
    color: var(--card-article-title-fg);
    font-size: var(--fs-m);
    font-weight: var(--fw-medium);
    line-height: var(--lh-m);
}

.c-card--article .c-card__content {
    flex: 1 1 auto;
    min-height: 0;
}

.c-card--article .c-card__content p {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.c-card--article .c-card__link {
    text-decoration: underline;
}

.c-card--article .c-card__link:hover {
    text-decoration: none;
}

.c-card--link-only {
    --card-link-only-height: 21.25rem;
}

.c-card--link-only .c-card__inner {
    background-color: var(--card-bg);
    height: 100%;
    overflow: hidden;
}

.c-card--link-only .c-card__media {
    height: var(--card-media-height);
}

@media (min-width: 48rem) {
    .c-card--link-only .c-card__media {
        --card-media-height: 15.352812767rem;
    }
}

.c-card--link-only .c-card__body {
    --card-link-only-padding: var(--space-pad-m);
    justify-content: center;
    flex-grow: 1;
    padding: var(--card-link-only-padding);
}

.c-card--link-only .c-card__title {
    font-size: var(--fs-m);
    font-weight: var(--fw-medium);
    line-height: var(--lh-m);
}

.c-card--link-only .c-card__link {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

@media (min-width: 48rem) {
    .c-card--link-only {
        height: var(--card-link-only-height);
    }
}

.c-card--social:has(.c-card__media) {
    --card-social-height: 25.5rem;
}

.c-card--social:not(:has(.c-card__media)) {
    --card-social-height: 13.75rem;
}

.c-card--social {
    height: var(--card-social-height);
}

.c-card--social.js-vertical-ellipsis .c-card__title,
.c-card--social.js-vertical-ellipsis .c-card__actions {
    flex-shrink: 0;
}

.c-card--social.js-vertical-ellipsis .c-card__content {
    flex: 1 1 auto;
    min-height: 0;
}

.c-card--social.js-vertical-ellipsis .c-card__body {
    flex: 1 1 auto;
    min-height: 0;
}

.c-card--social.js-vertical-ellipsis .c-card__content p {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.c-card--social.js-vertical-ellipsis-title .c-card__content,
.c-card--social.js-vertical-ellipsis-title .c-card__actions {
    flex-shrink: 0;
}

.c-card--social.js-vertical-ellipsis-title .c-card__title {
    flex: 1 1 auto;
    min-height: 0;
}

.c-card--social.js-vertical-ellipsis-title .c-card__body {
    flex: 1 1 auto;
    min-height: 0;
}

.c-card--social.js-vertical-ellipsis-title .c-card__link {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.c-card--social .c-card__media {
    --card-media-height: 11.280625rem;
    height: var(--card-media-height);
}

.c-card--social .c-card__body {
    --card-social-pad: var(--space-pad-m);
    padding: var(--card-social-pad);
}

.c-card--social .c-card__title {
    font-size: var(--fs-m);
    font-weight: var(--fw-medium);
    line-height: var(--lh-m);
    color: var(--color-secondary-700, #32383e);
}

.c-card--social .c-card__inner {
    --card-bg: var(--color-white, #fff);
    --card-bg-hover: var(--color-seconday-100, #ebecee);
    background-color: var(--card-bg);
    height: 100%;
    overflow: hidden;
}

.c-card--social.c-card--link .c-card__inner:hover {
    background-color: var(--color-white);
}

.c-card-cta {
    display: flex;
    flex-direction: column;
    inline-size: 100%;
    block-size: 100%;
}

.c-card-cta__inner,
.c-card-cta__content {
    display: flex;
    flex-direction: column;
}

.c-card-cta__inner {
    --card-cta-bg: var(--color-primary-500, #fe6201);
    --card-cta-fg: var(--color-white, #ffff);
    --card-cta-radius: var(--radius-md, 6px);
    --card-cta-padding: var(--space-pad-xl) var(--space-pad-xxl);
    background-color: var(--card-cta-bg);
    block-size: 100%;
    border-radius: var(--card-cta-radius);
    color: var(--card-cta-fg);
    gap: var(--space-12);
    inline-size: 100%;
    justify-content: center;
    padding: var(--card-cta-padding);
}

.c-card-cta__content {
    font-size: var(--fs-xl);
    line-height: var(--lh-xl);
    gap: var(--space-4);
    text-align: center;
}

.c-card-cta__title {
    font-weight: var(--fw-bold);
    text-transform: uppercase;
}

.c-card-cta__description {
    --c-card-cta-description-gap: var(--space-pad-s);
    display: flex;
    flex-direction: column;
    gap: var(--c-card-cta-description-gap);
    font-weight: var(--fw-light);
}

.c-card-cta__actions {
    display: flex;
    justify-content: center;
}

.c-card-cta .c-button {
    text-transform: uppercase;
}

.c-card-cta--small .c-card-cta__inner {
    gap: var(--space-pad-m);
    padding: var(--space-pad-m);
}

.c-card-cta--small .c-card-cta__content {
    font-size: var(--fs-l);
    line-height: var(--lh-l);
    gap: 0;
}

.c-card-cta--small .c-card-cta__title {
    text-transform: none;
}

.c-card-cta--small .c-card-cta__inner {
    gap: var(--space-pad-m);
    padding: var(--space-pad-m);
}

.c-card-cta--small .c-card-cta__content {
    font-size: var(--fs-l);
    line-height: var(--lh-l);
    gap: 0;
}

.c-card-cta--small .c-card-cta__title {
    text-transform: none;
}

.c-card-horizontal {
    --card-horizontal-padding-block: var(--space-pad-xl);
    --card-horizontal-padding-inline: var(--space-section-margin);
    --card-horizontal-gap: var(--space-pad-xxl);
    --card-horizontal-bg: var(--color-white, #fff);
    display: grid;
    background-color: var(--card-horizontal-bg);
    grid-template-columns: 1fr;
    gap: var(--card-horizontal-gap);
    padding-block: var(--card-horizontal-padding-block);
    padding-inline: var(--card-horizontal-padding-inline);
}

.c-card-horizontal--muted {
    --card-horizontal-bg: var(--color-secondary-50, #f4f5f6);
    background-color: var(--card-horizontal-bg);
}

.c-card-horizontal__inner {
    --card-horizontal-fg: var(--color-secondary-500, #5a6670);
    --content-gap: var(--space-pad-s);
    color: var(--card-horizontal-fg);
    display: flex;
    flex-direction: column;
    gap: var(--content-gap);
    min-width: 0;
}

.c-card-horizontal__inner :where(h1, h2, h3, h4, h5, h6) {
    overflow-wrap: anywhere;
}

.c-card-horizontal__body,
.c-card-horizontal__content {
    display: flex;
    flex-direction: column;
}

.c-card-horizontal__body {
    --card-horizontal-gap-body: var(--space-4);
    gap: var(--card-horizontal-gap-body);
}

.c-card-horizontal__content {
    --card-horizontal-gap-text: var(--space-pad-s);
    gap: var(--card-horizontal-gap-text);
    font-size: var(--fs-m);
    line-height: var(--lh-m);
    font-weight: var(--fw-light);
    color: currentColor;
}

.c-card-horizontal__toggle {
    --button-link-fg: var(--color-primary-700, #9d3501);
}

.c-card-horizontal__media {
    overflow: hidden;
    border-radius: var(--radius-md);
    align-self: flex-start;
}

.c-card-horizontal__image {
    display: block;
    height: auto;
    width: 100%;
}

.c-card-horizontal__cta {
    padding-top: var(--space-pad-s);
}

@media (min-width: 64rem) {
    .c-card-horizontal {
        grid-template-columns: minmax(0, 1fr) minmax(0, 35.25rem);
    }
}

.c-card-horizontal {
    /* ---------------------- */
    /*    VARIANTE DOCUMENT   */
    /* ---------------------- */
}

.c-travel-advice-card-wrapper {
    background-color: var(--color-secondary-50, #f4f5f6);
    padding-block: var(--space-pad-xl);
    padding-inline: var(--space-section-margin);
}

.c-travel-advice-card {
    display: grid;
    gap: var(--space-pad-xl);
    grid-template-columns: 1fr;
}

.c-travel-advice-card__content {
    color: var(--color-secondary-500, #5a6670);
    display: flex;
    flex-direction: column;
    gap: var(--space-pad-s);
    min-width: 0;
}

.c-travel-advice-card__title {
    color: currentColor;
    font-size: var(--fs-xl);
    font-weight: var(--fw-medium);
    line-height: var(--lh-s);
    margin: 0;
    text-transform: uppercase;
}

.c-travel-advice-card__description {
    color: currentColor;
    font-size: var(--fs-m);
    font-weight: var(--fw-light);
    line-height: var(--lh-m);
}

.c-travel-advice-card__description :last-child {
    margin-bottom: 0;
}

.c-travel-advice-card__media {
    border-radius: var(--radius-md);
    margin: 0;
    overflow: hidden;
    width: 100%;
}

.c-travel-advice-card__image {
    display: block;
    height: 100%;
    max-height: 31.25rem;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

@media (min-width: 64rem) {
    .c-travel-advice-card {
        align-items: start;
        grid-template-columns: minmax(0, 1fr) minmax(0, 48.5%);
    }
}

.c-card-horizontal--document {
    --card-horizontal-padding-inline: var(--space-pad-m);
    padding-block: 0;
    padding-inline: var(--card-horizontal-padding-inline);
}

.c-card-horizontal--document .c-card-horizontal__inner {
    --card-horizontal-padding-block: var(--space-pad-s);
    padding-block: var(--card-horizontal-padding-block);
}

.c-card-horizontal--document .c-card-horizontal__media {
    --card-document-padding-inline: var(--space-3);
    border-radius: 0;
    padding-inline: var(--card-document-padding-inline);
    overflow: initial;
}

.c-card-horizontal--document .c-card-horizontal__image {
    --card-shadow-img: var(--color-shadow-img);
    box-shadow: -2px -2px 10px 2px var(--card-shadow-img);
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

@media (min-width: 48rem) {
    .c-card-horizontal--document {
        grid-template-columns: 1fr minmax(23.25rem, 27.3529411%);
    }
}

.c-card-section {
    --card-section-bg: var(--color-white, #fff);
    --card-section-rounded: var(--radius-md, 0.375rem);
    --card-section-fg: var(--color-secondary-500, #5a6670);
    --card-section-padding-block: var(--space-pad-m);
    --card-section-padding-inline: var(--space-pad-s);
    --card-section-gap: var(--space-4, 1rem);
    --card-section-height: 20.0625rem;
    background-color: var(--card-section-bg);
    block-size: 100%;
    border-radius: var(--card-section-rounded);
    color: var(--card-section-fg);
    inline-size: 100%;
    overflow: hidden;
}

.c-card-section__inner {
    --card-section-inner-gap: var(--space-pad-m);
    display: flex;
    flex-direction: column;
    gap: var(--card-section-inner-gap);
    height: 100%;
    padding-block: var(--card-section-padding-block);
    padding-inline: var(--card-section-padding-inline);
}

@media (min-width: 48rem) {
    .c-card-section__inner {
        --card-section-padding-block: var(--space-pad-xl);
        --card-section-padding-inline: var(--space-pad-xl);
        --card-section-inner-gap: var(--space-pad-xxl);
        align-items: flex-start;
        flex-direction: row;
    }
}

.c-card-section .c-media-figure {
    height: 100%;
}

@media (min-width: 48rem) {
    .c-card-section .c-media-figure {
        flex-shrink: 0;
        width: 39.338235%;
    }
}

.c-card-section .c-media-image {
    height: 100%;
}

.c-card-section__body,
.c-card-section__top {
    display: flex;
    flex-direction: column;
    gap: var(--card-section-gap);
}

.c-card-section__body {
    flex-grow: 1;
}

.c-card-section__content {
    --card-section-content-gap: var(--space-pad-s);
    display: flex;
    flex-direction: column;
    gap: var(--card-section-content-gap);
    font-weight: var(--fw-light);
    font-size: var(--fs-m);
    line-height: var(--lh-m);
}

.c-card-section__link {
    --card-section-link-fg-hover: var(--color-secondary-700, #32383e);
    --card-section-link-gap: var(--space-2, 0.5rem);
    --card-section-link-pad-block: var(--space-1, 0.25rem);
    --card-section-link-icon-fill: var(--color-primary-500, #fe6201);
    --card-section-link-ring-inner: var(--color-shadow-inner);
    --card-section-link-ring-outer: var(--color-shadow-outer);
    display: inline-flex;
    align-items: center;
    font-size: var(--fs-s);
    line-height: var(--lh-s);
    gap: var(--card-section-link-gap);
    padding-block: var(--card-section-link-pad-block);
    align-self: flex-start;
    text-decoration: none;
}

.c-card-section__link .c-icon {
    fill: var(--card-section-link-icon-fill);
}

.c-card-section__link:hover {
    color: var(--card-section-link-fg-hover);
}

.c-card-section__link:hover .c-card-section__link-text {
    text-decoration: underline;
}

.c-card-section__link:focus-visible {
    box-shadow: 0 0 0 2px var(--card-section-link-ring-inner), 0 0 0 4px var(--card-section-link-ring-outer);
}

@media (min-width: 48rem) {
    .c-card-section {
        height: var(--card-section-height);
    }
}

.c-checkbox {
    --c-checkbox-bg: var(--color-white, #fff);
    --c-checkbox-fg: var(--color-secondary-700, #32383e);
    --c-checkbox-gap: var(--space-2, 0.5rem);
    --c-checkbox-checked: var(--color-primary-500, #fe6201);
    --c-checkbox-border: var(--color-secondary-400, #848d94);
    --c-checkbox-ring-inner: var(--color-shadow-inner);
    --c-checkbox-ring-outer: var(--color-shadow-outer);
    --c-checkbox-fg-disabled: var(--color-secondary-400, #848d94);
    --c-checkbox-bg-error: var(--color-error-100, #fff0f0);
    --c-checkbox-color-error: var(--color-error-700, #b80000);
}

.c-checkbox input[type=checkbox] {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    height: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 0;
}

.c-checkbox input[type=checkbox]:checked+label::before {
    background-color: var(--c-checkbox-checked);
    border-color: var(--c-checkbox-checked);
}

.c-checkbox input[type=checkbox]:checked+label::after {
    transform: translateY(-50%) rotate(45deg) scale(1);
}

.c-checkbox input[type=checkbox]:indeterminate+label::before {
    background-color: var(--c-checkbox-bg);
    border-color: var(--c-checkbox-checked);
}

.c-checkbox input[type=checkbox]:indeterminate+label::after {
    content: "";
    left: 0.4375rem;
    width: 0.625rem;
    height: 0;
    border: none;
    border-bottom: 2px solid var(--c-checkbox-checked);
    top: 50%;
    transform: translateY(-50%) rotate(0) scale(1);
}

.c-checkbox input[type=checkbox]:focus+label::before {
    box-shadow: 0 0 0 2px var(--c-checkbox-ring-inner), 0 0 0 4px var(--c-checkbox-ring-outer);
}

.c-checkbox input[type=checkbox]:disabled+label {
    cursor: not-allowed;
    color: var(--c-checkbox-fg-disabled);
    border-color: var(--c-checkbox-fg-disabled);
}

.c-checkbox input[type=checkbox]:disabled+label::before {
    background-color: var(--c-checkbox-bg);
}

.c-checkbox label {
    align-items: center;
    color: var(--c-checkbox-fg);
    cursor: pointer;
    display: flex;
    font-size: var(--fs-m);
    font-weight: var(--fw-medium, 500);
    gap: var(--c-checkbox-gap);
    line-height: var(--lh-m);
    position: relative;
    transition: opacity 0.2s ease;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.c-checkbox label::before {
    content: "";
    border: 2px solid var(--c-checkbox-border);
    position: static;
    flex-shrink: 0;
    left: 0;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0.125rem;
    border-radius: 0.25rem;
    background-color: var(--c-checkbox-bg);
    transition: all 0.2s ease;
}

.c-checkbox label::after {
    content: "";
    position: absolute;
    left: 0.5rem;
    top: 45%;
    transform: translateY(-45%) scale(0);
    width: 0.5rem;
    height: 0.875rem;
    border: solid var(--color-white, #fff);
    border-width: 0 2px 2px 0;
    transform-origin: center;
    transition: transform 0.2s ease;
}

.c-checkbox--error input[type=checkbox]+label::before {
    border-color: var(--c-checkbox-color-error);
}

.c-checkbox--error input[type=checkbox]:checked+label::before {
    background-color: var(--c-checkbox-bg-error);
    border-color: var(--c-checkbox-color-error);
}

.c-component-name {
    width: 100%;
    background-color: var(--color-secondary-900);
    padding: var(--space-4);
    text-align: center;
}

@media (min-width: 48rem) {
    .c-component-name {
        padding: 2.125rem 0;
    }
}

.c-component-name__text {
    color: var(--color-white);
    font-size: var(--fs-2xl);
    line-height: var(--lh-2xl);
    font-weight: var(--fw-medium);
    text-transform: uppercase;
}

@media (min-width: 48rem) {
    .c-component-name__text {
        font-size: var(--fs-4xl);
        line-height: var(--lh-4xl);
    }
}

.c-contact-info {
    --c-contact-bg: var(--color-white, #fff);
    --c-contact-fg: var(--color-secondary-500, #5a6670);
    --c-contact-info-icon-size: 2.5rem;
    --c-contact-info-icon-color: var(--color-primary-400, #ff8539);
    --c-contact-info-gap: var(--space-6, 1.5rem);
    --c-contact-info-content-gap: var(--space-4, 1rem);
    --c-contact-info-title-color: var(--color-secondary-700, #32383e);
    --c-contact-pad-block: var(--space-pad-m);
    --c-contact-pad-inline: var(--space-section-margin);
    background-color: var(--c-contact-bg);
    border-radius: var(--radius-md);
    color: var(--c-contact-fg);
    display: flex;
    flex-direction: column;
    gap: var(--c-contact-info-gap);
    padding-block: var(--c-contact-pad-block);
    padding-inline: var(--c-contact-pad-inline);
}

@media (min-width: 48rem) {
    .c-contact-info {
        --c-contact-info-icon-size: 4rem;
        --c-contact-info-gap: var(--space-8, 2rem);
        flex-direction: row;
        height: 100%;
    }
}

.c-contact-info .c-icon {
    font-size: var(--c-contact-info-icon-size);
    width: var(--c-contact-info-icon-size);
    height: var(--c-contact-info-icon-size);
    color: var(--c-contact-info-icon-color);
}

.c-contact-info__content,
.c-contact-info__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
}

.c-contact-info__content {
    gap: var(--c-contact-info-content-gap);
}

.c-contact-info__title {
    font-size: var(--fs-xl);
    font-weight: var(--fw-bold);
    line-height: var(--lh-xl);
}

.c-contact-info__body {
    font-size: var(--fs-l);
    font-weight: var(--fw-light);
    line-height: var(--lh-l);
    align-items: flex-start;
    gap: var(--space-2, 0.5rem);
}

.c-cookie-consent {
    --cookie-consent-bg: var(--color-white, #fff);
    --cookie-consent-text: var(--color-secondary-500, #5a6670);
    --cookie-consent-shadow: 0px 4px 22px 0px #00000066;
    --cookie-consent-transition-duration: 350ms;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 950;
    background-color: var(--cookie-consent-bg);
    box-shadow: var(--cookie-consent-shadow);
    font-size: var(--fs-s);
    font-weight: var(--fw-light);
    line-height: var(--lh-s);
    transition: transform var(--cookie-consent-transition-duration) ease, opacity var(--cookie-consent-transition-duration) ease;
}

.c-cookie-consent.is-hidden {
    transform: translateY(100%);
    opacity: 0;
    pointer-events: none;
}

.c-cookie-consent[hidden] {
    display: none;
}

.c-cookie-consent__container {
    --cookie-container-pad: 0;
    --cookie-container-gap: var(--space-20, 5rem);
    display: flex;
    flex-direction: column;
    padding: var(--cookie-container-pad);
}

@media (min-width: 48rem) {
    .c-cookie-consent__container {
        --cookie-container-pad: var(--space-4, 1rem) var(--space-pad-xl);
        flex-direction: row;
        align-items: center;
        gap: var(--cookie-container-gap);
    }
}

.c-cookie-consent__content {
    --cookie-content-pad: var(--space-pad-m) var(--space-section-margin);
    flex: 1;
    padding: var(--cookie-content-pad);
}

@media (min-width: 48rem) {
    .c-cookie-consent__content {
        --cookie-content-pad: 0;
    }
}

.c-cookie-consent__actions {
    --cookies-actions-pad: var(--space-pad-s) var(--space-pad-m);
    background-color: var(--cookie-consent-bg);
    border-top: 2px solid var(--color-secondary-100, #ebecee);
    display: flex;
    flex-direction: column;
    padding: var(--cookies-actions-pad);
    gap: var(--space-pad-s);
}

@media (min-width: 48rem) {
    .c-cookie-consent__actions {
        --cookies-actions-pad: 0;
        border-top: none;
        gap: var(--space-2, 0.5rem);
    }
}

@media (min-width: 48rem) {
    .c-cookie-sections {
        display: flex;
        flex-grow: 1;
    }
}

.c-cookie-sections__mobile {
    display: block;
    padding: var(--space-pad-m) var(--space-section-margin);
}

@media (min-width: 48rem) {
    .c-cookie-sections__mobile {
        display: none;
    }
}

.c-cookie-sections__mobile-inner {
    display: flex;
    flex-direction: column;
    gap: var(--space-6, 1.5rem);
}

.c-cookie-sections__desktop {
    display: none;
}

@media (min-width: 48rem) {
    .c-cookie-sections__desktop {
        display: block;
    }
}

.c-cookie-sections .c-media-figure {
    width: 8.875rem;
}

.c-cookie-settings {
    --cookie-settings-bg: var(--color-white);
    --cookie-settings-fg: var(--color-secondary-500, #5a6670);
    --cookie-settings-max-width: 97.77777777%;
    --cookie-settings-height: 42.3125rem;
    --dialog-base-backdrop: rgba(0, 0, 0, 0.5);
    background: transparent;
}

.c-cookie-settings::backdrop {
    background: var(--dialog-base-backdrop);
    opacity: 0;
    transition: opacity 220ms ease;
}

.c-cookie-settings[open]::backdrop {
    opacity: 1;
}

.c-cookie-settings[open].is-closing::backdrop {
    opacity: 0;
    transition: opacity 220ms ease;
}

.c-cookie-settings[open] [data-dialog-inner] {
    transition: transform 350ms ease, opacity 200ms ease;
    will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {

    .c-cookie-settings::backdrop,
    .c-cookie-settings [data-dialog-inner] {
        transition: none;
    }
}

.c-cookie-settings {
    border: 0;
    border-radius: var(--radius-md);
    color: var(--cookie-settings-fg);
    height: auto;
    padding: 0;
    max-width: var(--cookie-settings-max-width);
    max-height: var(--cookie-settings-height);
    overflow: hidden;
    width: 100%;
    opacity: 0;
    transform: translateY(100%);
}

@media (min-width: 48rem) {
    .c-cookie-settings {
        --cookie-settings-max-width: 54.625rem;
    }
}

.c-cookie-settings[open].is-open {
    opacity: 1;
    transform: translateY(0);
}

.c-cookie-settings[open].is-closing {
    opacity: 0;
    transform: translateY(100%);
}

.c-cookie-settings[open] {
    transition: transform 350ms ease, opacity 200ms ease;
    will-change: transform, opacity;
}

.c-cookie-settings__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: var(--cookie-settings-bg);
    position: relative;
}

.c-cookie-settings__header {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--space-pad-s);
    padding: var(--space-pad-m);
    border-bottom: 2px solid var(--color-secondary-100, #ebecee);
}

.c-cookie-settings__close {
    display: inline-flex;
    position: absolute;
    top: 1rem;
    right: 1rem;
}

@media (min-width: 48rem) {
    .c-cookie-settings__close {
        top: 1.5rem;
        right: 1.5rem;
    }
}

.c-cookie-settings__close .c-icon {
    color: var(--color-secondary-400, #848d94);
}

.c-cookie-settings__title {
    color: var(--color-secondary-700, #32383e);
    font-size: var(--fs-l);
    font-weight: var(--fw-medium);
    line-height: var(--lh-l);
    text-transform: uppercase;
}

@media (min-width: 48rem) {
    .c-cookie-settings__title {
        font-size: var(--fs-xl);
        line-height: var(--lh-xl);
    }
}

.c-cookie-settings__logo {
    width: auto;
    height: 2.5rem;
    -o-object-fit: contain;
    object-fit: contain;
}

.c-cookie-settings__content {
    color: var(--color-secondary-500, #5a6670);
    flex: 1;
    padding: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.c-cookie-settings__content::-webkit-scrollbar {
    width: 8px;
}

.c-cookie-settings__content::-webkit-scrollbar-track {
    background: var(--color-secondary-50);
}

.c-cookie-settings__content::-webkit-scrollbar-thumb {
    background: var(--color-secondary-300);
    border-radius: var(--radius-pill);
}

.c-cookie-settings__content::-webkit-scrollbar-thumb:hover {
    background: var(--color-secondary-400);
}

@media (min-width: 48rem) {
    .c-cookie-settings__content {
        display: flex;
        flex-direction: column;
    }
}

.c-cookie-settings__toggle {
    margin-top: var(--space-4);
}

.c-cookie-settings__footer {
    display: flex;
    gap: var(--space-4);
    padding: var(--space-pad-s) var(--space-pad-m);
    border-top: 1px solid var(--color-secondary-200);
    background-color: var(--color-white);
}

@media (min-width: 48rem) {
    .c-cookie-settings__footer .c-button {
        width: auto;
        min-width: 14.3125rem;
    }
}

.c-cookie-settings__footer {
    flex-direction: column;
}

@media (min-width: 48rem) {
    .c-cookie-settings__footer {
        flex-direction: row;
        justify-content: flex-end;
    }
}

.c-cta-list {
    display: grid;
    grid-template-columns: 1;
}

@media (min-width: 57rem) {
    .c-cta-list {
        grid-template-columns: minmax(0, 27rem) 1fr;
    }
}

.c-cta-list .c-card-cta__inner {
    border-radius: var(--radius-md) var(--radius-md) 0 0;
}

@media (min-width: 57rem) {
    .c-cta-list .c-card-cta__inner {
        border-radius: var(--radius-md) 0 0 var(--radius-md);
    }
}

.c-cta-list__wrapper-numbers {
    background-color: var(--color-white, #fff);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    display: flex;
    padding: var(--space-pad-m);
}

@media (min-width: 57rem) {
    .c-cta-list__wrapper-numbers {
        align-items: center;
        border-radius: 0 var(--radius-md) var(--radius-md) 0;
        padding-left: var(--space-10);
    }
}

.c-data-table {
    --data-table-fg: var(--color-secondary-500, #5a6670);
    --data-table-border: var(--color-secondary-200, #d6d9dc);
    --data-table-pad-sm: var(--space-2, 0.5rem);
    color: var(--data-table-fg);
    font-weight: var(--fw-light);
    font-size: var(--fs-md);
    line-height: var(--lg-md);
    width: 100%;
    overflow-x: auto;
}

@media (min-width: 48rem) {

    .c-data-table--privacy-policy .c-data-table__table thead th:first-child,
    .c-data-table--privacy-policy .c-data-table__table .c-data-table__cell:first-child {
        width: 200px;
    }

    .c-data-table--privacy-policy .c-data-table__table thead th:nth-child(2),
    .c-data-table--privacy-policy .c-data-table__table thead th:nth-child(3),
    .c-data-table--privacy-policy .c-data-table__table thead th:nth-child(4),
    .c-data-table--privacy-policy .c-data-table__table .c-data-table__cell:nth-child(2),
    .c-data-table--privacy-policy .c-data-table__table .c-data-table__cell:nth-child(3),
    .c-data-table--privacy-policy .c-data-table__table .c-data-table__cell:nth-child(4) {
        width: auto;
    }
}

.c-data-table__table {
    width: 100%;
    border-collapse: collapse;
    font-family: inherit;
}

@media (min-width: 48rem) {
    .c-data-table__table {
        table-layout: fixed;
    }
}

@media (max-width: 47.9375rem) {
    .c-data-table__table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
}

@media (min-width: 48rem) {
    .c-data-table__table thead th {
        border-bottom: 1px solid var(--data-table-border);
        text-align: left;
        font-weight: var(--fw-medium);
        text-transform: uppercase;
        overflow-wrap: break-word;
        padding: var(--data-table-pad-sm);
        width: auto;
    }
}

@media (min-width: 48rem) {
    .c-data-table__table tbody tr:last-child {
        border-bottom: none;
    }
}

@media (max-width: 47.9375rem) {
    .c-data-table__row:not(:first-child) {
        border-top: 3px solid var(--data-table-border);
    }

    .c-data-table__row {
        display: block;
        overflow: hidden;
    }
}

@media (min-width: 48rem) {
    .c-data-table__row {
        border-top: 1px solid var(--data-table-border);
    }
}

@media (max-width: 47.9375rem) {
    .c-data-table__cell:not(:first-child) {
        border-top: 1px solid var(--data-table-border);
    }

    .c-data-table__cell {
        display: grid;
        grid-template-columns: 50% 50%;
        padding: 0;
        align-items: start;
    }

    .c-data-table__cell::before {
        content: attr(data-label);
        display: block;
        font-weight: var(--fw-medium);
        text-transform: uppercase;
        padding: var(--data-table-pad-sm);
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
}

@media (min-width: 26.25rem) and (max-width: 47.9375rem) {
    .c-data-table__cell {
        grid-template-columns: minmax(10%, 10.25rem) 1fr;
    }
}

@media (min-width: 48rem) {
    .c-data-table__cell {
        overflow-wrap: break-word;
        padding: var(--data-table-pad-sm);
        vertical-align: top;
    }
}

.c-data-table__label {
    display: inline-block;
    font-weight: var(--fw-medium);
    overflow-wrap: break-word;
    padding: var(--data-table-pad-sm);
}

@media (min-width: 48rem) {
    .c-data-table__label {
        display: block;
        padding: 0;
    }
}

.c-data-table__text {
    display: block;
    overflow-wrap: break-word;
    padding: var(--data-table-pad-sm);
}

@media (min-width: 48rem) {
    .c-data-table__text {
        padding: 0;
    }
}

.c-discount-card {
    --discount-card-bg: var(--color-white, #fff);
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: var(--radius-md);
    background-color: var(--discount-card-bg);
    font-weight: var(--fw-light);
    height: 100%;
    overflow: hidden;
}

.c-discount-card__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: var(--space-pad-m);
}

.c-discount-card__internal-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-2, 0.5rem);
    padding-bottom: var(--space-6, 1.5rem);
    flex-grow: 1;
}

.c-discount-card__title {
    flex-grow: 1;
}

.c-discount-card__body {
    font-size: var(--fs-m);
    line-height: var(--lh-m);
    color: var(--color-secondary-500, #5a6670);
}

.c-discount-card__info {
    display: flex;
    align-items: flex-end;
    -moz-column-gap: var(--space-4);
    column-gap: var(--space-4);
    flex-wrap: wrap;
}

@media (min-width: 48rem) {
    .c-discount-card__info {
        flex-wrap: nowrap;
    }
}

.c-discount-card__info-text,
.c-discount-card__percentage-sign,
.c-discount-card__percentage-text {
    padding: 0.1875rem 0;
}

.c-discount-card__percentage {
    align-items: flex-end;
    display: flex;
    flex-shrink: 0;
}

.c-discount-card__percentage-amount {
    font-size: var(--fs-2xl);
    line-height: var(--lh-2xl);
    font-weight: var(--fw-bold);
}

.c-discount-card__percentage-text {
    font-size: var(--fs-s);
    line-height: var(--lh-s);
    padding-left: var(--space-2);
}

.c-discount-card__percentage-sign {
    font-size: var(--fs-m);
    line-height: var(--lh-m);
}

.c-discount-card__info-text {
    font-size: var(--fs-xs);
    line-height: var(--lh-xs);
}

@media (min-width: 48rem) {
    .c-discount-card__info-text {
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        line-clamp: 1;
        -webkit-box-orient: vertical;
    }
}

.c-discount-card__note {
    font-size: var(--fs-s);
    line-height: var(--lh-s);
}

.c-discount-card__border {
    background-color: var(--color-primary-500, #fe6201);
    height: 100%;
    border-radius: var(--radius-md) 0 0 var(--radius-md);
    width: 0.5rem;
}

.c-discount-card__description {
    display: flex;
    flex-direction: column;
    gap: var(--space-pad-s);
}

.c-discount-card--small {
    flex-direction: row;
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.c-discount-card--small .c-discount-card__header {
    display: flex;
    align-items: flex-start;
}

.c-discount-card--small .c-discount-card__title {
    font-size: var(--fs-l);
    line-height: var(--lh-l);
    font-weight: var(--fw-bold);
    padding: 0.3125rem 0;
}

.c-discount-card--small .c-discount-card__body {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.c-discount-card--small .c-discount-card__content {
    flex-grow: 1;
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    border-top: 1px solid;
    border-right: 1px solid;
    border-bottom: 1px solid;
    border-color: var(--color-secondary-200, #d6d9dc);
}

.c-discount-card--large {
    --discount-card-header-bg: var(--color-primary-600, #cc4400);
    --dicount-card-pad: var(--space-6, 1.5rem);
}

.c-discount-card--large .c-discount-card__header {
    background-color: var(--discount-card-header-bg);
    color: var(--color-white, #fff);
    display: flex;
    flex-direction: column;
    height: auto;
    gap: var(--space-4);
    padding: var(--dicount-card-pad);
}

@media (min-width: 48rem) {
    .c-discount-card--large .c-discount-card__header {
        height: 10.25rem;
    }
}

.c-discount-card--large .c-discount-card__title {
    font-size: var(--fs-xl);
    line-height: var(--lh-xl);
    font-weight: var(--fw-bold);
}

@media (min-width: 48rem) {
    .c-discount-card--large .c-discount-card__title {
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
    }
}

.c-discount-card--large .c-discount-card__body {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    text-align: center;
    padding: var(--dicount-card-pad);
}

.c-discount-card--large .c-discount-card__body,
.c-discount-card--large .c-discount-card__description {
    flex-grow: 1;
}

.c-discount-card--large .c-button {
    align-self: center;
}

.node--type-descuentos h1.title,
body:has(article[aria-labelledby="heading-discount-detail"]) h1.title {
    margin-inline-start: var(--space-section-margin);
}

.c-discount-results-table {
    width: 100%;
}

@media (max-width: 767px) {
    .c-discount-results-table__mobile {
        display: flex;
    }

    .c-discount-results-table__desktop {
        display: none;
    }
}

@media (min-width: 48rem) {
    .c-discount-results-table__mobile {
        display: none;
    }

    .c-discount-results-table__desktop {
        display: table;
    }
}

.c-discount-results-table__mobile {
    background-color: var(--color-white, #fff);
    flex-direction: column;
    gap: var(--space-4);
}

.c-discount-results-table__mobile-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    padding-bottom: var(--space-2);
}

.c-discount-results-table__mobile-header .c-icon {
    font-size: var(--fs-3xl);
    --icon-size: var(--fs-3xl);
}

.c-discount-results-table__mobile-label {
    font-size: var(--fs-l);
    font-weight: var(--fw-bold);
    color: var(--color-primary-500, #fe6201);
    text-transform: uppercase;
    line-height: var(--lh-l);
    text-align: center;
}

.c-discount-results-table__mobile-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.c-discount-results-table__mobile-section--single .c-discount-results-table__mobile-grid {
    grid-template-columns: 1fr;
}

.c-discount-results-table__mobile-cell {
    padding: var(--space-2);
    text-align: center;
    color: var(--color-secondary-500, #5a6670);
    font-size: var(--fs-m);
    font-weight: var(--fw-medium);
    line-height: var(--lh-m);
}

.c-discount-results-table__mobile-cell:nth-child(odd) {
    border-right: 1px solid var(--color-secondary-200, #d6d9dc);
}

.c-discount-results-table__mobile-section--single .c-discount-results-table__mobile-cell {
    border-right: none;
}

.c-discount-results-table__desktop {
    width: 100%;
    border-collapse: collapse;
}

.c-discount-results-table__thead {
    background-color: var(--color-white);
}

.c-discount-results-table__row:not(.c-discount-results-table__row--header) {
    border-bottom: 1px solid var(--color-secondary-200);
}

.c-discount-results-table__row:last-child {
    border-bottom: none;
}

.c-discount-results-table__header {
    text-align: center;
    vertical-align: middle;
    width: 16.6666666667%;
}

.c-discount-results-table__header-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    padding-bottom: var(--space-2);
}

.c-discount-results-table__header-content .c-icon {
    font-size: var(--fs-3xl);
    --icon-size: var(--fs-3xl);
}

@media (min-width: 48rem) {
    .c-discount-results-table__header-content .c-icon {
        font-size: var(--fs-5xxl);
        --icon-size: var(--fs-5xxl);
    }
}

.c-discount-results-table__header-label {
    font-size: var(--fs-l);
    font-weight: var(--fw-bold);
    color: var(--color-primary-500, #fe6201);
    text-transform: uppercase;
    line-height: var(--lh-l);
    text-align: center;
}

.c-discount-results-table__tbody {
    background-color: var(--color-white, #fff);
}

.c-discount-results-table__cell {
    padding: var(--space-4);
    text-align: center;
    vertical-align: middle;
    color: var(--color-secondary-500, #5a6670);
    font-size: var(--fs-m);
    font-weight: var(--fw-medium);
    line-height: var(--lh-m);
}

.c-disclosure {
    --disclosure-gap: var(--space-4, 1rem);
    --disclosure-trigger: var(--space-2, 0.5rem);
    --disclosure-fg: var(--color-secondary-500, #5a6670);
    --disclosure-border-radius: var(--radius-md, 6px);
    --disclosure-max-w: var(--max-w-text);
    color: var(--disclosure-fg);
    font-size: var(--fs-m);
    display: flex;
    flex-direction: column;
    gap: var(--disclosure-gap);
    line-height: var(--lh-m);
    transition: -webkit-text-decoration 150ms ease;
    transition: text-decoration 150ms ease;
    transition: text-decoration 150ms ease, -webkit-text-decoration 150ms ease;
}

.c-disclosure__trigger {
    display: inline-flex;
    align-items: center;
    gap: var(--disclosure-trigger);
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    cursor: pointer;
    width: -moz-fit-content;
    width: fit-content;
}

.c-disclosure__trigger:focus-visible {
    border-radius: var(--disclosure-border-radius);
}

.c-disclosure__label {
    text-decoration: underline;
    font-weight: var(--fw-medium);
}

.c-disclosure__label:hover {
    text-decoration: none;
}

.c-disclosure__content {
    --disclosure-gap: var(--space-pad-s);
    flex-direction: column;
    font-weight: var(--fw-light);
    gap: var(--disclosure-gap);
    max-width: var(--disclosure-max-w);
    display: flex;
}

.c-disclosure {
    /* Seguridad extra: ocultar cuando exista [hidden] */
}

.c-disclosure__content[hidden] {
    display: none;
}

@media (min-width: 64rem) {
    .c-disclosure--trigger-end .c-disclosure__trigger {
        align-self: flex-end;
    }
}

.c-download-card {
    --c-download-card-padding: var(--space-6, 1.5rem);
    --c-download-card-radius: var(--radius-m, 0.375rem);
    --c-download-card-gap: var(--space-6, 1.5rem);
    --c-download-card-bg: var(--color-white, #fff);
    display: flex;
    flex-direction: column;
    gap: var(--c-download-card-gap);
    inline-size: 100%;
    block-size: 100%;
    padding: var(--c-download-card-padding);
    border-radius: var(--c-download-card-radius);
    background-color: var(--c-download-card-bg);
}

.c-download-card__header,
.c-download-card__top {
    display: flex;
}

.c-download-card__header {
    --c-download-card-header-pad: var(--space-pad-s);
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--c-download-card-header-pad);
}

.c-download-card__top {
    --c-download-card-top-gap: var(--space-2, 0.5rem);
    flex-direction: column;
    gap: var(--c-download-card-top-gap);
}

.c-download-card__title-wrapper {
    --c-download-card-title-pad-block: 0.3125rem;
    padding-block: var(--c-download-card-title-pad-block);
}

.c-download-card__title {
    font-weight: var(--fw-bold);
    font-size: var(--fs-xl);
    line-height: var(--lh-xl);
    text-transform: uppercase;
}

.c-download-card__content {
    --c-download-card-content-gap: var(--space-pad-s);
    display: flex;
    flex-direction: column;
    gap: var(--c-download-card-content-gap);
    font-weight: var(--fw-light);
    font-size: var(--fs-m);
    line-height: var(--lh-m);
}

.c-download-card__footer {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    flex-grow: 1;
}

.c-download-list {
    --c-download-list-gap: var(--space-pad-m) var(--space-pad-l);
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: var(--c-download-list-gap);
    grid-template-columns: 1fr;
}

@media (min-width: 48rem) {
    .c-download-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 64rem) {
    .c-download-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.c-dropdown {
    --dropdown-gap: var(--space-4, 1rem);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--dropdown-gap);
}

.c-dropdown__label {
    display: block;
    font-weight: var(--fw-bold, 700);
}

.c-dropdown__label,
.c-dropdown__option {
    font-size: var(--fs-m);
    line-height: var(--lh-m);
}

.c-dropdown {
    /* Hidden input (si se usa name en la macro) */
}

.c-dropdown__value {
    display: none;
}

.c-dropdown__box {
    position: relative;
    width: 100%;
}

.c-dropdown__input {
    --input-base-border-radius: var(--radius-md, 6px);
    --input-base-border-color: var(--color-secondary-400, #848d94);
    --input-base-bg: var(--color-white, #fff);
    --input-base-padding-inline: var(--space-3, 0.75rem);
    --input-base-padding-block: var(--space-2, 0.5rem);
    --input-base-placeholder-color: var(--color-secondary-500, #5a6670);
    --input-base-hover-shadow: 0 0 0 2px rgb(0 0 0 / 8%);
    --input-base-ring-inner: var(--color-shadow-inner);
    --input-base-ring-outer: var(--color-shadow-outer);
    --input-base-transition:
        box-shadow 0.16s ease-out, border-color 0.16s ease-out, background-color 0.16s ease-out;
    flex: 1 1 auto;
    min-width: 0;
    border-radius: var(--input-base-border-radius);
    border: 1px solid var(--input-base-border-color);
    background-color: var(--input-base-bg);
    font-weight: var(--fw-medium, 500);
    padding-inline: var(--input-base-padding-inline);
    padding-block: var(--input-base-padding-block);
    transition: var(--input-base-transition);
}

.c-dropdown__input:hover {
    box-shadow: --input-base-hover-shadow;
}

.c-dropdown__input::-moz-placeholder {
    font-weight: var(--fw-light);
    color: var(--input-base-placeholder-color);
}

.c-dropdown__input::placeholder {
    font-weight: var(--fw-light);
    color: var(--input-base-placeholder-color);
}

.c-dropdown__input:focus {
    outline: none;
}

.c-dropdown__input:focus-visible {
    box-shadow: 0 0 0 2px var(--input-base-ring-inner), 0 0 0 4px var(--input-base-ring-outer);
}

.c-dropdown__input:hover {
    cursor: pointer;
}

.c-dropdown__menu {
    --dropdown-menu-bg: var(--color-white, #fff);
    --dropdown-menu-border: var(--color-secondary-400, #848d94);
    --dropdown-menu-radius: var(--radius-md);
    background: var(--dropdown-menu-bg);
    border-radius: var(--dropdown-menu-radius);
    border: 1px solid var(--dropdown-menu-border);
    display: none;
    left: 0;
    max-height: 240px;
    overflow: auto;
    padding: var(--space-2) 0;
    position: absolute;
    right: 0;
    top: calc(100% + 1px);
    z-index: 50;
}

.c-dropdown__option {
    --option-hover-bg: var(--color-secondary-50, #f4f5f6);
    padding: var(--space-2) var(--space-4);
    cursor: pointer;
    font-weight: var(--fw-medium);
}

.c-dropdown__option:hover {
    background: var(--option-hover-bg);
}

.c-dropdown__option[aria-selected=true] {
    color: var(--color-white, #fff);
    background: var(--color-primary-500, #fe6201);
}

.c-dropdown__option.is-current:not([aria-selected=true]) {
    background-color: var(--color-white, #fff);
    border: 2px solid var(--color-primary-500, #fe6201);
}

.c-dropdown__option.is-disabled,
.c-dropdown__option[aria-disabled=true] {
    opacity: 0.5;
    cursor: default;
}

.c-dropdown__option.is-disabled:hover,
.c-dropdown__option[aria-disabled=true]:hover {
    background: transparent;
}

.c-dropdown__arrow {
    position: absolute;
    top: 50%;
    right: 0.5rem;
    transform: translateY(-50%);
    transform-origin: 50% 50%;
    transition: transform 0.15s ease-in-out;
    pointer-events: none;
}

.c-dropdown {
    /* Estado abierto (lo marca el JS) */
}

.c-dropdown.is-open .c-dropdown__menu {
    display: block;
}

.c-dropdown.is-open .c-dropdown__input {
    border-color: var(--color-border-active, var(--color-border, currentColor));
}

.c-dropdown.is-open .c-dropdown__arrow {
    transform: translateY(-50%) rotate(180deg);
}

.c-empty-state {
    --empty-pad-block: var(--space-pad-xl);
    --empty-pad-inline: var(--space-8, 2rem);
    --empty-fg: var(--color-neutral-500, #5a6670);
    color: var(--empty-fg);
    height: 100%;
}

@media (min-width: 64rem) {
    .c-empty-state {
        --empty-pad-inline: var(--space-20, 5rem);
    }
}

.c-empty-state__body {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    gap: var(--space-4, 1rem);
    padding-block: var(--empty-pad-block);
    padding-inline: var(--empty-pad-inline);
    text-align: center;
}

.c-empty-state .c-icon {
    color: var(--color-secondary-300, #adb3b8);
}

.c-empty-state__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-2, 0.5rem);
}

.c-empty-state__title {
    font-size: var(--fs-l);
    font-weight: var(--fw-bold);
    line-height: var(--lh-l);
}

.c-empty-state__detail {
    font-size: var(--fs-m);
    font-weight: var(--fw-light);
    line-height: var(--lh-m);
}

.c-feature-list {
    counter-reset: item;
    --c-feature-list-fg: var(--color-secondary-500, #5a6670);
    --c-feature-list-gap-block: var(--space-pad-m);
    --c-feature-list-border-color: var(--color-secondary-200, #d6d9dc);
    display: flex;
    color: var(--c-feature-list-fg);
    flex-direction: column;
    gap: var(--c-feature-list-gap-block);
}

.c-feature-list__item {
    display: flex;
    align-items: flex-start;
}

.c-feature-list__media {
    --c-feature-list-image-size: 2.5rem;
    align-self: flex-start;
    height: var(--c-feature-list-image-size);
    display: block;
    width: var(--c-feature-list-image-size);
    overflow: hidden;
    flex-shrink: 0;
}

.c-feature-list__media img {
    width: 100%;
    height: 100%;
    display: block;
    -o-object-fit: cover;
    object-fit: cover;
}

@media (min-width: 48rem) {
    .c-feature-list__media {
        --c-feature-list-image-size: 4rem;
    }
}

.c-feature-list__content {
    --c-feature-list-content-gap: var(--space-2, 0.5rem);
    display: flex;
    flex-direction: column;
    gap: var(--c-feature-list-content-gap);
    flex: 1 1 auto;
}

.c-feature-list__title {
    --c-feature-list-title-fw: var(--fw-medium);
    font-weight: var(--c-feature-list-title-fw);
}

.c-feature-list__description {
    --c-feature-list-description-gap: var(--space-pad-s);
    display: flex;
    flex-direction: column;
    gap: var(--c-feature-list-description-gap);
    font-weight: var(--fw-light);
    font-size: var(--fs-m);
    line-height: var(--lh-m);
}

.c-feature-list__counter {
    text-align: right;
}

.c-feature-list__number {
    --c-feature-list-number-fg: var(--color-primary-500, #fe6201);
    --c-feature-list-number-fw: var(--fw-light);
    color: var(--c-feature-list-number-fg);
    font-weight: var(--c-feature-list-number-fw);
    text-align: right;
}

.c-feature-list--lg-numbers,
.c-feature-list--sm-numbers {
    --c-feature-list-number-fg: var(--color-primary-500, #fe6201);
}

.c-feature-list--lg-numbers .c-feature-list__number::before,
.c-feature-list--sm-numbers .c-feature-list__number::before {
    color: var(--c-feature-list-number-fg);
    content: counter(item, decimal-leading-zero) " ";
    counter-increment: item;
    font-weight: var(--fw-light);
    text-align: right;
}

.c-feature-list--images,
.c-feature-list--lg-numbers {
    --c-feature-list-gap-inline: var(--space-2, 0.5rem);
}

.c-feature-list--images .c-feature-list__item,
.c-feature-list--lg-numbers .c-feature-list__item {
    gap: var(--c-feature-list-gap-inline);
}

.c-feature-list--images .c-feature-list__title,
.c-feature-list--lg-numbers .c-feature-list__title {
    font-size: var(--fs-xl);
    line-height: var(--lh-xl);
    text-transform: uppercase;
}

.c-feature-list--images .c-feature-list__content,
.c-feature-list--lg-numbers .c-feature-list__content {
    --c-feature-max-w: 63.875rem;
    --c-feature-pad-inline-start: var(--space-pad-m);
    padding-inline-start: var(--c-feature-pad-inline-start);
    border-inline-start: 1px solid var(--c-feature-list-border-color);
    max-width: var(--c-feature-max-w);
}

@media (min-width: 48rem) {

    .c-feature-list--images,
    .c-feature-list--lg-numbers {
        --c-feature-list-gap-inline: var(--space-4, 1rem);
    }
}

@media (min-width: 48rem) {
    .c-feature-list--lg-numbers .c-feature-list__counter {
        min-width: 4rem;
    }
}

.c-feature-list--lg-numbers .c-feature-list__number {
    font-size: var(--fs-3xl);
    line-height: var(--lh-3xl);
}

@media (min-width: 48rem) {
    .c-feature-list--lg-numbers .c-feature-list__number {
        font-size: var(--fs-4xl);
        line-height: var(--lh-4xl);
    }
}

.c-feature-list--icons,
.c-feature-list--sm-numbers {
    --c-feature-list-icons-fg: var(--color-secondary-700, #32383e);
    --c-feature-list-gap-sm: var(--space-pad-s);
}

.c-feature-list--icons .c-feature-list__item,
.c-feature-list--sm-numbers .c-feature-list__item {
    gap: var(--c-feature-list-gap-sm);
}

.c-feature-list--icons .c-feature-list__title,
.c-feature-list--sm-numbers .c-feature-list__title {
    color: var(--c-feature-list-icons-fg);
    font-size: var(--fs-l);
    line-height: var(--lh-l);
}

.c-feature-list--icons .c-feature-list__content {
    --c-featue-icons-max-w: 66.375rem;
    max-width: var(--c-featue-icons-max-w);
}

.c-feature-list--sm-numbers .c-feature-list__content {
    --c-featue-sm-number-max-w: 65.875rem;
    max-width: var(--c-featue-sm-number-max-w);
}

.c-feature-list--sm-numbers .c-feature-list__counter {
    min-width: 2rem;
}

.c-feature-list--sm-numbers .c-feature-list__number {
    font-size: var(--fs-xl);
    line-height: var(--lh-xl);
}

.c-feature-list--title-black .c-feature-list__title {
    color: var(--color-secondary-700, #32383e);
}

.c-feature-list--gap-xs {
    --c-feature-list-gap-block: var(--space-2, 0.5rem);
}

@media (min-width: 48rem) {
    .c-feature-list {
        --c-feature-list-gap-inline: var(--space-4, 1rem);
    }
}

.c-footer {
    --footer-pt: var(--space-4);
    --footer-bg: var(--color-white, #fff);
    background-color: var(--footer-bg);
    transition: background-color 150ms ease, color 150ms ease, transform 100ms ease, -webkit-text-decoration 150ms ease;
    transition: background-color 150ms ease, color 150ms ease, text-decoration 150ms ease, transform 100ms ease;
    transition: background-color 150ms ease, color 150ms ease, text-decoration 150ms ease, transform 100ms ease, -webkit-text-decoration 150ms ease;
    padding-top: var(--footer-pt);
}

@media (min-width: 48rem) {
    .c-footer {
        --footer-pt: var(--space-10);
    }
}

.c-footer__brand {
    --brand-border-top: var(--color-primary-500, #fe6201);
    --brand-pad-bottom: var(--space-4);
    --brand-pad-inline: var(--space-14);
    --brand-pad-top: var(--space-6);
    border-top: 2px solid var(--brand-border-top);
    padding-bottom: var(--brand-pad-bottom);
    padding-inline: var(--brand-pad-inline);
    padding-top: var(--brand-pad-top);
    text-align: center;
}

@media (min-width: 48rem) {
    .c-footer__brand {
        --brand-pad-inline: var(--space-section-margin);
        text-align: left;
    }
}

.c-footer__brand-link {
    display: inline-flex;
    align-items: center;
}

.c-footer .c-media-image {
    width: 11rem;
}

.c-footer__nav {
    --nav-bg: var(--color-white, #fff);
    background-color: var(--nav-bg);
}

.c-footer__columns {
    --columns-pad-bottom: var(--space-4, 1rem);
    --columns-pad-top: var(--space-6, 1.5rem);
    --columns-pad-inline: var(--space-section-margin);
    --columns-gap: var(--space-8, 2rem);
    display: grid;
    gap: var(--columns-gap);
    grid-template-columns: 1fr;
    padding-bottom: var(--columns-pad-bottom);
    padding-inline: var(--columns-pad-inline);
    padding-top: var(--columns-pad-top);
}

@media (min-width: 48rem) {
    .c-footer__columns {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 12.5rem), 1fr));
    }
}

.c-footer__category,
.c-footer__links,
.c-footer__legal,
.c-footer__social {
    list-style: none;
    margin: 0;
    padding: 0;
}

.c-footer__category {
    --category-gap: var(--space-2, 0.5rem);
    --category-fg: var(--color-secondary-500, #5a6670);
    color: var(--category-fg);
    font-weight: var(--fw-medium);
    font-size: var(--fs-m);
    line-height: var(--lh-m);
}

.c-footer__heading {
    --heading-padding-block: var(--space-2, 0.5rem);
    --heading-border-bottom: var(--color-secondary-500, #5a6670);
    inline-size: 100%;
    border-bottom: 1px solid var(--heading-border-bottom);
    padding-block: var(--heading-padding-block);
}

.c-footer__heading-link {
    display: inline-flex;
    align-items: center;
    gap: var(--category-gap);
    text-transform: uppercase;
    text-decoration: none;
}

.c-footer__heading-link:hover {
    text-decoration: underline;
}

.c-footer__heading-link .c-icon {
    --path-color: var(--color-primary-500, #fe6201);
    fill: var(--path-color);
}

.c-footer__links {
    --links-pad-block: var(--space-3, 0.75rem);
    display: flex;
    flex-direction: column;
    gap: var(--category-gap);
    padding-block: var(--links-pad-block);
}

.c-footer__link {
    text-decoration: underline;
}

.c-footer__link:hover {
    text-decoration: none;
}

.c-footer__bottom,
.c-footer__meta,
.c-footer__legal {
    display: flex;
    flex-direction: column;
}

@media (min-width: 64rem) {

    .c-footer__bottom,
    .c-footer__meta,
    .c-footer__legal {
        align-items: center;
        flex-direction: row;
    }
}

.c-footer__bottom {
    --before-bg: var(--color-white, #fff);
    --gap-sm: var(--space-2);
    --gap-lg: var(--space-6);
    --bottom-bg: var(--color-secondary-500, #5a6670);
    --bottom-fg: var(--color-white, #fff);
    --bottom-gap: var(--space-2);
    --bottom-pad-inline: var(--space-section-margin);
    background-color: var(--bottom-bg);
    color: var(--bottom-fg);
    font-size: var(--fs-xs);
    line-height: var(--lh-xs);
    font-weight: var(--fw-medium);
    gap: var(--bottom-gap);
    padding-inline: var(--bottom-pad-inline);
    justify-content: center;
}

@media (min-width: 64rem) {
    .c-footer__bottom {
        justify-content: space-between;
    }
}

.c-footer__legal {
    align-items: center;
}

.c-footer__legal-item {
    --legal-item-pad-block: var(--space-2);
    --legal-item-pad-inline: var(--space-4);
    align-items: center;
    display: flex;
    padding-block: var(--legal-item-pad-block);
    padding-inline: var(--legal-item-pad-inline);
    position: relative;
}

@media (min-width: 64rem) {
    .c-footer__legal-item:first-of-type {
        padding-left: 0;
    }
}

.c-footer__legal-item+.c-footer__legal-item::before,
.c-footer__copyright::before {
    background-color: var(--before-bg);
    block-size: 1.5rem;
    content: "";
    display: none;
    position: absolute;
    left: 0;
    width: 0.0625rem;
}

@media (min-width: 64rem) {

    .c-footer__legal-item+.c-footer__legal-item::before,
    .c-footer__copyright::before {
        display: block;
    }
}

.c-footer__meta {
    --meta-border: var(--color-secondary-400, #848d94);
    border-top: 1px solid var(--meta-border);
    gap: var(--gap-sm);
    padding-bottom: var(--space-4);
    padding-top: var(--space-6);
}

@media (min-width: 64rem) {
    .c-footer__meta {
        border-top: 0;
        gap: var(--gap-lg);
        height: 2.3125rem;
        padding-block: 0;
    }
}

.c-footer__nav-social,
.c-footer__copyright {
    gap: var(--gap-lg);
}

.c-footer__nav-social {
    justify-content: center;
}

@media (min-width: 64rem) {
    .c-footer__nav-social {
        justify-content: flex-start;
    }
}

.c-footer__nav-social,
.c-footer__social {
    display: flex;
    align-items: center;
}

.c-footer__social {
    --social-gap: var(--space-2);
    gap: var(--social-gap);
}

.c-footer a:not(:has(svg)) {
    text-align: center;
    text-decoration: underline;
}

.c-footer a:not(:has(svg)):hover {
    text-decoration: none;
}

.c-footer__copyright {
    text-align: center;
}

@media (min-width: 64rem) {
    .c-footer__copyright {
        align-items: center;
        display: flex;
        position: relative;
    }

    .c-footer__copyright::before {
        position: initial;
    }
}

.c-header {
    --c-header-bg: var(--color-white, #fff);
    --c-header-fg: var(--color-secondary-500, #5a6670);
    --c-header-border: var(--color-secondary-200, #d6d9dc);
    --c-header-pad-inline: var(--space-section-margin);
    --c-header-pad-block: var(--space-1, 0.25rem);
    --c-header-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
    --c-header-gap: var(--space-6, 1.5rem);
    --c-header-ring-inner: var(--color-shadow-inner);
    --c-header-ring-outer: var(--color-shadow-outer);
    --c-header-transition-duration: 300ms;
    --c-header-transition-timing: ease-out;
    --nav-link-fg: var(--color-secondary-800, #1e2125);
    --nav-item-fg: var(--color-secondary-700, #32383e);
    --nav-item-underline-offset: 0.375rem;
}

.c-header[hidden],
.c-header [hidden] {
    display: none;
}

.c-header {
    background: var(--c-header-bg);
    box-shadow: var(--c-header-shadow);
    color: var(--c-header-fg);
    padding-block: var(--c-header-pad-block);
    padding-inline: var(--c-header-pad-inline);
    position: fixed;
    top: 0;
    z-index: 100;
    width: 100%;
    will-change: transform;
}

.c-header .o-wrapper {
    align-items: center;
    display: flex;
    gap: var(--space-6);
    justify-content: space-between;
}

.c-header__inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    font-size: var(--fs-m);
    font-weight: var(--fw-light);
    line-height: var(--lh-m);
}

@media (max-width: 37.499rem) {
    .c-header__inner {
        background-color: var(--color-white, #fff);
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        flex-wrap: nowrap;
        position: fixed;
        inset: 0;
        z-index: 1000;
        width: auto;
        height: 100vh;
        height: 100dvh;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: env(safe-area-inset-bottom, 1rem);
        transform: translateX(100%);
    }

    .c-header__inner.is-animatable {
        transition: transform var(--c-header-transition-duration) var(--c-header-transition-timing);
    }

    .c-header__inner.show {
        transform: translateX(0);
    }

    .c-header__inner.show .c-header__menu-title {
        display: block;
    }
}

@media (min-width: 37.5rem) {
    .c-header__inner {
        gap: var(--c-header-gap);
        transform: none;
        transition: none;
        position: static;
        width: auto;
        height: auto;
        overflow: visible;
        background: transparent;
        z-index: auto;
    }
}

@media (min-width: 37.5rem) {
    .c-header__menu-title {
        display: none;
    }
}

.c-header__search-trigger:focus-visible:focus-visible,
.c-header__languages-trigger:focus-visible:focus-visible,
.c-header__close-menu:focus-visible:focus-visible,
.c-header__close-menu:focus:focus-visible,
.c-header__client-link:focus-visible:focus-visible {
    box-shadow: 0 0 0 2px var(--c-header-ring-inner), 0 0 0 4px var(--c-header-ring-outer);
}

.c-header__brand {
    display: inline-block;
    width: 7.125rem;
    flex: 0 0 auto;
}

@media (min-width: 48rem) {
    .c-header__brand {
        width: 8.88875rem;
    }
}

.c-header__tools {
    flex: 0 1 auto;
}

.c-header__tools-r {
    margin-left: auto;
}

.c-header__tools--mobile {
    --tools-mobile-pad-block: var(--space-1, 0.25rem);
    --tools-mobile-pad-inline: var(--space-section-margin);
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--c-header-border);
    justify-content: space-between;
    gap: 0;
    padding-block: var(--tools-mobile-pad-block);
    padding-inline: var(--tools-mobile-pad-inline);
}

@media (min-width: 37.5rem) {
    .c-header__tools--mobile {
        display: none;
    }
}

.c-header__tools--mobile .c-button--link {
    font-size: var(--fs-m);
    line-height: var(--lh-m);
    color: var(--c-header-fg);
    align-self: initial;
}

.c-header__tools--mobile .c-button--link:hover .c-button__label {
    border-color: transparent;
}

.c-header__tools--mobile .c-button__label {
    border-bottom: 1px solid var(--color-primary-500);
    text-decoration: none;
}

.c-header [data-nav-back] {
    opacity: 0;
    transform: translateX(-8px);
    transition: opacity 350ms ease-out, transform 350ms ease-out;
}

.c-header [data-nav-back][aria-hidden=false] {
    opacity: 1;
    transform: translateX(0);
}

.c-header__tools--desktop {
    display: none;
}

@media (min-width: 37.5rem) {
    .c-header__tools--desktop {
        display: flex;
        align-items: center;
        gap: 0;
    }
}

.c-header__other-actions {
    border-top: 1px solid var(--c-header-border);
    flex: 1 1 auto;
    padding-block: var(--space-4);
    padding-inline: var(--space-pad-m);
}

@media (min-width: 37.5rem) {
    .c-header__other-actions {
        display: none;
    }
}

.c-header__languages-trigger,
.c-header__search-trigger,
.c-header__close-menu {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.5rem;
    block-size: 2.5rem;
    transition: color var(--c-header-transition-duration) var(--c-header-transition-timing);
}

.c-header__languages-trigger:hover,
.c-header__languages-trigger:focus-visible,
.c-header__search-trigger:hover,
.c-header__search-trigger:focus-visible,
.c-header__close-menu:hover,
.c-header__close-menu:focus-visible {
    color: var(--color-secondary-700, #32383e);
}

.c-header__languages {
    position: relative;
}

.c-header__languages.open .c-header__languages-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.c-header__languages-list {
    --languages-list-bg: var(--color-white, #fff);
    --languages-list-pad: var(--space-10, 2.5rem);
    background-color: var(--languages-list-bg);
    border-radius: var(--radius-md);
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.1019607843);
    display: none;
    padding: var(--languages-list-pad);
    text-decoration: none;
}

@media (min-width: 37.5rem) {
    .c-header__languages-list {
        --languages-list-pad: var(--space-4, 1rem);
        position: absolute;
        left: 0;
        top: 100%;
        z-index: 900;
        width: -moz-max-content;
        width: max-content;
    }
}

.c-header__languages--footer {
    --languages-footer-pad-block: var(--space-4, 0.25rem);
    --languages-footer-pad-inline: var(--space-pad-m);
    align-items: center;
    border-top: 1px solid var(--c-header-border);
    display: flex;
    padding-block: var(--languages-footer-pad-block);
    padding-inline: var(--languages-footer-pad-inline);
}

.c-header__languages--footer .c-header__languages-list {
    display: flex;
    box-shadow: none;
    padding: 0;
}

.c-header__languages--footer .c-header__languages-item {
    padding-inline: var(--space-2, 0.5rem);
    height: 1.5rem;
}

.c-header__languages--footer .c-header__languages-item:not(:last-of-type) {
    border-right: 1px solid var(--c-header-border);
}

@media (min-width: 37.5rem) {
    .c-header__languages--footer {
        display: none;
    }
}

.c-header__languages-item input[type=radio] {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.c-header__languages-item input[type=radio]:checked+label {
    font-weight: var(--fw-medium);
    color: var(--color-secondary-700, #32383e);
}

.c-header__languages-item input[type=radio]:focus-visible {
    box-shadow: 0 0 0 2px var(--c-header-ring-inner), 0 0 0 4px var(--c-header-ring-outer);
}

.c-header__languages-item>label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    transition: var(--c-header-transition-duration) var(--c-header-transition-timing);
}

.c-header__languages-item>label:hover {
    text-decoration: underline;
}

.c-header__search-trigger {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    transition: color var(--c-header-transition-duration) var(--c-header-transition-timing);
}

.c-header__search-trigger:hover,
.c-header__search-trigger:focus-visible {
    color: var(--color-secondary-700, #32383e);
}

.c-header__client {
    border-left: 1px solid var(--c-header-border);
    display: flex;
}

.c-header__client-link {
    --client-link-pad-block: var(--space-2, 0.5rem);
    color: inherit;
    display: inline-flex;
    border-radius: var(--radius-md);
    text-decoration: none;
    padding-block: var(--client-link-pad-block);
    transition: color var(--c-header-transition-duration) var(--c-header-transition-timing);
}

.c-header__client-link:hover,
.c-header__client-link:focus-visible {
    color: var(--color-secondary-900, #141618);
}

.c-header__client-link:focus-visible {
    text-decoration: underline;
}

@media (min-width: 37.5rem) {
    .c-header__client-link {
        --client-link-pad-inline: var(--space-4, 1rem);
        padding-inline: var(--client-link-pad-inline);
    }
}

.c-header__toggler {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.5rem;
    block-size: 2.5rem;
}

@media (min-width: 37.5rem) {
    .c-header__toggler {
        display: none;
    }
}

.c-header #navbar-main,
.c-header .navbar {
    position: relative;
}

.c-header #navbar-main .navigation>h2,
.c-header .navbar .navigation>h2 {
    display: none;
}

.c-header .navbar {
    --c-header-nav-row-gap: 0;
}

@media (min-width: 37.5rem) {
    .c-header .navbar {
        flex: 1 1 auto;
    }
}

.c-header .navbar .navbar-nav {
    --navbar-nav-pad-block: var(--space-10, 2.5rem);
    --navbar-nav-pad-inline: var(--space-section-margin);
    display: flex;
    flex-direction: column;
    row-gap: var(--c-header-nav-row-gap);
    justify-content: flex-end;
    padding-block: var(--navbar-nav-pad-block);
    padding-inline: var(--navbar-nav-pad-inline);
}

@media (min-width: 37.5rem) {
    .c-header .navbar .navbar-nav {
        --c-header-nav-col-gap: var(--space-8, 2rem);
        --c-header-nav-row-gap: var(--space-2, 0.5rem);
        flex-direction: row;
        flex-wrap: wrap;
        gap: var(--c-header-nav-row-gap) var(--c-header-nav-col-gap);
        padding: 0;
    }
}

.c-header .navbar .navbar-nav .nav-link {
    --nav-link-pad-block: 0.625rem;
    transition: color var(--c-header-transition-duration) var(--c-header-transition-timing);
    padding-block: var(--nav-link-pad-block);
    text-decoration: none;
}

.c-header .navbar .navbar-nav .nav-link:hover {
    text-decoration: underline;
    text-underline-offset: var(--nav-item-underline-offset);
}

.c-header .navbar .navbar-nav .nav-link:hover,
.c-header .navbar .navbar-nav .nav-link:focus-visible {
    color: var(--nav-link-fg);
}

.c-header .navbar .navbar-nav .nav-link:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px var(--c-header-ring-inner), 0 0 0 4px var(--c-header-ring-outer);
}

@media (min-width: 37.5rem) {
    .c-header .navbar .navbar-nav .nav-link {
        --nav-link-pad-block: var(--space-2, 0.5rem);
        position: relative;
    }

    .c-header .navbar .navbar-nav .nav-link:hover {
        text-decoration: none;
    }

    .c-header .navbar .navbar-nav .nav-link:focus-visible {
        box-shadow: none;
    }

    .c-header .navbar .navbar-nav .nav-link::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 0.125rem;
        background-color: currentColor;
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform var(--c-header-transition-duration) var(--c-header-transition-timing);
    }

    .c-header .navbar .navbar-nav .nav-link:hover::before,
    .c-header .navbar .navbar-nav .nav-link:focus-visible::before {
        transform: scaleX(1);
    }
}

.c-header .navbar .nav-item {
    display: inline-flex;
}

.c-header .navbar .navbar-toggler {
    display: none;
}

.c-header .navbar .navbar-toggler-icon {
    font-size: 1.5rem;
}

.c-header .navbar .visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.c-header .dropdown {
    position: relative;
}

.c-header .dropdown.open .dropdown-menu {
    display: block;
}

@media (max-width: 37.499rem) {
    .c-header .dropdown.open .dropdown-menu {
        transform: translateX(0);
    }
}

@media (min-width: 37.5rem) {
    .c-header .dropdown.open>.dropdown-toggle::after {
        transform: rotate(180deg);
    }
}

.c-header .dropdown.open .nav-link {
    color: var(--nav-link-fg);
}

.c-header .dropdown.open .nav-link:before {
    transform: scaleX(1);
}

.c-header .dropdown>.dropdown-toggle {
    align-items: center;
    justify-content: space-between;
    position: relative;
    display: flex;
    gap: 0.125rem;
    width: 100%;
}

@media (min-width: 37.5rem) {
    .c-header .dropdown>.dropdown-toggle {
        justify-content: initial;
        width: auto;
    }
}

.c-header .dropdown>.dropdown-toggle::after {
    content: "\e313";
    font-family: "Material Symbols Outlined";
    font-weight: normal;
    font-style: normal;
    position: absolute;
    right: 0;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    color: currentColor;
    font-feature-settings: "liga";
    -webkit-font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased;
    pointer-events: none;
    transform-origin: center;
    transform: rotate(-90deg);
    transition: transform var(--c-header-transition-duration) var(--c-header-transition-timing), color var(--c-header-transition-duration) var(--c-header-transition-timing);
}

@media (min-width: 37.5rem) {
    .c-header .dropdown>.dropdown-toggle::after {
        position: relative;
        transform: rotate(0);
        right: initial;
    }
}

.c-header .dropdown-menu {
    --dropdown-menu-bg: var(--color-white, #fff);
    --dropdown-menu-pad-block: var(--space-10, 2.5rem);
    background-color: var(--dropdown-menu-bg);
    padding-block: var(--dropdown-menu-pad-block);
    position: fixed;
    left: 0;
    top: 3.0625rem;
    bottom: 3.5625rem;
    right: 0;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform var(--c-header-transition-duration) var(--c-header-transition-timing);
    z-index: 1;
}

@media (min-width: 37.5rem) {
    .c-header .dropdown-menu {
        --dropdown-menu-bg: var(--color-secondary-50, #f4f5f6);
        --dropdown-menu-pad-block: var(--space-4, 1rem);
        display: none;
        bottom: initial;
        overflow: initial;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        transition: none;
        top: 100%;
        z-index: 900;
        width: -moz-max-content;
        width: max-content;
    }
}

.c-header .dropdown-item {
    display: flex;
}

.c-header .dropdown-item .nav-link--,
.c-header .dropdown-item a {
    --dropdown-nav-link-pad-block: var(--space-2, 0.5rem);
    --dropdown-nav-link-pad-inline: var(--space-pad-m);
    padding-block: var(--dropdown-nav-link-pad-block);
    padding-inline: var(--dropdown-nav-link-pad-inline);
    transition: color var(--c-header-transition-duration) var(--c-header-transition-timing);
    text-decoration: none;
}

.c-header .dropdown-item .nav-link--:hover,
.c-header .dropdown-item a:hover {
    text-decoration: underline;
    text-underline-offset: var(--nav-item-underline-offset);
}

.c-header .dropdown-item .nav-link--:hover,
.c-header .dropdown-item .nav-link--:focus-visible,
.c-header .dropdown-item .nav-link--.active,
.c-header .dropdown-item a:hover,
.c-header .dropdown-item a:focus-visible,
.c-header .dropdown-item a.active {
    color: var(--nav-item-fg);
}

.c-header .dropdown-item .nav-link--.active,
.c-header .dropdown-item a.active {
    font-weight: var(--fw-medium);
    text-decoration: none;
}

.c-header .dropdown-item .nav-link--:focus-visible,
.c-header .dropdown-item a:focus-visible {
    box-shadow: 0 0 0 2px var(--c-header-ring-inner), 0 0 0 4px var(--c-header-ring-outer);
    text-decoration: none;
}

@media (min-width: 37.5rem) {
    .c-header .dropdown-item {
        justify-content: center;
    }
}

.c-header.js-vertical-header .o-wrapper {
    flex-direction: column;
}

.c-header.js-vertical-header .c-header__inner,
.c-header.js-vertical-header .navbar-nav {
    justify-content: center;
}

@media (min-width: 37.5rem) {
    .c-header {
        --c-header-pad-block: var(--space-5, 1.25rem);
        position: sticky;
    }
}

.c-help {
    --c-help-fg: var(--color-secondary-500, #5a6670);
    --c-help-gap: var(--space-4, 1rem);
    color: var(--c-help-fg);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.c-help__top {
    --c-help-top-gap: var(--space-4, 0.5rem);
    display: flex;
    flex-direction: column;
    gap: var(--c-help-top-gap);
}

.c-help__description,
.c-help__faq-description {
    font-size: var(--fs-m);
    line-height: var(--lh-m);
    text-align: center;
}

.c-help__contact {
    --c-help-contact-gap: var(--space-4, 1rem);
    --c-help-contact-pad-block: var(--space-2, 0.5rem);
    --c-help-contact-pad-inline: var(--space-4, 1rem);
    --c-help-contact-radius: var(--radius-md);
    --c-help-contact-bg: var(--color-white, #fff);
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--c-help-contact-gap);
    padding-block: var(--c-help-contact-pad-block);
    padding-inline: var(--c-help-contact-pad-inline);
    border-radius: var(--c-help-contact-radius);
    background-color: var(--c-help-contact-bg);
}

@media (min-width: 48rem) {
    .c-help__contact {
        --c-help-contact-radius: var(--radius-pill);
        flex-wrap: nowrap;
    }
}

.c-help__contact-icon {
    flex-shrink: 0;
    display: none;
}

@media (min-width: 48rem) {
    .c-help__contact-icon {
        display: block;
    }
}

.c-help__contact-copy {
    font-size: var(--fs-l);
    line-height: var(--lh-l);
    font-weight: var(--fw-medium);
}

.c-help__list {
    --c-help-list-gap: var(--space-4, 1rem);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--c-help-list-gap);
}

@media (min-width: 48rem) {
    .c-help__list {
        --c-help-list-gap: var(--space-6, 1.5rem);
    }
}

.c-help__item {
    position: relative;
    width: 6.125rem;
}

.c-help__item:hover .c-help__item-label {
    --c-help-item-label-fg-hover: var(--color-secondary-700, #32383e);
    color: var(--c-help-item-label-fg-hover);
    text-decoration: none;
}

@media (min-width: 48rem) {
    .c-help__item {
        width: 6.5rem;
    }
}

.c-help__item-link {
    --c-help-item-link-bg: var(--color-white, #fff);
    --c-help-item-link-radius: var(--radius-md);
    --c-help-item-link-gap: var(--space-1, 0.25rem);
    --c-help-item-link-pad-block: var(--space-6, 1.5rem);
    --c-help-item-link-pad-inline: var(--space-4, 1rem);
    --help-link-ring-inner: var(--color-shadow-inner);
    --help-link-ring-outer: var(--color-shadow-outer);
    border-radius: var(--c-help-item-link-radius);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-block: var(--c-help-item-link-pad-block);
    padding-inline: var(--c-help-item-link-pad-inline);
    background-color: var(--c-help-item-link-bg);
    text-decoration: none;
    text-align: center;
    /* Área clickeable del enlace (pseudo-elemento) */
    --c-help-item-link-hit-top: 0;
    --c-help-item-link-hit-left: 0;
    --c-help-item-link-hit-right: 0;
    --c-help-item-link-hit-bottom: 0;
}

.c-help__item-link:hover {
    text-decoration: none;
}

.c-help__item-link:focus-visible {
    outline: none;
    outline-offset: initial;
}

.c-help__item-link:focus-visible::before {
    box-shadow: 0 0 0 2px var(--help-link-ring-inner), 0 0 0 4px var(--help-link-ring-outer);
}

.c-help__item-link::before {
    content: "";
    position: absolute;
    border-radius: var(--c-help-item-link-radius);
    top: var(--c-help-item-link-hit-top);
    right: var(--c-help-item-link-hit-right);
    bottom: var(--c-help-item-link-hit-bottom);
    left: var(--c-help-item-link-hit-left);
    z-index: 1;
}

.c-help__item-label {
    font-size: var(--fs-xs);
    line-height: var(--lh-xs);
    font-weight: var(--fw-medium);
    text-decoration: underline;
    text-underline-offset: 4px;
    pointer-events: none;
    white-space: nowrap;
    transition: -webkit-text-decoration 150ms ease-out;
    transition: text-decoration 150ms ease-out;
    transition: text-decoration 150ms ease-out, -webkit-text-decoration 150ms ease-out;
}

.c-help--small {
    --c-help-small-gap: var(--space-2, 0.5rem);
    gap: var(--c-help-small-gap);
}

.c-help--small .c-help__title {
    font-size: var(--fs-xl);
    line-height: var(--lh-xl);
    font-weight: var(--fw-medium);
}

.c-help--large {
    --c-help-large-gap: var(--space-8, 2rem);
    --c-help-max-w: 46.625rem;
    gap: var(--c-help-large-gap);
    max-width: var(--c-help-max-w);
    margin: 0 auto;
    text-align: center;
}

.c-help--large .c-help__title {
    font-size: var(--fs-2xl);
    line-height: var(--lh-2xl);
    font-weight: var(--fw-light);
}

@media (min-width: 48rem) {
    .c-help--large .c-help__title {
        font-size: var(--fs-3xl);
        line-height: var(--lh-3xl);
    }
}

.c-help-search {
    --help-search-bg: var(--color-white, #fff);
    --help-search-fg: var(--color-secondary-500, #5a6670);
    --help-search-ring-inner: var(--color-shadow-inner);
    --help-search-ring-outer: var(--color-shadow-outer);
    --dialog-base-backdrop: rgba(0, 0, 0, 0.5);
    background: transparent;
}

.c-help-search::backdrop {
    background: var(--dialog-base-backdrop);
    opacity: 0;
    transition: opacity 220ms ease;
}

.c-help-search[open]::backdrop {
    opacity: 1;
}

.c-help-search[open].is-closing::backdrop {
    opacity: 0;
    transition: opacity 220ms ease;
}

.c-help-search[open] [data-dialog-inner] {
    transition: transform 350ms ease, opacity 200ms ease;
    will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {

    .c-help-search::backdrop,
    .c-help-search [data-dialog-inner] {
        transition: none;
    }
}

.c-help-search {
    border: 0;
    border-bottom-left-radius: var(--radius-lg);
    border-bottom-right-radius: var(--radius-lg);
    color: var(--help-search-fg);
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
}

.c-help-search[open].is-open [data-dialog-inner] {
    opacity: 1;
    transform: translateY(0);
}

.c-help-search[open].is-closing [data-dialog-inner] {
    opacity: 0;
    transform: translateY(-100%);
}

.c-help-search__inner {
    --help-search-inner-pad-inline: var(--space-4, 1rem);
    --help-search-inner-pad-block: var(--space-12, 3rem) var(--space-8, 2rem);
    --help-search-inner-gap: var(--space-10, 2.5rem);
    align-items: center;
    background-color: var(--help-search-bg);
    display: flex;
    flex-direction: column;
    gap: var(--help-search-inner-gap);
    padding-block: var(--help-search-inner-pad-block);
    padding-inline: var(--help-search-inner-pad-inline);
    position: relative;
    opacity: 0;
    transform: translateY(-100%);
}

@media (min-width: 48rem) {
    .c-help-search__inner {
        --help-search-inner-pad-inline: var(--space-14, 3.5rem);
        --help-search-inner-pad-block: var(--space-20, 5rem);
    }
}

.c-help-search__close {
    display: inline-flex;
    position: absolute;
    top: 1rem;
    right: 1rem;
}

@media (min-width: 48rem) {
    .c-help-search__close {
        top: 1.5rem;
        right: 1.5rem;
    }
}

.c-help-search__close .c-icon {
    color: var(--color-secondary-400, #848d94);
}

.c-help-search__title {
    font-size: var(--fs-xl);
    line-height: var(--lg-xl);
    font-weight: var(--fw-medium);
    text-align: center;
}

@media (min-width: 48rem) {
    .c-help-search__title {
        font-size: var(--fs-3xl);
        line-height: var(--lg-3xl);
    }
}

.c-help-search__top,
.c-help-search__popular,
.c-help-search__list {
    align-items: center;
    display: flex;
    flex-direction: column;
}

.c-help-search__top {
    gap: var(--space-8, 2rem);
    width: 100%;
}

.c-help-search__form {
    align-items: center;
    display: flex;
    gap: var(--space-2, 0.5rem);
    justify-content: center;
    width: 100%;
}

.c-help-search__input-wrapper {
    flex-grow: 1;
    position: relative;
    max-width: 37rem;
}

.c-help-search__input {
    --help-search-input-pad-block: var(--space-4, 1rem);
    --help-search-input-pad-inline: var(--space-3, 0.75rem);
    --input-base-border-radius: var(--radius-md, 6px);
    --input-base-border-color: var(--color-secondary-400, #848d94);
    --input-base-bg: var(--color-white, #fff);
    --input-base-padding-inline: var(--space-3, 0.75rem);
    --input-base-padding-block: var(--space-2, 0.5rem);
    --input-base-placeholder-color: var(--color-secondary-500, #5a6670);
    --input-base-hover-shadow: 0 0 0 2px rgb(0 0 0 / 8%);
    --input-base-ring-inner: var(--color-shadow-inner);
    --input-base-ring-outer: var(--color-shadow-outer);
    --input-base-transition:
        box-shadow 0.16s ease-out, border-color 0.16s ease-out, background-color 0.16s ease-out;
    flex: 1 1 auto;
    min-width: 0;
    border-radius: var(--input-base-border-radius);
    border: 1px solid var(--input-base-border-color);
    background-color: var(--input-base-bg);
    font-weight: var(--fw-medium, 500);
    padding-inline: var(--input-base-padding-inline);
    padding-block: var(--input-base-padding-block);
    transition: var(--input-base-transition);
}

.c-help-search__input:hover {
    box-shadow: --input-base-hover-shadow;
}

.c-help-search__input::-moz-placeholder {
    font-weight: var(--fw-light);
    color: var(--input-base-placeholder-color);
}

.c-help-search__input::placeholder {
    font-weight: var(--fw-light);
    color: var(--input-base-placeholder-color);
}

.c-help-search__input:focus {
    outline: none;
}

.c-help-search__input:focus-visible {
    box-shadow: 0 0 0 2px var(--input-base-ring-inner), 0 0 0 4px var(--input-base-ring-outer);
}

.c-help-search__input {
    padding-block: var(--help-search-input-pad-block);
    padding-inline: var(--help-search-input-pad-inline);
    width: 100%;
}

.c-help-search__input:not(:-moz-placeholder)+label {
    font-size: 0.75rem;
    line-height: normal;
    transform: translate(12px, 4px);
}

.c-help-search__input:focus-visible+label,
.c-help-search__input:focus+label,
.c-help-search__input:not(:placeholder-shown)+label {
    font-size: 0.75rem;
    line-height: normal;
    transform: translate(12px, 4px);
}

.c-help-search__label {
    position: absolute;
    transform: translate(12px, 16px);
    transition: all 0.15s ease;
    top: 0;
    left: 0;
}

.c-help-search__submit {
    display: inline-flex;
    flex-shrink: 0;
}

.c-help-search__popular {
    gap: var(--space-6, 1.5rem);
}

.c-help-search__subtitle {
    font-size: var(--fs-xl);
    line-height: var(--lh-xl);
}

.c-help-search__list {
    gap: var(--space-2, 0.5rem);
    font-size: var(--fs-s);
    line-height: var(--lh-s);
}

.c-help-search__link {
    display: inline-flex;
    font-weight: var(--fw-medium);
    text-decoration: underline;
}

.c-help-search__link:hover {
    text-decoration: none;
}

.c-help-search__link:focus-visible {
    box-shadow: 0 0 0 2px var(--help-search-ring-inner), 0 0 0 4px var(--help-search-ring-outer);
}

.c-hero {
    --hero-bg: var(--color-white, #fff);
    --hero-fg: var(--color-secondary-500, #5a6670);
    --hero-pad-inline: var(--space-section-margin);
    --hero-max-w: var(--max-w-text);
    --c-hero-content-gap: var(--space-4, 1rem);
    --c-hero-ring-inner: var(--color-shadow-inner);
    --c-hero-ring-outer: var(--color-shadow-outer);
    background-color: var(--hero-bg);
    color: var(--hero-fg);
    font-weight: var(--fw-medium);
}

.c-hero__media,
.c-hero__content {
    padding-inline: var(--hero-pad-inline);
}

.c-hero__media {
    --media-pad-block: var(--space-4, 1rem);
    background-color: var(--hero-bg);
    padding-block: var(--media-pad-block);
}

.c-hero .c-media-figure {
    height: 19.5rem;
}

.c-hero .c-media-image {
    height: 100%;
}

.page-tarifas-descuentos .c-hero {
    margin-inline: calc(var(--space-section-margin) * -1);
}

.page-tarifas-descuentos .c-hero__media {
    padding-inline: var(--space-section-margin);
}

.page-tarifas-descuentos .c-breadcrumb,
.page-tarifas-descuentos .c-hero__content {
    padding-inline: calc(var(--space-section-margin) + var(--space-pad-m));
}

.c-hero__body {
    --body-pad-bottom: var(--space-pad-l);
    background-color: var(--hero-bg);
    padding-bottom: var(--body-pad-bottom);
}

.c-hero__title,
.c-hero__related-content {
    max-width: var(--hero-max-w);
}

.c-hero__title {
    font-size: var(--fs-4xl);
    line-height: var(--lh-4xl);
    font-weight: var(--fw-medium);
}

@media (min-width: 48rem) {
    .c-hero__title {
        font-size: var(--fs-6xl);
        line-height: var(--lh-6xl);
    }
}

.c-hero__related-content,
.c-hero__description {
    font-size: var(--fs-l);
    line-height: var(--lh-l);
}

.c-hero__related-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.c-hero__central-wrapper,
.c-hero__central-content {
    display: flex;
    flex-direction: column;
    gap: var(--c-hero-content-gap);
}

@media (min-width: 60rem) {
    .c-hero__central-wrapper {
        flex-direction: row;
        justify-content: space-between;
    }
}

.c-hero__central-content {
    --c-hero-central-content-pb: var(--space-10, 2.5rem);
    flex-grow: 1;
}

@media (min-width: 60rem) {
    .c-hero__central-content {
        padding-bottom: var(--c-hero-central-content-pb);
    }
}

.c-hero__more-info {
    --c-hero-more-gap: var(--space-1, 0.25rem);
    display: flex;
    flex-direction: column;
    gap: var(--c-hero-more-gap);
}

.c-hero__more-info .c-button .c-button__label {
    text-decoration: none;
}

.c-hero__more-info .c-button .c-button__label:hover {
    text-decoration: underline;
}

.c-hero__nav {
    --c-hero-nav-gap: var(--space-14, 3.5rem);
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    -moz-column-gap: var(--c-hero-nav-gap);
    column-gap: var(--c-hero-nav-gap);
    width: -moz-fit-content;
    width: fit-content;
}

.c-hero__nav-button {
    --c-hero-nav-fg-hover: var(--color-secondary-700, #32383e);
    --c-hero-nav-gap: var(--space-2, 0.5rem);
    --c-hero-nav-pad-block: var(--space-1, 0.25rem);
    --c-hero-nav-icon-fill: var(--color-primary-500, #fe6201);
    position: relative;
    display: inline-flex;
    align-items: center;
    font-size: var(--fs-s);
    line-height: var(--lh-s);
    gap: var(--c-hero-nav-gap);
    padding-block: var(--c-hero-nav-pad-block);
}

.c-hero__nav-button .c-icon {
    fill: var(--c-hero-nav-icon-fill);
}

.c-hero__nav-button:hover {
    color: var(--c-hero-nav-fg-hover);
}

.c-hero__nav-button:hover .c-hero__nav-button-text {
    text-decoration: underline;
}

.c-hero__nav-button:focus-visible {
    box-shadow: 0 0 0 2px var(--c-hero-ring-inner), 0 0 0 4px var(--c-hero-ring-outer);
}

.c-hero__nav-button--prev .c-icon {
    transform: rotate(180deg);
}

.c-hero__nav-button--next {
    margin-left: auto;
}

.c-hero__primary-cta {
    --c-hero-cta-fg: var(--color-white, #ffff);
    --c-hero-cta-bg: var(--color-primary-600, #cc4400);
    --c-hero-cta-radius: var(--radius-md, 0.375rem);
    --c-hero-cta-pad-inline: var(--space-2, 0.5rem);
    --c-hero-cta-pad-block: var(--space-2, 0.5rem);
    --c-hero-cta-gap: var(--space-2, 0.5rem);
    background-color: var(--c-hero-cta-bg);
    border-radius: var(--c-hero-cta-radius);
    display: flex;
    flex-direction: column;
    gap: var(--c-hero-cta-gap);
    font-size: var(--fs-l);
    line-height: var(--lh-l);
    color: var(--c-hero-cta-fg);
    padding-block: var(--c-hero-cta-pad-block);
    padding-inline: var(--c-hero-cta-pad-inline);
}

.c-hero__primary-cta .c-button {
    align-self: initial;
    display: flex;
    width: 100%;
}

@media (min-width: 60rem) {
    .c-hero__primary-cta {
        --c-hero-cta-pad-inline: var(--space-4, 1rem);
        align-items: center;
        align-self: flex-end;
        flex-basis: 27rem;
        flex-direction: row;
        justify-content: space-between;
    }

    .c-hero__primary-cta .c-button {
        display: inline-flex;
        width: auto;
    }
}

.c-hero__cta-text {
    text-align: center;
}

@media (min-width: 60rem) {
    .c-hero__cta-text span {
        display: block;
    }
}

.c-hero__media-figure.c-media-figure {
    bottom: -6.25rem;
    display: none;
    height: 12.5rem;
    left: 61.8%;
    position: absolute;
    transform: translateX(-50%);
    width: 12.5rem;
}

@media (min-width: 48rem) {
    .c-hero__media-figure.c-media-figure {
        display: block;
    }
}

.c-hero__media-figure.c-media-figure .c-media-image {
    height: 100%;
}

.c-hero__actions {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.c-hero__actions .c-button {
    align-self: inherit;
    width: 100%;
}

@media (min-width: 48rem) {
    .c-hero__actions {
        align-items: flex-end;
    }

    .c-hero__actions .c-button {
        width: -moz-fit-content;
        width: fit-content;
    }
}

.c-hero__download {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

@media (min-width: 48rem) {
    .c-hero__download {
        align-items: initial;
    }
}

.c-hero__app-list {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-6, 1.5rem);
}

.c-hero__app-link {
    display: block;
}

.c-hero__app-link--google {
    width: 6.625rem;
}

.c-hero__app-link--app {
    width: 6rem;
}

@media (min-width: 60rem) {
    .c-hero {
        --c-hero-content-gap: var(--space-8, 2rem);
    }
}

.c-hero--slider .c-media-figure {
    height: 18.375rem;
}

@media (min-width: 48rem) {
    .c-hero--slider .c-media-figure {
        height: 25rem;
    }
}

.c-hero--slider .c-breadcrumb__inline {
    gap: 0.5rem;
}

.c-hero--slider .c-hero__title,
.c-hero--slider .c-hero__description,
.c-hero--slider .c-hero__nav-button-text {
    transition: opacity 0.24s ease, transform 0.24s ease;
    will-change: opacity, transform;
}

.c-hero--slider .c-hero__title,
.c-hero--slider .c-hero__description {
    transform-origin: left center;
}

.c-hero--slider .c-hero__nav-button-text {
    transform-origin: left center;
}

.c-hero--slider .c-hero__dynamic-fade {
    opacity: 0;
    transform: translateY(0.25rem);
}

.c-hero--title-sm .c-hero__title {
    font-size: var(--fs-xl);
    line-height: var(--lh-xl);
}

@media (min-width: 48rem) {
    .c-hero--title-sm .c-hero__title {
        font-size: var(--fs-3xl);
        line-height: var(--lh-3xl);
    }
}

.c-hero--product .c-hero__media {
    position: relative;
}

.c-hero--product:has(.c-hero__right-content) .c-hero__content {
    display: grid;
    gap: var(--space-4);
}

@media (min-width: 48rem) {
    .c-hero--product:has(.c-hero__right-content) .c-hero__content {
        align-items: end;
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
    }
}

.c-hero--product .c-hero__related-content {
    font-weight: var(--fw-light);
}

.c-icon {
    /* Tamaño independiente para SVG o icon-font */
    --icon-size: (1rem);
    width: var(--icon-size);
    height: var(--icon-size);
    flex-shrink: 0;
    fill: currentColor;
}

.c-icon .material-symbols-outlined {
    font-size: inherit;
}

.c-icon {
    /* Escalas según tokens */
}

.c-icon--size-xs {
    font-size: var(--fs-xs);
    --icon-size: var(--fs-xs);
}

.c-icon--size-s {
    font-size: var(--fs-s);
    --icon-size: var(--fs-s);
}

.c-icon--size-m {
    font-size: var(--fs-m);
    --icon-size: var(--fs-m);
}

.c-icon--size-l {
    font-size: var(--fs-l);
    --icon-size: var(--fs-l);
}

.c-icon--size-xl {
    font-size: var(--fs-xl);
    --icon-size: var(--fs-xl);
}

.c-icon--size-2xl {
    font-size: var(--fs-2xl);
    --icon-size: var(--fs-2xl);
}

.c-icon--size-3xl {
    font-size: var(--fs-3xl);
    --icon-size: var(--fs-3xl);
}

.c-icon--size-5xxl {
    font-size: var(--fs-5xxl);
    --icon-size: var(--fs-5xxl);
}

.c-icon--size-icons {
    font-size: var(--fs-icons);
    --icon-size: var(--fs-icons);
}

.c-icon-link-list {
    --icon-link-list-gap: var(--space-pad-l);
    --icon-link-ring-inner: var(--color-shadow-inner);
    --icon-link-ring-outer: var(--color-shadow-outer);
    display: flex;
    flex-direction: column;
    gap: var(--icon-link-list-gap);
}

.c-icon-link-list__item {
    --icon-link-item-gap: var(--space-2, 0.5rem);
    display: flex;
    -moz-column-gap: var(--icon-link-item-gap);
    column-gap: var(--icon-link-item-gap);
}

@media (min-width: 48rem) {
    .c-icon-link-list__item {
        --icon-link-item-gap: var(--space-4, 1rem);
    }
}

.c-icon-link-list__icon-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-decoration: none;
}

.c-icon-link-list__icon-link:focus-visible {
    box-shadow: 0 0 0 2px var(--icon-link-ring-inner), 0 0 0 4px var(--icon-link-ring-outer);
}

.c-icon-link-list__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.c-icon-link-list__label-wrapper {
    --icon-link-list-label-border: var(--color-secondary-200, #d6d9dc);
    --icon-link-list-label-pad-left: var(--space-pad-m);
    display: flex;
    align-items: center;
    border-left: 1px solid var(--icon-link-list-label-border);
    padding-left: var(--icon-link-list-label-pad-left);
}

.c-icon-link-list__label {
    --icon-link-list-label-fg: var(--color-secondary-500, #5a6670);
    color: var(--icon-link-list-label-fg);
    font-size: var(--fs-xl);
    font-weight: var(--fw-medium);
    line-height: var(--lh-xl);
    text-transform: uppercase;
}

.c-input {
    /* Tokens locales del componente */
    --c-input-border-radius: var(--radius-md, 6px);
    --c-input-border-color: var(--color-secondary-400, #848d94);
    --c-input-border-color-error: var(--color-error-700, #b80000);
    --c-input-bg-error: var(--color-error-100, #fff0f0);
    --c-input-bg: var(--color-white, #fff);
    --c-input-fg-disabled: var(--color-secondary-400, #848d94);
    --c-input-bg-disabled: var(--color-secondary-100, #ebecee);
    --c-input-ring-inner: var(--color-shadow-inner);
    --c-input-ring-outer: var(--color-shadow-outer);
    --c-input-text-color: var(--color-secondary-500, #5a6670);
    --c-input-placeholder-color: var(--color-secondary-500, #5a6670);
    --c-input-helper-color: var(--color-secondary-400, #848d94);
    --c-input-helper-color-error: var(--color-error-700, #b80000);
    --c-input-padding-inline: var(--space-3, 0.75rem);
    --c-input-padding-block: var(--space-2, 0.5rem);
    --c-input-gap-inline: var(--space-2, 0.5rem);
    --c-input-transition: 0.16s ease-out;
    display: flex;
    flex-direction: column;
    gap: var(--space-1, 0.25rem);
    font-size: var(--fs-m);
    line-height: var(--lh-m);
    color: var(--c-input-text-color);
}

.c-input__label {
    font-weight: var(--fw-bold, 700);
}

.c-input__control {
    display: inline-flex;
    align-items: center;
    width: 100%;
}

.c-input__field {
    --input-base-border-radius: var(--radius-md, 6px);
    --input-base-border-color: var(--color-secondary-400, #848d94);
    --input-base-bg: var(--color-white, #fff);
    --input-base-padding-inline: var(--space-3, 0.75rem);
    --input-base-padding-block: var(--space-2, 0.5rem);
    --input-base-placeholder-color: var(--color-secondary-500, #5a6670);
    --input-base-hover-shadow: 0 0 0 2px rgb(0 0 0 / 8%);
    --input-base-ring-inner: var(--color-shadow-inner);
    --input-base-ring-outer: var(--color-shadow-outer);
    --input-base-transition:
        box-shadow 0.16s ease-out, border-color 0.16s ease-out, background-color 0.16s ease-out;
    flex: 1 1 auto;
    min-width: 0;
    border-radius: var(--input-base-border-radius);
    border: 1px solid var(--input-base-border-color);
    background-color: var(--input-base-bg);
    font-weight: var(--fw-medium, 500);
    padding-inline: var(--input-base-padding-inline);
    padding-block: var(--input-base-padding-block);
    transition: var(--input-base-transition);
}

.c-input__field:hover {
    box-shadow: --input-base-hover-shadow;
}

.c-input__field::-moz-placeholder {
    font-weight: var(--fw-light);
    color: var(--input-base-placeholder-color);
}

.c-input__field::placeholder {
    font-weight: var(--fw-light);
    color: var(--input-base-placeholder-color);
}

.c-input__field:focus {
    outline: none;
}

.c-input__field:focus-visible {
    box-shadow: 0 0 0 2px var(--input-base-ring-inner), 0 0 0 4px var(--input-base-ring-outer);
}

.c-input__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.c-input__icon--leading {
    margin-inline-start: calc(-1 * var(--c-input-padding-inline) + var(--space-1, 0.25rem));
}

.c-input__icon--trailing {
    margin-inline-end: calc(-1 * var(--c-input-padding-inline) + var(--space-1, 0.25rem));
}

.c-input__helper {
    font-size: var(--fs-s);
    line-height: var(--lh-s);
    color: var(--c-input-helper-color);
}

.c-input__search-button {
    --c-input-button-size: 1.5rem;
    background-color: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--c-input-button-size);
    width: var(--c-input-button-size);
}

.c-input__search-button:focus-visible {
    --c-input-button-bg-focus: var(--color-white, #fff);
    outline: none;
    background-color: var(--c-input-button-bg-focus);
    box-shadow: 0 0 0 2px var(--c-input-ring-inner), 0 0 0 4px var(--c-input-ring-outer);
}

.c-input--search .c-input__control {
    position: relative;
}

.c-input--search .c-input__search-button {
    position: absolute;
    right: 0.75rem;
}

.c-input--search .c-icon {
    color: var(--c-input-border-color);
}

.c-input--error .c-input__field {
    color: var(--c-input-border-color-error);
    border-color: var(--c-input-border-color-error);
    background-color: var(--c-input-bg-error);
}

.c-input--error .c-input__field::-moz-placeholder {
    color: var(--c-input-border-color-error);
}

.c-input--error .c-input__field::placeholder {
    color: var(--c-input-border-color-error);
}

.c-input--error .c-input__field:hover {
    border-color: var(--c-input-border-color-error);
}

.c-input--error .c-input__field:focus-within {
    border-color: var(--c-input-border-color-error);
}

.c-input--error .c-input__helper {
    color: var(--c-input-helper-color-error);
}

.c-input--disabled {
    color: var(--c-input-fg-disabled);
}

.c-input--disabled .c-input__control {
    cursor: not-allowed;
}

.c-input--disabled .c-input__field {
    background-color: var(--c-input-bg-disabled);
    cursor: not-allowed;
}

.c-kpi {
    --c-kpi-fg: var(--color-secondary-500, #5a6670);
    --c-kpi-max-width: 85rem;
    color: var(--c-kpi-fg);
}

.c-kpi__item {
    display: flex;
    flex-direction: column;
    font-weight: var(--fw-light);
}

.c-kpi__content {
    --c-kpi-content-gap: var(--space-4, 1rem);
    align-items: center;
    display: flex;
    gap: var(--c-kpi-content-gap);
}

.c-kpi__media {
    --c-kpi-media-size: var(--space-10, 2.5rem);
    flex-shrink: 0;
    aspect-ratio: 1/1;
    -o-object-fit: contain;
    object-fit: contain;
    width: var(--c-kpi-media-size);
}

@media (min-width: 48rem) {
    .c-kpi__media {
        width: 6rem;
    }
}

.c-kpi__figure {
    --c-kpi-figure-gap: var(--space-1, 0.25rem);
    align-items: flex-start;
    display: flex;
    gap: var(--c-kpi-figure-gap);
}

.c-kpi__amount {
    font-weight: var(--fw-bold);
}

.c-kpi__symbol {
    font-size: var(--fs-l);
    line-height: var(--lh-l);
}

@media (min-width: 48rem) {
    .c-kpi__symbol {
        font-size: var(--fs-2xl);
        line-height: var(--lh-2xl);
    }
}

.c-kpi__description {
    --c-kpi-description-gap: var(--space-pad-s);
    display: flex;
    flex-direction: column;
    gap: var(--c-kpi-description-gap);
    font-size: var(--fs-m);
    line-height: var(--lh-m);
}

.c-kpi__intro {
    --c-kpi-intro-fg: var(--color-secondary-400, #848d94);
    color: var(--c-kpi-intro-fg);
    font-size: var(--fs-l);
    line-height: var(--lh-l);
    font-weight: var(--fw-medium);
}

@media (min-width: 48rem) {
    .c-kpi__intro {
        font-size: var(--fs-xl);
        line-height: var(--lh-xl);
    }
}

.c-kpi__unit {
    font-size: var(--fs-l);
    line-height: var(--lh-l);
    font-weight: var(--fw-medium);
}

@media (min-width: 48rem) {
    .c-kpi__unit {
        font-size: var(--fs-2xl);
        line-height: var(--lh-2xl);
    }
}

.c-kpi__countries {
    font-size: var(--fs-xl);
    line-height: var(--lh-xl);
    font-weight: var(--fw-bold);
}

.c-kpi__row {
    --c-kpi-row: var(--space-6);
    align-items: center;
    gap: var(--c-kpi-row);
    display: flex;
    width: 100%;
}

@media (min-width: 64rem) {
    .c-kpi__row.c-kpi__row--first {
        gap: 4rem;
        padding-left: 4rem;
    }

    .c-kpi__row.c-kpi__row--last {
        justify-content: flex-end;
        gap: 7rem;
    }
}

.c-kpi__grid {
    max-width: var(--c-kpi-max-width);
    margin: 0 auto;
}

.c-kpi .c-icon {
    font-size: var(--fs-3xl);
    --icon-size: var(--fs-3xl);
}

@media (min-width: 48rem) {
    .c-kpi .c-icon {
        font-size: 6rem;
        --icon-size: 6rem;
    }
}

.c-kpi--rounded {
    --c-kpi-border-radius: var(--radius-md, 0.375rem);
    border-radius: var(--c-kpi-border-radius);
}

.c-kpi--large {
    --c-kpi-bg: var(--color-white, #fff);
    background-color: var(--c-kpi-bg);
}

.c-kpi--large .c-kpi__grid {
    --c-kpi-grid-gap: var(--space-6, 1.5rem);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--c-kpi-grid-gap);
}

@media (min-width: 48rem) {
    .c-kpi--large .c-kpi__grid {
        --c-kpi-grid-gap: var(--space-12);
    }

    .c-kpi--large .c-kpi__grid:not(.c-kpi__grid--lg) {
        display: none;
    }
}

.c-kpi--large .c-kpi__grid--lg {
    display: none;
}

@media (min-width: 48rem) {
    .c-kpi--large .c-kpi__grid--lg {
        display: flex;
    }
}

.c-kpi--large .c-kpi__item {
    --c-kpi-item-max-w: 32rem;
    max-width: var(--c-kpi-item-max-w);
}

.c-kpi--large .c-kpi__amount {
    font-size: var(--fs-xl);
    line-height: var(--lh-xl);
}

@media (min-width: 48rem) {
    .c-kpi--large .c-kpi__amount {
        font-size: var(--fs-5xl);
        line-height: var(--lh-5xl);
    }
}

@media (min-width: 48rem) {
    .c-kpi--large .c-kpi__description {
        font-size: var(--fs-xl);
        line-height: var(--lh-xl);
    }
}

.c-kpi--medium {
    --c-kpi-bg: var(--color-secondary-50, #f4f5f6);
    --c-kpi-padding-block: var(--space-pad-xl);
    --c-kpi-padding-inline: var(--space-section-margin);
    background-color: var(--c-kpi-bg);
    padding-block: var(--c-kpi-padding-block);
    padding-inline: var(--c-kpi-padding-inline);
}

.c-kpi--medium .c-kpi__grid {
    --c-kpi-grid-gap: var(--space-pad-l);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--c-kpi-grid-gap);
}

@media (min-width: 48rem) {
    .c-kpi--medium .c-kpi__grid {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media (min-width: 64rem) {
    .c-kpi--medium .c-kpi__grid {
        flex-wrap: nowrap;
        justify-content: space-between;
    }
}

.c-kpi--medium .c-kpi__item {
    --c-kpi-item-max-w: 22rem;
    align-items: center;
    text-align: center;
    max-width: var(--c-kpi-item-max-w);
}

.c-kpi--medium .c-kpi__amount {
    font-size: var(--fs-2xl);
    line-height: var(--lh-2xl);
}

@media (min-width: 48rem) {
    .c-kpi--medium .c-kpi__amount {
        font-size: var(--fs-4xl);
        line-height: var(--lh-4xl);
    }
}

.c-kpi--medium .c-kpi__description {
    margin-top: -0.1875rem;
}

.c-kpi--vertical .c-kpi__grid {
    --c-kpi-grid-gap: var(--space-pad-l);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--c-kpi-grid-gap);
}

.c-layout {
    display: grid;
    grid-template-columns: 1fr;
}

.c-layout--search {
    --c-layout-search-gap: var(--space-pad-l);
    gap: var(--c-layout-search-gap);
}

@media (min-width: 48rem) {
    .c-layout--search {
        grid-template-columns: 19.75rem 1fr;
    }
}

.c-layout--blog {
    --c-layout-blog-gap: var(--space-pad-m);
    gap: var(--c-layout-blog-gap);
}

@media (min-width: 48rem) {
    .c-layout--blog {
        --c-layout-blog-gap: var(--space-pad-l);
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 64rem) {
    .c-layout--blog {
        grid-template-columns: repeat(3, 1fr);
    }
}

.c-layout--travel-tips {
    --c-layout-travel-tips-gap: var(--space-pad-m);
    gap: var(--c-layout-travel-tips-gap);
}

@media (min-width: 48rem) {
    .c-layout--travel-tips {
        --c-layout-travel-tips-col-gap: var(--space-pad-m);
        --c-layout-travel-tips-row-gap: var(--space-pad-l);
        grid-template-columns: repeat(2, 1fr);
        -moz-column-gap: var(--c-layout-travel-tips-col-gap);
        column-gap: var(--c-layout-travel-tips-col-gap);
        row-gap: var(--c-layout-travel-tips-row-gap);
    }
}

@media (min-width: 64rem) {
    .c-layout--travel-tips {
        grid-template-columns: repeat(3, 1fr);
    }
}

.c-layout--press-releases,
.c-layout--feed {
    gap: var(--layout-gap);
}

.c-layout--press-releases {
    --layout-gap: var(--space-pad-m);
}

@media (min-width: 57rem) {
    .c-layout--press-releases {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 64rem) {
    .c-layout--press-releases {
        grid-template-columns: repeat(3, 1fr);
    }
}

.c-layout--feed {
    --layout-gap: var(--space-pad-l);
}

@media (min-width: 57rem) {
    .c-layout--feed {
        --layout-gap: var(--space-pad-m);
    }
}

@media (min-width: 64rem) {
    .c-layout--feed {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 90rem) {
    .c-layout--feed {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 64rem) {
    .c-layout--register {
        --c-layout-register-gap: var(--space-pad-l);
        grid-template-columns: 27rem 1fr;
        gap: var(--c-layout-register-gap);
    }
}

.c-layout--contact-info {
    gap: var(--space-pad-l);
}

@media (min-width: 26.25rem) {
    .c-layout--contact-info {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 23.25rem), 1fr));
    }
}

@media (min-width: 64rem) {
    .c-layout--contact-info {
        grid-template-columns: repeat(3, 1fr);
    }
}

.c-layout--simulator {
    gap: 0;
}

@media (min-width: 26.25rem) {
    .c-layout--simulator {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 25rem), 1fr));
    }
}

@media (min-width: 64rem) {
    .c-layout--simulator {
        grid-template-columns: repeat(3, 1fr);
    }
}

.c-layout--discounts {
    gap: var(--space-pad-l);
}

.c-discounts-simulator {
    inline-size: calc(100% + var(--space-pad-m));
    margin-inline: calc(var(--space-pad-m) / -2);
}

@media (min-width: 26.25rem) {
    .c-layout--discounts {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 27rem), 1fr));
    }
}

@media (min-width: 64rem) {
    .c-layout--discounts {
        grid-template-columns: repeat(3, 1fr);
        row-gap: var(--space-pad-xl);
    }
}

.c-layout--saving {
    gap: var(--space-pad-l);
}

@media (min-width: 57rem) {
    .c-layout--saving {
        grid-template-columns: 1fr minmax(auto, 27rem);
    }
}

.c-link {
    --link-ring-inner: var(--color-shadow-inner);
    --link-ring-outer: var(--color-shadow-outer);
    display: block;
    text-decoration: none;
}

.c-link--image:focus-visible {
    box-shadow: 0 0 0 2px var(--link-ring-inner), 0 0 0 4px var(--link-ring-outer);
}

.c-link--max-w {
    margin: 0 auto;
    max-width: min(100%, 68.875rem);
}

.c-map {
    width: 100%;
    background: #e5e5e5;
}

.c-map iframe {
    border: 0;
    height: 100%;
    width: 100%;
}

.c-map--routes {
    height: 39.625rem;
}

@media (min-width: 48rem) {
    .c-map--routes {
        height: 34.25rem;
    }
}

.c-media-figure {
    --media-figure-border-radius: var(--radius-md);
    align-self: flex-start;
    display: block;
    border-radius: var(--media-figure-border-radius);
    overflow: hidden;
    width: 100%;
}

.c-media-figure--border-top {
    border-radius: var(--media-figure-border-radius) var(--media-figure-border-radius) 0 0;
}

.c-media-figure--w-auto {
    margin: 0 auto;
    width: auto;
}

.c-media-figure--h-awai {
    max-height: 16.625rem;
}

@media (min-width: 48rem) {
    .c-media-figure--h-awai {
        height: 16.625rem;
        max-height: none;
    }
}

.c-media-figure--h-200 {
    max-height: 12.5rem;
}

@media (min-width: 48rem) {
    .c-media-figure--h-200 {
        height: 12.5rem;
        max-height: none;
    }
}

.c-media-figure--service {
    aspect-ratio: 1/1;
    -o-object-fit: contain;
    object-fit: contain;
    width: 8.125rem;
}

.c-media-figure--16by9 {
    aspect-ratio: 16/9;
}

.c-media-figure--4by3 {
    aspect-ratio: 4/3;
}

.c-media-figure--square {
    aspect-ratio: 1/1;
}

.c-media-figure--no-radius {
    border-radius: 0;
}

.c-media-figure--tall-sm {
    height: 7.5rem;
}

.c-media-image {
    display: block;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%;
}

.c-media-image--h-full {
    height: 100%;
}

.c-media-image--w-initial {
    width: initial;
}

.c-media-image--16by9 {
    aspect-ratio: 16/9;
}

.c-media-image--4by3 {
    aspect-ratio: 4/3;
}

.c-media-image--square {
    aspect-ratio: 1/1;
}

.c-media-image--no-radius {
    border-radius: 0;
}

.c-percentage {
    --percentage-bg: var(--color-white, #fff);
    --percentage-fg: var(--color-primary-500, #fe6201);
    --percentage-pad: var(--space-2) var(--space-5);
    color: var(--percentage-fg);
    background-color: var(--percentage-bg);
    border-radius: var(--radius-md);
    border: 1px solid;
    font-size: var(--fs-2xl);
    font-weight: var(--fw-bold);
    line-height: var(--lh-2xl);
    padding: var(--percentage-pad);
    text-align: center;
}

.c-poll {
    --poll-radius: var(--radius-md);
    --poll-fg: var(--color-secondary-500, #5a6670);
    --poll-bg: var(--color-white, #ffffff);
    color: var(--poll-fg);
    background-color: var(--poll-bg);
    display: grid;
    grid-template-columns: 1fr;
    border-radius: var(--poll-radius);
    overflow: hidden;
}

@media (min-width: 48rem) {
    .c-poll {
        grid-template-columns: minmax(17.125rem, 20.147058823%) 1fr;
    }
}

.c-poll__media {
    display: none;
    overflow: hidden;
}

@media (min-width: 48rem) {
    .c-poll__media {
        position: relative;
        display: block;
    }

    .c-poll__media .c-media-image {
        position: absolute;
        inset: 0;
    }
}

.c-poll__question {
    font-size: var(--fs-l);
    font-weight: var(--fw-medium);
    color: var(--color-seconary-500, #5a6670);
    line-height: var(--lh-l);
}

.c-poll__form {
    --poll-form-pad-block: var(--space-pad-m);
    --poll-form-pad-inline: var(--space-section-margin);
    display: flex;
    flex-direction: column;
    gap: var(--space-6, 1.5rem);
    padding: var(--poll-form-pad-block) var(--poll-form-pad-inline);
}

.c-poll__inner {
    display: grid;
    gap: var(--space-4, 1rem);
}

@media (min-width: 64rem) {
    .c-poll__inner {
        grid-template-columns: 1fr minmax(18.75rem, 1fr);
        gap: var(--space-10, 2.5rem);
    }
}

@media (min-width: 90rem) {
    .c-poll__inner {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-14, 3.375rem);
    }
}

.c-poll__fieldset {
    border: none;
    padding: 0;
    margin: 0;
}

.c-poll__options {
    display: flex;
    flex-direction: column;
    gap: var(--space-4, 1rem);
}

.c-poll__option {
    display: flex;
    flex-direction: column;
    gap: var(--space-2, 0.5rem);
}

@media (min-width: 768px) {
    .c-poll__option {
        flex-direction: row;
        align-items: center;
        gap: var(--space-6, 1.5rem);
    }
}

.c-poll__radio-wrapper {
    display: flex;
    align-items: center;
}

@media (min-width: 768px) {
    .c-poll__radio-wrapper {
        flex-shrink: 0;
        flex-basis: 5rem;
    }
}

.c-poll__input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.c-poll__input:focus-visible+.c-poll__radio-label .c-poll__radio-custom {
    background-color: var(--color-white, #ffffff);
    border-color: var(--color-secondary-400, #848d94);
    box-shadow: 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px #000000;
}

.c-poll__input:checked+.c-poll__radio-label .c-poll__radio-custom {
    border-color: var(--color-primary-500, #fe6201);
    background-color: var(--color-white, #ffffff);
}

.c-poll__input:checked+.c-poll__radio-label .c-poll__radio-custom::after {
    background-color: var(--color-primary-500, #fe6201);
}

.c-poll__input:checked~.c-poll__results .c-poll__bar-fill {
    background-color: var(--color-secondary-500, #f97316);
}

.c-poll__input:disabled+.c-poll__radio-label {
    cursor: default;
}

.c-poll__input:disabled+.c-poll__radio-label .c-poll__radio-custom {
    border-color: var(--color-secondary-400, #848d94);
    background-color: var(--color-white, #fff);
}

.c-poll__radio-label {
    display: flex;
    align-items: center;
    gap: var(--space-2, 0.5rem);
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.c-poll__radio-custom {
    position: relative;
    width: 1.5rem;
    height: 1.5rem;
    flex-shrink: 0;
    border: 2px solid var(--color-secondary-400, #848d94);
    border-radius: 50%;
    background-color: var(--color-white, #ffffff);
    transition: all 0.2s ease-in-out;
}

.c-poll__radio-custom::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    background-color: transparent;
    transition: all 0.2s ease-in-out;
}

.c-poll__label-text {
    font-size: var(--fs-m);
    font-weight: var(--fw-medium);
    line-height: var(--lh-m);
}

.c-poll {
    /* Results Display
     ======================================================================== */
}

.c-poll__results {
    align-items: center;
    display: flex;
    gap: var(--space-6, 1.5rem);
    flex: 1;
    min-width: 0;
}

.c-poll__bar {
    display: block;
    width: 100%;
    height: 1.5rem;
    background: rgba(0, 0, 0, 0.0509803922);
    border-radius: var(--poll-radius);
    overflow: hidden;
}

@media (min-width: 768px) {
    .c-poll__bar {
        flex: 1;
        min-width: 0;
    }
}

.c-poll__bar-fill {
    display: block;
    height: 100%;
    width: var(--poll-percentage, 0%);
    background-color: var(--color-primary-500, #fe6201);
    border-radius: var(--radius-md) 0 0 var(--radius-md);
    transition: width 0.6s ease-out;
}

.c-poll__percentage {
    position: relative;
    display: block;
    font-size: var(--fs-l);
    font-weight: var(--fw-medium);
    line-height: var(--lh-l);
    flex-shrink: 0;
}

@media (min-width: 768px) {
    .c-poll__percentage {
        flex-basis: 3.5rem;
        text-align: right;
    }
}

.c-poll {
    /* Actions
     ======================================================================== */
}

.c-poll__actions {
    display: flex;
    justify-content: center;
    padding-top: var(--space-6, 1.5rem);
}

.c-poll__actions .c-button {
    width: 13.25rem;
}

.c-product-tag {
    --product-tag-bg: var(--color-secondary-50, #f4f5f6);
    --product-tag-fg: var(--color-secondary-500, #5a6670);
    --product-tag-pad: var(--space-1) var(--space-2);
    display: inline-flex;
    align-items: center;
    color: var(--product-tag-fg);
    background-color: var(--product-tag-bg);
    gap: var(--space-2);
    padding: var(--product-tag-pad);
    border-radius: var(--radius-md);
    width: -moz-fit-content;
    width: fit-content;
}

.c-product-tag__icon {
    display: inline-flex;
    color: var(--color-secondary-500);
}

.c-product-tag__text {
    font-size: var(--fs-s);
    font-weight: var(--fw-medium);
    line-height: var(--lh-s);
}

.c-radio-option {
    --c-radio-size: 1.5rem;
    --c-radio-padding: 0.25rem;
    --c-radio-gap: var(--space-2, 0.5rem);
    --c-radio-border-color: var(--color-secondary-400, #848d94);
    --c-radio-bg: transparent;
    --c-radio-bg-checked: var(--color-primary-500, #fe6201);
    --c-radio-label-color: var(--color-secondary-500, #5a6670);
    --c-radio-ring-inner: var(--color-shadow-inner, #fff);
    --c-radio-ring-outer: var(--color-shadow-outer, #000);
    --c-radio-disabled-opacity: 0.4;
    display: flex;
    align-items: center;
}

@media (min-width: 22.5rem) {
    .c-radio-option {
        --c-radio-gap: var(--space-4, 1rem);
    }
}

.c-radio-option {
    /* Input nativo oculto (accesible)
     ======================================================================== */
}

.c-radio-option__input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.c-radio-option__input:checked+.c-radio-option__label {
    color: var(--color-secondary-700, #32383e);
}

.c-radio-option__input:checked+.c-radio-option__label::before {
    background-color: var(--c-radio-bg-checked);
    border-color: var(--color-white, #fff);
}

.c-radio-option__input:checked+.c-radio-option__label::after {
    opacity: 1;
}

.c-radio-option__input:checked:hover+.c-radio-option__label::before,
.c-radio-option__input:checked:focus-visible+.c-radio-option__label::before {
    background-color: var(--c-radio-bg-checked);
    background-image: linear-gradient(var(--color-overlay-5, rgba(0, 0, 0, 0.0509803922)), var(--color-overlay-5, rgba(0, 0, 0, 0.0509803922)));
}

.c-radio-option__input:focus-visible+.c-radio-option__label {
    box-shadow: 0 0 0 2px var(--c-radio-ring-inner), 0 0 0 4px var(--c-radio-ring-outer);
}

.c-radio-option__input:disabled+.c-radio-option__label {
    cursor: not-allowed;
    opacity: var(--c-radio-disabled-opacity);
}

.c-radio-option {
    /* Label con radio visual custom
     ======================================================================== */
}

.c-radio-option__label {
    display: flex;
    align-items: flex-start;
    gap: var(--c-radio-gap);
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    color: var(--c-radio-label-color);
    font-size: var(--fs-m);
    font-weight: var(--fw-light);
    line-height: var(--lh-m);
}

.c-radio-option__label::before {
    content: "";
    flex-shrink: 0;
    width: var(--c-radio-size);
    height: var(--c-radio-size);
    border: 1px solid var(--c-radio-border-color);
    border-radius: 100px;
    padding: var(--c-radio-padding);
    background-color: var(--c-radio-bg);
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.c-radio-option__label::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: var(--c-radio-size);
    height: var(--c-radio-size);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='%23ffffff' viewBox='0 0 256 256'%3E%3Cpath d='M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 0.875rem;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.c-resource-card {
    --resource-card-bg: var(--color-white, #fff);
    --resource-card-fg: var(--color-secondary-500, #5a6670);
    --resource-radius: var(--radius-md);
    --resource-gap: var(--space-pad-m);
    --resource-pad: var(--space-pad-m);
    --resource-transtion: 150ms ease;
    color: var(--resource-card-fg);
    display: flex;
    flex-direction: column;
    gap: var(--resource-gap);
    max-width: 100%;
    background-color: var(--resource-card-bg);
    border-radius: var(--resource-radius);
    padding: var(--resource-pad);
    position: relative;
}

.c-resource-card__top {
    display: flex;
    flex-direction: column;
    gap: var(--space-2, 0.5rem);
}

.c-resource-card__header {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    justify-content: space-between;
}

.c-resource-card__code {
    font-size: var(--fs-2xl);
    font-weight: var(--fw-bold);
    line-height: var(--lh-2xl);
    padding: 0.3125rem 0;
}

.c-resource-card__title {
    font-size: var(--fs-m);
    font-weight: var(--fw-medium);
    line-height: var(--lh-m);
}

.c-resource-card__figure {
    position: relative;
    height: 13.125rem;
    border: 3px solid transparent;
    transition: border var(--resource-transtion);
}

.c-resource-card__figure .c-media-image {
    height: inherit;
    -o-object-fit: contain;
    object-fit: contain;
}

.c-resource-card__overlay {
    position: absolute;
    display: flex;
    inset: 0;
    opacity: 0;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.5);
    transition: opacity var(--resource-transtion);
}

.c-resource-card__overlay .c-button {
    align-self: initial;
    background-color: var(--color-white, #ffffff);
    padding: var(--space-pad-s) var(--space-pad-l);
}

.c-resource-card__overlay .c-button:hover {
    text-decoration: underline;
}

.c-resource-card__overlay .c-button::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: var(--resource-radius);
    z-index: 1;
}

.c-resource-card__overlay .c-button:focus-visible {
    box-shadow: none;
}

.c-resource-card__figure:hover .c-resource-card__overlay,
.c-resource-card__figure:has(.c-button:focus-visible) .c-resource-card__overlay {
    opacity: 1;
}

.c-resource-card__figure:hover {
    border: 3px solid var(--color-secondary-50, #f4f5f6);
}

.c-resource-card__figure:has(.c-button:focus-visible) {
    box-shadow: 0 0 0 2px var(--color-shadow-inner), 0 0 0 4px var(--color-shadow-outer);
}

.c-resource-card__footer {
    display: flex;
}

.c-resource-dialog {
    --resource-dialog-bg: var(--color-white);
    --resource-dialog-fg: var(--color-secondary-500);
    --resource-dialog-max-width: 22.5rem;
    --resource-dialog-padding: var(--space-pad-s) var(--space-pad-m);
    --dialog-base-backdrop: rgba(0, 0, 0, 0.5);
    background: transparent;
}

.c-resource-dialog::backdrop {
    background: var(--dialog-base-backdrop);
    opacity: 0;
    transition: opacity 220ms ease;
}

.c-resource-dialog[open]::backdrop {
    opacity: 1;
}

.c-resource-dialog[open].is-closing::backdrop {
    opacity: 0;
    transition: opacity 220ms ease;
}

.c-resource-dialog[open] [data-dialog-inner] {
    transition: transform 350ms ease, opacity 200ms ease;
    will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {

    .c-resource-dialog::backdrop,
    .c-resource-dialog [data-dialog-inner] {
        transition: none;
    }
}

.c-resource-dialog {
    border: 0;
    border-radius: var(--radius-md);
    color: var(--resource-dialog-fg);
    height: auto;
    max-height: calc(100dvh - var(--space-pad-l));
    max-width: var(--resource-dialog-max-width);
    opacity: 0;
    overflow: hidden;
    padding: 0;
    transform: translateY(100%);
    width: 100%;
}

@media (max-height: 700px) {
    .c-resource-dialog {
        max-height: 90vh;
    }
}

@media (min-width: 26.25rem) {
    .c-resource-dialog {
        --resource-dialog-max-width: 95%;
    }
}

@media (min-width: 64rem) {
    .c-resource-dialog {
        --resource-dialog-max-width: 59.375rem;
    }
}

.c-resource-dialog[open].is-open {
    opacity: 1;
    transform: translateY(0);
}

.c-resource-dialog[open].is-closing {
    opacity: 0;
    transform: translateY(100%);
}

.c-resource-dialog[open] {
    transition: transform 350ms ease, opacity 200ms ease;
    will-change: transform, opacity;
}

.c-resource-dialog__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: calc(100dvh - var(--space-pad-l));
    background-color: var(--resource-dialog-bg);
    position: relative;
}

.c-resource-dialog__header {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--space-pad-s);
    padding: var(--space-pad-m);
    border-bottom: 2px solid var(--color-secondary-100, #ebecee);
}

.c-resource-dialog__code {
    color: var(--color-secondary-700);
    font-size: var(--fs-xl);
    font-weight: var(--fw-medium);
    line-height: var(--lh-xl);
}

.c-resource-dialog__close {
    display: inline-flex;
    position: absolute;
    top: 1rem;
    right: 1rem;
}

@media (min-width: 48rem) {
    .c-resource-dialog__close {
        top: 1.5rem;
        right: 1.5rem;
    }
}

.c-resource-dialog__close .c-icon {
    color: var(--color-secondary-400, #848d94);
}

.c-resource-dialog__content {
    color: var(--color-secondary-500, #5a6670);
    display: flex;
    flex-direction: column;
    flex: 1;
    font-size: var(--fs-m);
    font-weight: var(--fw-light);
    line-height: var(--lh-m);
    gap: var(--space-pad-s);
    padding: var(--space-pad-m);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    min-height: 0;
}

.c-resource-dialog__content::-webkit-scrollbar {
    width: 8px;
}

.c-resource-dialog__content::-webkit-scrollbar-track {
    background: var(--color-secondary-50);
}

.c-resource-dialog__content::-webkit-scrollbar-thumb {
    background: var(--color-secondary-300);
    border-radius: var(--radius-pill);
}

.c-resource-dialog__content::-webkit-scrollbar-thumb:hover {
    background: var(--color-secondary-400);
}

.c-resource-dialog__subtitle {
    font-size: var(--fs-l);
    font-weight: var(--fw-medium);
    line-height: var(--lh-l);
}

.c-resource-dialog__figure {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 0;
}

.c-resource-dialog .c-media-image {
    display: block;
    width: auto;
    height: auto;
    -o-object-fit: initial;
    object-fit: initial;
    max-height: calc(100dvh - 16rem);
    max-width: 100%;
    margin: 0 auto;
}

.c-resource-dialog__footer .c-button {
    min-width: 14.3125rem;
}

.c-resource-dialog__footer {
    display: flex;
    gap: var(--space-4);
    padding: var(--space-pad-s) var(--space-pad-m);
    border-top: 1px solid var(--color-secondary-200);
    background-color: var(--color-white);
}

@media (min-width: 48rem) {
    .c-resource-dialog__footer .c-button {
        width: auto;
        min-width: 14.3125rem;
    }
}

.c-resource-dialog__footer {
    justify-content: center;
}

.c-search-results__item {
    --c-search-results-border-color: var(--color-secondary-200, #d6d9dc);
    --c-search-results-item-gap: var(--space-4, 1rem);
    border-bottom: 1px solid var(--c-search-results-border-color);
    display: flex;
    flex-direction: column;
    font-size: var(--fs-m);
    line-height: var(--lh-m);
    gap: var(--c-search-results-item-gap);
    padding-block: var(--space-4, 1rem);
}

.c-search-results__title {
    --c-search-results-title-color: var(--color-secondary-700, #32383e);
    color: var(--c-search-results-title-color);
    font-weight: var(--fw-bold);
}

.c-search-results__title-link {
    color: inherit;
    text-decoration: underline;
}

.c-search-results__title-link:hover,
.c-search-results__title-link:focus-visible {
    text-decoration: none;
}

.c-search-results__excerpt {
    font-weight: var(--fw-light);
    /* Truncado a 2 líneas */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}

.c-search-results__meta {
    font-size: var(--fs-s);
    font-weight: var(--fw-medium);
    line-height: var(--lh-s);
}

.c-search-results__breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1, 0.25rem);
}

.c-search-results__breadcrumb-item {
    display: inline-flex;
    align-items: center;
}

.c-search-results__breadcrumb-link {
    text-decoration: underline;
}

.c-search-results__breadcrumb-link:hover,
.c-search-results__breadcrumb-link:focus-visible {
    text-decoration: none;
}

.c-search-results__breadcrumb-separator {
    margin-inline: var(--space-1, 0.25rem);
}

.c-skip-links {
    position: fixed;
    top: 0;
    left: 0;
    z-index: calc(var(--z-toast) + 100);
    pointer-events: none;
}

.c-skip-links__list {
    display: flex;
    gap: var(--space-2, 0.5rem);
    list-style: none;
    margin: 0;
    padding: var(--space-2, 0.5rem);
}

.c-skip-links__link {
    position: relative;
    display: inline-block;
    padding: var(--space-2, 0.5rem) var(--space-4, 1rem);
    background-color: var(--color-secondary-900, #141618);
    color: var(--color-white, #fff);
    font-size: var(--fs-s, 0.875rem);
    font-weight: var(--fw-medium, 500);
    line-height: var(--lh-s, 1.4);
    text-decoration: none;
    border-radius: 0.25rem;
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
    outline: 0;
    transition: transform 0.15s ease-in-out, opacity 0.15s ease-in-out;
}

.c-skip-links__link:focus-visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
    box-shadow: 0 0 0 2px var(--color-white, #fff), 0 0 0 4px var(--color-focus-ring);
}

.c-tag {
    --tag-fg: var(--color-secondary-500, #5a6670);
    --tag-padding-block: 0.0625rem;
    --tag-padding-inline: var(--space-3, 0.75rem);
    --tag-rounded: var(--radius-pill, 9999px);
    --tag-ring-inner: var(--color-shadow-inner);
    --tag-ring-outer: var(--color-shadow-outer);
    align-items: center;
    color: var(--tag-fg);
    border: 1px solid;
    border-radius: var(--tag-rounded);
    display: inline-flex;
    font-size: var(--fs-xs);
    font-weight: var(--fw-bold);
    justify-content: center;
    line-height: var(--lh-xs);
    padding-block: var(--tag-padding-block);
    padding-inline: var(--tag-padding-inline);
    transition: background-color 150ms ease-out, color 150ms ease-out;
    text-decoration: none;
}

.c-tag:hover {
    --tag-fg: var(--color-primary-500, #fe6201);
    --tag-hover-bg: var(--color-white, #fff);
    background-color: var(--tag-hover-bg);
}

.c-tag:focus-visible {
    box-shadow: 0 0 0 2px var(--tag-ring-inner), 0 0 0 4px var(--tag-ring-outer);
}

.c-textarea {
    --textarea-fg: var(--color-secondary-500, #5a6670);
    display: flex;
    flex-direction: column;
    gap: var(--space-1, 0.25rem);
    font-size: var(--fs-m);
    line-height: var(--lh-m);
    color: var(--textarea-fg);
}

.c-textarea__control {
    width: 100%;
}

.c-textarea__field {
    --input-base-border-radius: var(--radius-md, 6px);
    --input-base-border-color: var(--color-secondary-400, #848d94);
    --input-base-bg: var(--color-white, #fff);
    --input-base-padding-inline: var(--space-3, 0.75rem);
    --input-base-padding-block: var(--space-2, 0.5rem);
    --input-base-placeholder-color: var(--color-secondary-500, #5a6670);
    --input-base-hover-shadow: 0 0 0 2px rgb(0 0 0 / 8%);
    --input-base-ring-inner: var(--color-shadow-inner);
    --input-base-ring-outer: var(--color-shadow-outer);
    --input-base-transition:
        box-shadow 0.16s ease-out, border-color 0.16s ease-out, background-color 0.16s ease-out;
    flex: 1 1 auto;
    min-width: 0;
    border-radius: var(--input-base-border-radius);
    border: 1px solid var(--input-base-border-color);
    background-color: var(--input-base-bg);
    font-weight: var(--fw-medium, 500);
    padding-inline: var(--input-base-padding-inline);
    padding-block: var(--input-base-padding-block);
    transition: var(--input-base-transition);
}

.c-textarea__field:hover {
    box-shadow: --input-base-hover-shadow;
}

.c-textarea__field::-moz-placeholder {
    font-weight: var(--fw-light);
    color: var(--input-base-placeholder-color);
}

.c-textarea__field::placeholder {
    font-weight: var(--fw-light);
    color: var(--input-base-placeholder-color);
}

.c-textarea__field:focus {
    outline: none;
}

.c-textarea__field:focus-visible {
    box-shadow: 0 0 0 2px var(--input-base-ring-inner), 0 0 0 4px var(--input-base-ring-outer);
}

.c-textarea__field {
    resize: none;
}

.c-textarea__help-text {
    --help-text: var(--color-secondary-400, #848d94);
    color: var(--help-text);
    font-size: var(--fs-s);
    font-weight: var(--fw-medium);
    line-height: var(--lh-s);
}

.c-text-block {
    --text-block-gap: var(--space-pad-s);
    --text-block-fg: var(--color-secondary-500, #5a6670);
    --text-block-max-w: var(--max-w-text);
    color: var(--text-block-fg);
    display: flex;
    flex-direction: column;
    gap: var(--text-block-gap);
    text-align: left;
}

.c-text-block__content {
    --text-block-gap-text: var(--space-pad-s);
    display: flex;
    flex-direction: column;
    font-size: var(--fs-m);
    font-weight: var(--fw-light);
    gap: var(--text-block-gap-text);
    line-height: var(--lh-m);
    max-width: var(--text-block-max-w);
    width: 100%;
}

.c-text-block h3:not([class*=u-text-]) {
    font-size: var(--fs-xl);
    font-weight: var(--fw-bold);
    line-height: var(--lh-xl);
}

.c-text-block {
    /* ---------------------- */
    /*    VARIANTE CENTER   */
    /* ---------------------- */
}

.c-text-block--center {
    text-align: center;
    align-items: center;
}

.c-text-block--no-gap .c-text-block__content {
    --text-block-gap-text: 0;
}

.c-text-block--content-lg .c-text-block__content {
    font-size: var(--fs-l);
    line-height: var(--lh-l);
}

.c-toggle-button-group {
    --toggle-item-ring-inner: var(--color-shadow-inner);
    --toggle-item-ring-outer: var(--color-shadow-outer);
    border: 0;
    margin: 0;
    padding: 0;
}

.c-toggle-button-group__legend {
    font-size: var(--fs-m);
    font-weight: var(--fw-medium);
    line-height: var(--lh-m);
}

.c-toggle-button-group__items {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.c-toggle-button-group__item {
    position: relative;
}

.c-toggle-button-group__input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}

.c-toggle-button-group__input:focus-visible+.c-toggle-button-group__button {
    box-shadow: 0 0 0 2px var(--toggle-item-ring-inner), 0 0 0 4px var(--toggle-item-ring-outer);
}

.c-toggle-button-group__input:checked+.c-toggle-button-group__button {
    background-color: var(--color-primary-500);
    border-color: var(--color-primary-500);
    color: var(--color-white);
}

.c-toggle-button-group__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-white);
    border: 1px solid var(--color-secondary-400, #848d94);
    border-radius: var(--radius-md);
    color: var(--color-secondary-500, #5a6670);
    cursor: pointer;
    font-size: var(--fs-m);
    font-weight: var(--fw-medium);
    line-height: var(--lh-m);
    text-align: center;
    transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.c-toggle-button-group__button[aria-pressed=true] {
    background-color: var(--color-primary-500);
    border-color: var(--color-primary-500);
    color: var(--color-white);
}

.c-toggle-button-group__button:focus-visible {
    box-shadow: 0 0 0 2px var(--toggle-item-ring-inner), 0 0 0 4px var(--toggle-item-ring-outer);
}

.c-text-logo-list {
    --c-text-logo-list-fg: var(--color-secondary-500, #5a6670);
    color: var(--c-text-logo-list-fg);
}

.c-text-logo-list__item {
    --c-text-logo-list-item-border-color: var(--color-secondary-300, #adb3b8);
    --c-text-logo-list-item-pad-block: var(--space-pad-s);
    --c-text-logo-list-item-gap: var(--space-pad-s);
    border-block-start: 1px solid var(--c-text-logo-list-item-border-color);
    display: flex;
    flex-direction: column;
    gap: var(--c-text-logo-list-item-gap);
    padding-block: var(--c-text-logo-list-item-pad-block);
}

.c-text-logo-list__header {
    --c-text-logo-list-header-gap-inline: var(--space-2, 0.5rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--c-text-logo-list-header-gap-inline);
    flex-wrap: wrap;
}

.c-text-logo-list .c-media-figure {
    width: -moz-fit-content;
    width: fit-content;
}

.c-text-logo-list__title {
    flex: 1 1 auto;
    font: inherit;
    font-size: var(--fs-xl);
    font-weight: var(--fw-bold);
    line-height: var(--lh-xl);
    text-transform: uppercase;
}

.c-text-logo-list__content {
    --c-text-logo-list-content-gap: var(--space-pad-s);
    --c-text-logo-list-content-max-w: var(--max-w-text);
    display: flex;
    flex-direction: column;
    gap: var(--c-text-logo-list-content-gap);
    font-weight: var(--fw-light);
    font-size: var(--fs-m);
    line-height: var(--lh-m);
    max-width: var(--c-text-logo-list-content-max-w);
}

.c-search-filters {
    --search-filters-bg: var(--color-secondary-white, #ffff);
    --search-filters-radius: var(--radius-md, 6px);
    --search-filters-padding: var(--space-pad-m);
    --search-filters-gap: var(--space-pad-m);
    --search-filters-color: var(--color-secondary-500, #5a6670);
    --search-filters-option-gap: var(--space-4, 1rem);
    --search-filters-option-text-color: var(--color-secondary-700, #32383e);
    --search-filters-option-disabled: var(--color-secondary-400, #848d94);
    font-size: var(--fs-m);
    line-height: var(--lh-m);
    font-weight: var(--fw-light);
    color: var(--search-filters-color);
    background-color: var(--search-filters-bg);
    border-radius: var(--search-filters-radius);
    padding: var(--search-filters-padding);
    display: flex;
    flex-direction: column;
    gap: var(--search-filters-gap);
    height: 100%;
}

.c-search-filters__toggle-wrapper {
    display: block;
    text-align: center;
}

.c-search-filters__toggle-icon {
    display: inline-flex;
}

.c-search-filters__toggle-label {
    text-decoration: underline;
}

.c-search-filters__toggle-label:hover {
    text-decoration: none;
}

.c-search-filters__toggle-label--hide {
    display: none;
}

.c-search-filters__panel {
    display: flex;
    flex-direction: column;
    gap: var(--search-filters-gap);
}

.c-search-filters__search-wrapper {
    display: flex;
    align-items: center;
    gap: 0;
    border-radius: var(--search-filters-radius);
    border: 1px solid var(--color-secondary-200, #c8cfd5);
    background-color: #fff;
    overflow: hidden;
}

.c-search-filters__input {
    flex: 1 1 auto;
    border: 0;
    padding-inline: var(--space-3, 0.75rem);
    padding-block: var(--space-2, 0.5rem);
    font: inherit;
    color: inherit;
    min-width: 0;
}

.c-search-filters__input:focus-visible {
    outline: none;
}

.c-search-filters__search-icon {
    display: inline-flex;
}

.c-search-filters__fieldset {
    border: 0;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--search-filters-gap);
}

.c-search-filters__fieldset-top {
    --search-filters-top-gap: var(--space-2, 0.5rem);
    display: flex;
    flex-direction: column;
    gap: var(--search-filters-top-gap);
}

.c-search-filters__form--container {
    display: flex;
    flex-direction: column;
    gap: var(--search-filters-gap);
}

.c-search-filters__form--container .c-search-filters__fieldset,
.c-search-filters__form--container .c-input {
    gap: var(--space-4);
}

.c-search-filters__legend {
    font-weight: var(--fw-bold);
}

.c-search-filters__options,
.c-search-filters__option {
    display: flex;
    flex-direction: column;
    gap: var(--search-filters-option-gap);
}

.c-search-filters__options--nested {
    padding-left: var(--space-6, 1.5rem);
}

.c-search-filters__option-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2, 0.5rem);
}

.c-search-filters__option-label {
    display: inline-flex;
    align-items: center;
}

.c-search-filters__option-text {
    color: var(--search-filters-option-text-color);
    font-weight: var(--fw-medium, 500);
}

.c-search-filters__option-count {
    flex-shrink: 0;
    font-size: var(--fs-xs);
    line-height: var(--lh-xs);
    font-weight: var(--fw-medium, 500);
    color: var(--search-filters-option-count-color);
}

.c-search-filters__actions {
    --search-filters-actions-pad-top: var(--space-pad-m);
    display: flex;
    flex-direction: column;
    padding-top: var(--search-filters-actions-pad-top);
    gap: var(--search-filters-option-gap);
}

.c-search-filters__clear {
    border: 0;
    background: none;
    cursor: pointer;
    font-weight: var(--fw-medium, 500);
    text-decoration: underline;
    align-self: center;
}

.c-search-filters__clear:hover {
    text-decoration: none;
}

.c-search-filters--collapsed .c-search-filters__panel {
    display: none;
}

.c-search-filters--collapsed .c-search-filters__toggle-label--show {
    display: inline;
}

.c-search-filters--collapsed .c-search-filters__toggle-label--hide {
    display: none;
}

.c-search-filters--expanded .c-search-filters__panel {
    display: flex;
}

.c-search-filters--expanded .c-search-filters__toggle-label--show {
    display: none;
}

.c-search-filters--expanded .c-search-filters__toggle-label--hide {
    display: inline;
}

@media (min-width: 48rem) {
    .c-search-filters .c-search-filters__toggle-wrapper {
        display: none;
    }

    .c-search-filters .c-search-filters--collapsed .c-search-filters__panel,
    .c-search-filters .c-search-filters__panel {
        display: flex;
    }
}

.c-section-header {
    --header-gap: var(--space-2);
    --header-fg: var(--color-secondary-500, #5a6670);
    --header-max-w: var(--max-w-text);
    display: flex;
    flex-direction: column;
    gap: var(--header-gap);
    text-transform: uppercase;
}

.c-section-header__eyebrow {
    display: flex;
    align-items: center;
    gap: var(--header-gap);
}

.c-section-header__square {
    --icon-size: 0.5rem;
    flex-shrink: 0;
    height: var(--icon-size);
    width: var(--icon-size);
}

.c-section-header__eyebrow-text {
    font-size: var(--fs-xs);
    line-height: var(--lh-xs);
    font-weight: var(--fw-medium);
}

.c-section-header__title {
    font-size: var(--fs-2xl);
    line-height: var(--lh-2xl);
    font-weight: var(--fw-medium);
    color: currentColor;
    max-width: var(--header-max-w);
	margin-top: 15px;
}

@media (min-width: 48rem) {
    .c-section-header__title {
        font-size: var(--fs-3xl);
        line-height: var(--lh-3xl);
		margin-top: 15px;
    }
}

.c-section-header--center {
    text-align: center;
}

.c-section-header--title-full .c-section-header__title {
    max-width: none;
	margin-top: 15px;
}

.c-section-header--sm .c-section-header__title {
    font-size: var(--fs-xl);
    line-height: var(--lh-xl);
    font-weight: var(--fw-bold);
	margin-top: 15px;
}

.c-service-list {
    --service-image-size: 2.5rem;
    display: grid;
    gap: var(--service-image-size);
    grid-template-columns: 1fr;
}

@media (min-width: 48rem) {
    .c-service-list {
        --service-image-size: 4rem;
    }
}

.c-service-list__item-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.c-service-list__item {
    align-items: center;
    display: flex;
    flex-direction: column;
    position: relative;
}

.c-service-list__item:not(:last-child)::after {
    content: "";
    position: absolute;
    height: var(--service-image-size);
    width: var(--service-image-size);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    pointer-events: none;
    bottom: calc(-1 * var(--service-image-size));
    background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.3374 28.1626L6.83745 15.6626C6.67185 15.4848 6.58169 15.2498 6.58598 15.0069C6.59026 14.764 6.68865 14.5323 6.86042 14.3605C7.03219 14.1888 7.26392 14.0904 7.50679 14.0861C7.74967 14.0818 7.98473 14.172 8.16245 14.3376L19.9999 26.1735L31.8374 14.3376C32.0152 14.172 32.2502 14.0818 32.4931 14.0861C32.736 14.0904 32.9677 14.1888 33.1395 14.3605C33.3112 14.5323 33.4096 14.764 33.4139 15.0069C33.4182 15.2498 33.328 15.4848 33.1624 15.6626L20.6624 28.1626C20.4867 28.3381 20.2484 28.4367 19.9999 28.4367C19.7515 28.4367 19.5132 28.3381 19.3374 28.1626Z' fill='%235A6670'/%3E%3C/svg%3E%0A");
}

@media (min-width: 48rem) {
    .c-service-list__item {
        flex-direction: row;
    }

    .c-service-list__item:not(:last-child)::after {
        background-image: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M45.0599 33.0601L25.0599 53.0601C24.7756 53.325 24.3995 53.4693 24.0109 53.4624C23.6223 53.4556 23.2515 53.2981 22.9767 53.0233C22.7019 52.7485 22.5444 52.3777 22.5376 51.9891C22.5307 51.6005 22.675 51.2244 22.9399 50.9401L41.8774 32.0001L22.9399 13.0601C22.675 12.7757 22.5307 12.3996 22.5376 12.011C22.5444 11.6224 22.7019 11.2516 22.9767 10.9768C23.2515 10.702 23.6223 10.5446 24.0109 10.5377C24.3995 10.5309 24.7756 10.6751 25.0599 10.9401L45.0599 30.9401C45.3408 31.2213 45.4986 31.6026 45.4986 32.0001C45.4986 32.3976 45.3408 32.7788 45.0599 33.0601Z' fill='%235A6670'/%3E%3C/svg%3E%0A");
    }
}

.c-service-list__item .c-icon {
    height: var(--service-image-size);
    width: var(--service-image-size);
}

.c-service-list__item-card {
    --service-border-radius: var(--radius-md, 0.375rem);
    --service-item-gap: var(--space-pad-s);
    --service-item-pad: var(--space-pad-m);
    --service-item-bg: var(--color-white, #fff);
    --service-item-fg: var(--color-secondary-500, #5a6670);
    align-items: center;
    background-color: var(--service-item-bg);
    border-radius: var(--service-border-radius);
    color: var(--service-item-fg);
    display: flex;
    flex-direction: column;
    font-size: var(--fs-m);
    font-weight: var(--fw-light);
    gap: var(--service-item-gap);
    height: 100%;
    justify-content: flex-start;
    line-height: var(--lh-m);
    overflow: hidden;
    padding: var(--service-item-pad);
    text-align: center;
    width: 100%;
}

.c-service-list__item-card .c-media-figure {
    align-self: inherit;
    height: var(--service-image-size);
    width: var(--service-image-size);
}

.c-service-list__item-card .c-media-figure .c-media-image {
    aspect-ratio: 1/1;
    -o-object-fit: contain;
    object-fit: contain;
}

.c-service-list__item-title {
    --service-title-fg: var(--color-secondary-700, #32383e);
    color: var(--service-title-fg);
    font-weight: var(--fw-bold);
}

@media (min-width: 48rem) {
    .c-service-list--variant-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .c-service-list--variant-4 .c-service-list__item:nth-child(even)::after {
        content: none;
    }

    .c-service-list--variant-4 .c-service-list__item:nth-child(odd):not(:last-child)::after {
        top: 0;
        bottom: 0;
        right: calc(-1 * var(--service-image-size));
        margin: auto 0;
        content: "";
        position: absolute;
        height: var(--service-image-size);
        width: var(--service-image-size);
        background-position: 50% 50%;
        background-repeat: no-repeat;
        pointer-events: none;
    }
}

@media (min-width: 64rem) {
    .c-service-list--variant-4 {
        grid-template-columns: repeat(4, 1fr);
    }

    .c-service-list--variant-4 .c-service-list__item:not(:last-child)::after {
        top: 0;
        bottom: 0;
        right: calc(-1 * var(--service-image-size));
        margin: auto 0;
        content: "";
        position: absolute;
        height: var(--service-image-size);
        width: var(--service-image-size);
        background-position: 50% 50%;
        background-repeat: no-repeat;
        pointer-events: none;
    }
}

@media (min-width: 48rem) {
    .c-service-list--variant-5 {
        grid-template-columns: repeat(2, 1fr);
    }

    .c-service-list--variant-5 .c-service-list__item:nth-child(even)::after {
        content: none;
    }

    .c-service-list--variant-5 .c-service-list__item:nth-child(odd):not(:last-child)::after {
        top: 0;
        bottom: 0;
        right: calc(-1 * var(--service-image-size));
        margin: auto 0;
        content: "";
        position: absolute;
        height: var(--service-image-size);
        width: var(--service-image-size);
        background-position: 50% 50%;
        background-repeat: no-repeat;
        pointer-events: none;
    }
}

@media (min-width: 64rem) {
    .c-service-list--variant-5 {
        grid-template-columns: repeat(4, 1fr);
    }

    .c-service-list--variant-5 .c-service-list__item:not(:nth-last-child(-n+2))::after {
        top: 0;
        bottom: 0;
        right: calc(-1 * var(--service-image-size));
        margin: auto 0;
        content: "";
        position: absolute;
        height: var(--service-image-size);
        width: var(--service-image-size);
        background-position: 50% 50%;
        background-repeat: no-repeat;
        pointer-events: none;
    }
}

@media (min-width: 90rem) {
    .c-service-list--variant-5 {
        grid-template-columns: repeat(5, 1fr);
    }

    .c-service-list--variant-5 .c-service-list__item:not(:last-child)::after {
        top: 0;
        bottom: 0;
        right: calc(-1 * var(--service-image-size));
        margin: auto 0;
        content: "";
        position: absolute;
        height: var(--service-image-size);
        width: var(--service-image-size);
        background-position: 50% 50%;
        background-repeat: no-repeat;
        pointer-events: none;
    }
}

.c-simulator-item {
    color: var(--color-secondary-500, #5a6670);
    background-color: var(--color-white);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    height: auto;
    padding: var(--space-pad-m);
}

@media (min-width: 48rem) {
    .c-simulator-item {
        padding: var(--space-pad-l);
    }
}

.c-simulator-item__header {
    display: flex;
    align-items: flex-start;
    flex-grow: 1;
    gap: var(--space-4);
}

.c-simulator-item__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    flex: 1;
}

.c-simulator-item__title {
    font-size: var(--fs-m);
    font-weight: var(--fw-medium);
    line-height: var(--lh-m);
}

.c-simulator-item__description {
    font-size: var(--fs-s);
    font-weight: var(--fw-light);
    line-height: var(--lh-s);
}

.c-simulator-item__help-link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    margin-top: var(--space-2);
    font-size: var(--fs-s);
    font-weight: var(--fw-medium);
    line-height: var(--lh-s);
    color: var(--color-secondary-500);
    text-decoration: underline;
    width: -moz-fit-content;
    width: fit-content;
}

.c-simulator-item__help-link:hover {
    color: var(--color-primary-500);
}

.c-simulator-item__help-link:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 2px;
    border-radius: var(--radius-xs);
}

.c-simulator-item__help-toggle {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--fs-s);
    font-weight: var(--fw-light);
    line-height: var(--lh-s);
    color: var(--color-secondary-500);
    width: -moz-fit-content;
    width: fit-content;
}

.c-simulator-item__help-toggle:hover .c-simulator-item__help-toggle-text {
    text-decoration: none;
}

.c-simulator-item__help-toggle:focus-visible {
    box-shadow: 0 0 0 2px var(--color-shadow-inner), 0 0 0 4px var(--color-shadow-outer);
}

.c-simulator-item__help-toggle-text {
    text-decoration: underline;
}

.c-simulator-item__more-info {
    padding-top: var(--space-4);
}

.c-simulator-item__more-info-content {
    background-color: var(--color-secondary-50, #f4f5f6);
    border-radius: var(--radius-m);
    color: var(--color-secondary-500, #5a6670);
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
    font-weight: var(--fw-light);
    font-size: var(--fs-xs);
    line-height: var(--lh-xs);
    padding: var(--space-2);
}

.c-simulator-item__more-info-content ul,
.c-simulator-item__more-info-content ol {
    list-style-type: "- ";
    padding-left: var(--space-2);
}

.c-simulator-item__actions {
    padding-top: var(--space-pad-m);
}

@media (min-width: 48rem) {
    .c-simulator-item__actions {
        padding-left: var(--space-14, 3.5rem);
    }
}

.c-survey-form {
    --c-survey-bg: var(--color-white, #fff);
    --c-survey-fg: var(--color-secondary-500, #5a6670);
    --c-survey-pad-block: var(--space-pad-xl);
    --c-survey-pad-inline: var(--space-section-margin);
    --c-survey-gap: var(--space-pad-l);
    --c-survey-radius: var(--radius-md);
    background-color: var(--c-survey-bg);
    border-radius: var(--c-survey-radius);
    color: var(--c-survey-fg);
    display: flex;
    flex-direction: column;
    gap: var(--c-survey-gap);
    padding-block: var(--c-survey-pad-block);
    padding-inline: var(--c-survey-pad-inline);
    position: relative;
    /* Header
     ======================================================================== */
}

.c-survey-form__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4, 1rem);
}

.c-survey-form__heading {
    display: flex;
    flex-direction: column;
    gap: var(--space-2, 0.5rem);
}

.c-survey-form__title {
    font-size: var(--fs-l);
    font-weight: var(--fw-bold);
    line-height: var(--lh-l);
    color: var(--color-secondary-700, #32383e);
    text-transform: uppercase;
}

.c-survey-form__required {
    font-size: var(--fs-s);
    font-weight: var(--fw-medium);
    line-height: var(--lh-s);
}

.c-survey-form {
    /* Botón de cierre
     ======================================================================== */
}

.c-survey-form__close {
    --close-position: 0.5rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    color: var(--color-secondary-400, #848d94);
    position: absolute;
    top: var(--close-position);
    right: var(--close-position);
}

@media (min-width: 48rem) {
    .c-survey-form__close {
        --close-position: 1.5rem;
    }
}

.c-survey-form__close.c-button--icon-only:hover {
    color: var(--color-secondary-800, #1e2125);
}

.c-survey-form {
    /* Cuerpo: fieldset con preguntas
     ======================================================================== */
}

.c-survey-form__body {
    border: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--c-survey-gap);
}

.c-survey-form {
    /* Pregunta individual
     ======================================================================== */
}

.c-survey-form__question {
    display: flex;
    flex-direction: column;
    gap: var(--space-pad-m);
    padding-top: var(--space-pad-m);
    border-top: 1px solid var(--color-secondary-200s, #d6d9dc);
}

.c-survey-form__question:first-of-type {
    border-top: none;
    padding-top: 0;
}

.c-survey-form__question-header {
    display: flex;
    align-items: baseline;
    font-size: var(--fs-l);
    gap: var(--space-2, 0.5rem);
    line-height: var(--lh-l);
}

@media (min-width: 22.5rem) {
    .c-survey-form__question-header {
        gap: var(--space-pad-s);
    }
}

.c-survey-form__question-number {
    font-weight: var(--fw-light);
    color: var(--color-primary-500, #fe6201);
    flex-shrink: 0;
    text-align: right;
}

@media (min-width: 22.5rem) {
    .c-survey-form__question-number {
        min-width: 2rem;
    }
}

.c-survey-form__question-text {
    font-weight: var(--fw-medium);
    color: var(--color-secondary-700, #32383e);
}

.c-survey-form {
    /* Grupo de opciones radio
     ======================================================================== */
}

.c-survey-form__question-options {
    display: flex;
    flex-direction: column;
    gap: var(--space-pad-l);
    padding-inline-start: var(--space-6, 1.5rem);
}

@media (min-width: 22.5rem) {
    .c-survey-form__question-options {
        padding-inline-start: var(--space-12, 3rem);
    }
}

@media (min-width: 48rem) {
    .c-survey-form__question-options {
        align-items: start;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 13.75rem), 1fr));
    }
}

.c-survey-form {
    /* Campo textarea
     ======================================================================== */
}

.c-survey-form__question-field {
    padding-inline-start: var(--space-6, 1.5rem);
}

@media (min-width: 22.5rem) {
    .c-survey-form__question-field {
        padding-inline-start: var(--space-12, 3rem);
    }
}

.c-survey-form {
    /* Botón de envío
     ======================================================================== */
}

.c-survey-form__actions {
    display: flex;
    justify-content: center;
}

.c-social-networks {
    --social-networks-border: var(--color-secondary-200, #c8cfd5);
    --social-networks-fg-icons: var(--color-primary-500, #fe6201);
    --social-networks-padding-block: var(--space-6, 1.5rem);
    --social-networks-gap: var(--space-6, 1.5rem);
    align-items: center;
    border-top: 1px solid var(--social-networks-border);
    display: flex;
    flex-direction: column;
    gap: var(--social-networks-gap);
    padding-block: var(--social-networks-padding-block);
}

.c-social-networks .c-icon {
    color: var(--social-networks-fg-icons);
}

.c-social-networks__label {
    font-size: var(--fs-m);
    font-weight: var(--fw-bold);
    line-height: var(--lh-m);
}

.c-social-networks__list {
    --social-networks-list-gap: var(--space-pad-l);
    align-items: center;
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--social-networks-list-gap);
}

.c-social-networks__list a {
    text-decoration: none;
}

.c-slider-simple {
    --slider-fg: var(--color-secondary-500, #5a6670);
    --slider-fg-hover: var(--color-secondary-700, #32383e);
    --slider-image-hover: var(--color-primary-500, #fe6201);
    --slider-bg: var(--color-secondary-50, #f4f5f6);
    --slider-padding-inline: var(--space-12, 3rem);
    --slider-card-bg: var(--color-white, #fff);
    --slider-card-radius: var(--radius-md, 0.375rem);
    --slider-card-gap: var(--space-6, 1.5rem);
    --slider-card-padding-block: var(--space-pad-xxl);
    --slider-icon-fg: var(--color-secondary-300, #adb3b8);
    --slider-arrow-size: 2.5rem;
    --slider-arrow-bg: transparent;
    --slider-ring-inner: var(--color-shadow-inner);
    --slider-ring-outer: var(--color-shadow-outer);
    /* Área clickeable del enlace (pseudo-elemento) */
    --slider-link-hit-top: 0;
    --slider-link-hit-left: 0;
    --slider-link-hit-right: 0;
    --slider-link-hit-bottom: 0;
    color: var(--slider-fg);
    background-color: var(--slider-bg);
    padding-inline: var(--slider-padding-inline);
}

@media (min-width: 48rem) {
    .c-slider-simple {
        --slider-padding-inline: 4.5rem;
    }
}

.c-slider-simple .splide__track {
    overflow: hidden;
}

.c-slider-simple__list {
    display: flex;
    align-items: stretch;
}

.c-slider-simple__slide {
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.c-slider-simple__card {
    align-items: center;
    background-color: var(--slider-card-bg);
    border-radius: var(--slider-card-radius);
    display: flex;
    flex-direction: column;
    gap: var(--slider-card-gap);
    height: 100%;
    justify-content: center;
    padding-block: var(--slider-card-padding-block);
    text-align: center;
    text-decoration: none;
    width: 100%;
}

.c-slider-simple__card:hover .c-icon {
    fill: var(--slider-image-hover);
}

.c-slider-simple__card:hover .c-slider-simple__link {
    color: var(--slider-fg-hover);
    text-decoration: none;
}

.c-slider-simple .c-icon {
    font-size: 6rem;
    --icon-size: 6rem;
    color: var(--slider-icon-fg);
}

.c-slider-simple__link {
    font-size: var(--fs-m);
    line-height: var(--lh-m);
    font-weight: var(--fw-bold, 700);
    text-transform: uppercase;
    text-decoration: underline;
}

.c-slider-simple__link::before {
    content: "";
    position: absolute;
    border-radius: var(--slider-card-radius);
    top: var(--slider-link-hit-top);
    right: var(--slider-link-hit-right);
    bottom: var(--slider-link-hit-bottom);
    left: var(--slider-link-hit-left);
    z-index: 1;
}

.c-slider-simple__link:focus-visible {
    outline: none;
    outline-offset: initial;
}

.c-slider-simple__link:focus-visible::before {
    outline: solid var(--color-primary-500);
    outline-offset: -0.25rem;
}

.c-slider-simple .splide__arrows {
    display: flex;
    justify-content: space-between;
    align-items: center;
    pointer-events: none;
}

.c-slider-simple .splide__arrow {
    pointer-events: auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: var(--slider-arrow-size);
    height: var(--slider-arrow-size);
    border: 0;
    border-radius: 0;
    background-color: var(--slider-arrow-bg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    z-index: 2;
}

@media (min-width: 48rem) {
    .c-slider-simple .splide__arrow {
        --slider-arrow-size: 4rem;
    }
}

.c-slider-simple .splide__arrow:focus-visible {
    box-shadow: 0 0 0 2px var(--slider-ring-inner), 0 0 0 4px var(--slider-ring-outer);
}

.c-slider-simple .splide__arrow:hover::before {
    background-color: var(--slider-fg-hover);
}

.c-slider-simple .splide__arrow svg,
.c-slider-simple .splide__arrow span {
    display: none;
}

.c-slider-simple .splide__arrow::before {
    content: "";
    display: block;
    height: var(--slider-arrow-size);
    width: var(--slider-arrow-size);
    -webkit-mask: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M45.0597 33.0597L25.0597 53.0597C24.7753 53.3247 24.3993 53.4689 24.0106 53.462C23.622 53.4552 23.2513 53.2978 22.9765 53.0229C22.7016 52.7481 22.5442 52.3773 22.5373 51.9887C22.5305 51.6001 22.6747 51.224 22.9397 50.9397L41.8772 31.9997L22.9397 13.0597C22.6747 12.7753 22.5305 12.3993 22.5373 12.0106C22.5442 11.622 22.7016 11.2513 22.9765 10.9764C23.2513 10.7016 23.622 10.5442 24.0106 10.5373C24.3993 10.5305 24.7753 10.6747 25.0597 10.9397L45.0597 30.9397C45.3406 31.2209 45.4984 31.6022 45.4984 31.9997C45.4984 32.3972 45.3406 32.7784 45.0597 33.0597Z' fill='%235A6670'/%3E%3C/svg%3E%0A") no-repeat center;
    mask: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M45.0597 33.0597L25.0597 53.0597C24.7753 53.3247 24.3993 53.4689 24.0106 53.462C23.622 53.4552 23.2513 53.2978 22.9765 53.0229C22.7016 52.7481 22.5442 52.3773 22.5373 51.9887C22.5305 51.6001 22.6747 51.224 22.9397 50.9397L41.8772 31.9997L22.9397 13.0597C22.6747 12.7753 22.5305 12.3993 22.5373 12.0106C22.5442 11.622 22.7016 11.2513 22.9765 10.9764C23.2513 10.7016 23.622 10.5442 24.0106 10.5373C24.3993 10.5305 24.7753 10.6747 25.0597 10.9397L45.0597 30.9397C45.3406 31.2209 45.4984 31.6022 45.4984 31.9997C45.4984 32.3972 45.3406 32.7784 45.0597 33.0597Z' fill='%235A6670'/%3E%3C/svg%3E%0A") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
    background-color: var(--slider-fg);
}

.c-slider-simple .splide__arrow--prev {
    left: 0;
}

.c-slider-simple .splide__arrow--prev::before {
    transform: rotate(180deg);
}

.c-slider-simple .splide__arrow--next {
    right: 0;
}

.c-slider-simple .splide__arrow[disabled] {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.c-switch {
    /* Tokens del componente */
    --c-switch-gap: var(--space-2, 0.5rem);
    --c-switch-track-w: 3rem;
    --c-switch-track-h: 1.5rem;
    --c-switch-thumb: 1rem;
    --c-switch-pad: 0.25rem;
    --c-switch-on: var(--color-primary-500, #FE6201);
    --c-switch-off: var(--color-secondary-400, #848D94);
    --c-switch-disabled: var(--color-secondary-300, #ADB3B8);
    --c-switch-text: var(--color-secondary-500, #5A6670);
    --c-switch-text-disabled: var(--color-secondary-400, #848D94);
    --c-switch-ring-inner: var(--color-shadow-inner);
    --c-switch-ring-outer: var(--color-shadow-outer);
    display: inline-flex;
}

.c-switch__input {
    /* Mantener accesible (focus/lectores) */
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
    /* Focus visible en el control */
}

.c-switch__input:focus-visible+.c-switch__label .c-switch__control {
    box-shadow: 0 0 0 2px var(--c-switch-ring-inner), 0 0 0 4px var(--c-switch-ring-outer);
}

.c-switch__input {
    /* Checked */
}

.c-switch__input:checked+.c-switch__label .c-switch__control {
    background-color: var(--c-switch-on);
}

.c-switch__input:checked+.c-switch__label .c-switch__control::before {
    transform: translateX(calc(var(--c-switch-track-w) - var(--c-switch-thumb) - var(--c-switch-pad) * 2));
}

.c-switch__input {
    /* Disabled */
}

.c-switch__input:disabled+.c-switch__label {
    cursor: not-allowed;
    color: var(--c-switch-text-disabled);
}

.c-switch__input:disabled+.c-switch__label .c-switch__control {
    background-color: var(--c-switch-disabled);
}

.c-switch__input:disabled+.c-switch__label .c-switch__control::before {
    background-color: var(--color-secondary-200, #D6D9DC);
}

.c-switch__label {
    display: inline-flex;
    align-items: center;
    gap: var(--c-switch-gap);
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    color: var(--c-switch-text);
}

.c-switch__text-on {
    display: none;
}

.c-switch__text-off {
    display: inline;
}

.c-switch__input:checked+.c-switch__label .c-switch__text-on {
    display: inline;
}

.c-switch__input:checked+.c-switch__label .c-switch__text-off {
    display: none;
}

.c-switch__input:disabled+.c-switch__label .c-switch__text-on,
.c-switch__input:disabled+.c-switch__label .c-switch__text-off {
    opacity: 0.7;
}

.c-switch__control {
    inline-size: var(--c-switch-track-w);
    block-size: var(--c-switch-track-h);
    border-radius: 62.4375rem;
    background-color: var(--c-switch-off);
    position: relative;
    flex: 0 0 auto;
}

.c-switch__control::before {
    content: "";
    position: absolute;
    inset-block-start: var(--c-switch-pad);
    inset-inline-start: var(--c-switch-pad);
    inline-size: var(--c-switch-thumb);
    block-size: var(--c-switch-thumb);
    border-radius: 50%;
    background-color: var(--color-white, #fff);
    transition: transform 0.15s ease-in-out;
    transform: translateX(0);
}

.c-switch__text {
    font-size: var(--fs-m);
    font-weight: var(--fw-medium);
    line-height: var(--lh-m);
}

.c-switch__hint {
    font-size: var(--fs-s, 0.875rem);
    line-height: var(--lh-m, 1.4);
    color: var(--c-switch-text);
    opacity: 0.9;
}

@media (prefers-reduced-motion: reduce) {
    .c-switch__control::before {
        transition: none;
    }
}

/**
 * Vertical Tabs
 *
 * Componente de tabs con navegación vertical (izquierda) y contenido (derecha)
 * Split view 50/50 para desktop.
 * Solo un tab activo a la vez.
 */
.c-vertical-tabs {
    --vertical-tabs-transition-duration: 0.2s;
    --vertical-tabs-transition-timing: ease;
    display: flex;
    height: 100%;
}

.c-vertical-tabs__nav-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--space-6, 1.5rem);
    flex: 0 0 50%;
    border-right: 1px solid var(--color-secondary-200);
    padding: var(--space-pad-m) var(--space-section-margin);
}

.c-vertical-tabs__nav {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.c-vertical-tabs__nav .c-media-figure {
    width: 8.875rem;
}

.c-vertical-tabs__trigger {
    --trigger-fg: var(--color-secondary-500);
    --trigger-fg-hover: var(--color-secondary-700, #32383e);
    --trigger-bg-active: var(--color-secondary-50);
    --trigger-border-active: var(--color-primary-500);
    --trigger-padding-block: var(--space-2);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    width: 100%;
    padding-block: var(--trigger-padding-block);
    border: none;
    background: transparent;
    color: var(--trigger-fg);
    text-align: left;
    cursor: pointer;
    transition: color var(--vertical-tabs-transition-duration) var(--vertical-tabs-transition-timing), background-color var(--vertical-tabs-transition-duration) var(--vertical-tabs-transition-timing), border-color var(--vertical-tabs-transition-duration) var(--vertical-tabs-transition-timing);
}

.c-vertical-tabs__trigger:focus {
    outline: none;
}

.c-vertical-tabs__trigger:focus-visible {
    box-shadow: 0 0 0 2px var(--color-shadow-inner), 0 0 0 4px var(--color-shadow-outer);
}

.c-vertical-tabs__trigger[aria-selected=true] {
    color: var(--trigger-fg-hover);
    border-bottom: 1px solid var(--trigger-border-active);
}

.c-vertical-tabs__title-trigger {
    flex: 1;
    margin: 0;
    font-size: var(--fs-m);
    font-weight: var(--fw-medium);
    line-height: var(--lh-m);
    text-transform: uppercase;
}

.c-vertical-tabs__panels {
    flex: 0 0 50%;
    position: relative;
}

.c-vertical-tabs__panel {
    display: none;
    padding: var(--space-6) var(--space-section-margin);
    color: var(--color-secondary-500, #5a6670);
    background-color: var(--color-secondary-50, #f4f5f6);
    flex-direction: column;
    font-size: var(--fs-s);
    gap: var(--space-4);
    line-height: var(--lh-s);
    font-weight: var(--fw-light);
    min-height: 100%;
}

.c-vertical-tabs__panel[aria-hidden=false] {
    display: flex;
}

.c-vertical-tabs__title {
    color: var(--color-secondary-700, #32383e);
    font-size: var(--fs-l);
    font-weight: var(--fw-bold);
    line-height: var(--lh-l);
    text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
    .c-vertical-tabs .c-vertical-tabs__trigger {
        transition: none;
    }
}

.c-video-iframe {
    --video-iframe-border-radius: var(--radius-md);
    --video-iframe-bg: var(--color-black, #000);
    border-radius: var(--video-iframe-border-radius);
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    padding: 0;
    background-color: var(--color-black);
}

.c-video-iframe__item {
    position: absolute;
    inset: 0;
    height: 100%;
    border: 0;
    width: 100%;
}

.c-video-iframe {
    /* Ratios: padding-top genera la altura en función del ancho */
}

.c-video-iframe--21by9 {
    padding-block-start: 42.8571428571%;
}

.c-video-iframe--16by9 {
    padding-block-start: 56.25%;
}

.c-video-iframe--4by3 {
    padding-block-start: 75%;
}

.c-video-iframe--1by1 {
    padding-block-start: 100%;
}

:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
}

.u-color-primary-400 {
    color: var(--color-primary-400, #ff8539);
}

.u-color-primary-500 {
    color: var(--color-primary-500, #fe6201);
}

.u-color-secondary-300 {
    color: var(--color-secondary-300, #adb3b8);
}

.u-color-secondary-400 {
    color: var(--color-secondary-400, #848d94);
}

.u-color-secondary-500 {
    color: var(--color-secondary-500, #5a6670);
}

.u-color-secondary-700 {
    color: var(--color-secondary-700, #32383e);
}

.u-color-white {
    color: var(--color-white, #fff);
}

.u-bg-white {
    --card-bg: var(--color-secondary-50, #f4f5f6);
    background-color: var(--color-white, #fff);
}

.u-bg-black {
    background-color: var(--color-black, #000);
}

.u-bg-gray {
    --card-bg: var(--color-white, #fff);
    background-color: var(--color-secondary-50, #f4f5f6);
}

.u-bg-brand {
    background-color: var(--color-primary-500, #fe6201);
}

.u-none {
    display: none !important;
}

.u-block {
    display: block !important;
}

.u-inline {
    display: inline-block !important;
}

.u-flex {
    display: flex !important;
}

.u-inline-flex {
    display: inline-flex !important;
}

@media (min-width: 48rem) {
    .u-md-none {
        display: none !important;
    }

    .u-md-block {
        display: block !important;
    }

    .u-md-inline {
        display: inline-block !important;
    }

    .u-md-flex {
        display: flex !important;
    }
}

@media (min-width: 64rem) {
    .u-lg-none {
        display: none !important;
    }

    .u-lg-block {
        display: block !important;
    }

    .u-lg-inline {
        display: inline-block !important;
    }

    .u-lg-flex {
        display: flex !important;
    }
}

/* Dirección */
.u-flex-row {
    flex-direction: row;
}

.u-flex-col {
    flex-direction: column;
}

/* Alineación en el eje principal */
.u-justify-start {
    justify-content: flex-start;
}

.u-justify-center {
    justify-content: center;
}

.u-justify-end {
    justify-content: flex-end;
}

.u-justify-between {
    justify-content: space-between;
}

@media (min-width: 48rem) {
    .u-md-justify-between {
        justify-content: space-between;
    }
}

/* Alineación en el eje cruzado */
.u-items-start {
    align-items: flex-start;
}

.u-items-center {
    align-items: center;
}

@media (min-width: 48rem) {
    .u-md-items-start {
        align-items: start;
    }

    .u-md-items-center {
        align-items: center;
    }
}

.u-items-end {
    align-items: flex-end;
}

.u-self-start {
    align-self: flex-start;
}

.u-self-initial {
    align-self: initial;
}

.u-self-center {
    align-self: center;
}

.u-justify-self-start {
    justify-self: flex-start;
}

.u-justify-self-center {
    justify-self: center;
}

.u-justify-self-end {
    justify-self: flex-end;
}

.u-flex-column {
    flex-direction: column;
}

@media (min-width: 48rem) {
    .u-md-flex-row {
        flex-direction: row;
    }
}

.u-shrink-0 {
    flex-shrink: 0;
}

/* ====== GAP HORIZONTAL (gutter de Figma) =============================== */
.u-gap-0 {
    gap: 0;
}

.u-gap-gutter {
    gap: var(--grid-gutter, 16px);
}

/* ============================================================
   GAPS HORIZONTALES Y VERTICALES — coherentes con spacing.scss
   ============================================================ */
/* Paso base de la escala actual (actualizar si la escala cambia) */
/* ====== COLUMN GAP (horizontal) ==============================
   Ejemplo:
     u-col-gap-4  → column-gap: var(--space-4);
     u-col-gap-10 → column-gap: var(--space-10);
=============================================================== */
.u-col-gap-0 {
    -moz-column-gap: var(--space-0);
    column-gap: var(--space-0);
}

.u-col-gap-1 {
    -moz-column-gap: var(--space-1);
    column-gap: var(--space-1);
}

.u-col-gap-2 {
    -moz-column-gap: var(--space-2);
    column-gap: var(--space-2);
}

.u-col-gap-3 {
    -moz-column-gap: var(--space-3);
    column-gap: var(--space-3);
}

.u-col-gap-4 {
    -moz-column-gap: var(--space-4);
    column-gap: var(--space-4);
}

.u-col-gap-5 {
    -moz-column-gap: var(--space-5);
    column-gap: var(--space-5);
}

.u-col-gap-6 {
    -moz-column-gap: var(--space-6);
    column-gap: var(--space-6);
}

.u-col-gap-7 {
    -moz-column-gap: var(--space-7);
    column-gap: var(--space-7);
}

.u-col-gap-8 {
    -moz-column-gap: var(--space-8);
    column-gap: var(--space-8);
}

.u-col-gap-9 {
    -moz-column-gap: var(--space-9);
    column-gap: var(--space-9);
}

.u-col-gap-10 {
    -moz-column-gap: var(--space-10);
    column-gap: var(--space-10);
}

.u-col-gap-11 {
    -moz-column-gap: var(--space-11);
    column-gap: var(--space-11);
}

.u-col-gap-12 {
    -moz-column-gap: var(--space-12);
    column-gap: var(--space-12);
}

.u-col-gap-14 {
    -moz-column-gap: var(--space-14);
    column-gap: var(--space-14);
}

.u-col-gap-16 {
    -moz-column-gap: var(--space-16);
    column-gap: var(--space-16);
}

/* ====== ROW GAP (vertical) ===================================
   Ejemplo:
     u-row-gap-3  → row-gap: var(--space-3);
     u-row-gap-8  → row-gap: var(--space-8);
=============================================================== */
.u-row-gap-0 {
    row-gap: var(--space-0);
}

.u-row-gap-1 {
    row-gap: var(--space-1);
}

.u-row-gap-2 {
    row-gap: var(--space-2);
}

.u-row-gap-3 {
    row-gap: var(--space-3);
}

.u-row-gap-4 {
    row-gap: var(--space-4);
}

.u-row-gap-5 {
    row-gap: var(--space-5);
}

.u-row-gap-6 {
    row-gap: var(--space-6);
}

.u-row-gap-7 {
    row-gap: var(--space-7);
}

.u-row-gap-8 {
    row-gap: var(--space-8);
}

.u-row-gap-9 {
    row-gap: var(--space-9);
}

.u-row-gap-10 {
    row-gap: var(--space-10);
}

.u-row-gap-11 {
    row-gap: var(--space-11);
}

.u-row-gap-12 {
    row-gap: var(--space-12);
}

.u-row-gap-14 {
    row-gap: var(--space-14);
}

.u-row-gap-16 {
    row-gap: var(--space-16);
}

/* ====== GAP (row y col) =================================== */
.u-gap-0 {
    gap: var(--space-0);
}

.u-gap-1 {
    gap: var(--space-1);
}

.u-gap-2 {
    gap: var(--space-2);
}

.u-gap-3 {
    gap: var(--space-3);
}

.u-gap-4 {
    gap: var(--space-4);
}

.u-gap-5 {
    gap: var(--space-5);
}

.u-gap-6 {
    gap: var(--space-6);
}

.u-gap-7 {
    gap: var(--space-7);
}

.u-gap-8 {
    gap: var(--space-8);
}

.u-gap-9 {
    gap: var(--space-9);
}

.u-gap-10 {
    gap: var(--space-10);
}

.u-gap-11 {
    gap: var(--space-11);
}

.u-gap-12 {
    gap: var(--space-12);
}

.u-gap-14 {
    gap: var(--space-14);
}

.u-gap-16 {
    gap: var(--space-16);
}

.u-gap-ps {
    gap: var(--space-pad-s);
}

.u-gap-pm {
    gap: var(--space-pad-m);
}

.u-gap-pl {
    gap: var(--space-pad-l);
}

.u-gap-pxxl {
    gap: var(--space-pad-xxl);
}

/* Tamaños (setea tamaño + line-height del mismo grupo) */
.u-text-xs {
    font-size: var(--fs-xs);
    line-height: var(--lh-xs);
}

.u-text-s {
    font-size: var(--fs-s);
    line-height: var(--lh-s);
}

.u-text-m {
    font-size: var(--fs-m);
    line-height: var(--lh-m);
}

.u-text-l {
    font-size: var(--fs-l);
    line-height: var(--lh-l);
}

.u-text-xl {
    font-size: var(--fs-xl);
    line-height: var(--lh-xl);
}

.u-text-2xl {
    font-size: var(--fs-2xl);
    line-height: var(--lh-2xl);
}

.u-text-3xl {
    font-size: var(--fs-3xl);
    line-height: var(--lh-3xl);
}

.u-text-4xl {
    font-size: var(--fs-4xl);
    line-height: var(--lh-4xl);
}

.u-text-5xl {
    font-size: var(--fs-5xl);
    line-height: var(--lh-5xl);
}

.u-text-6xl {
    font-size: var(--fs-6xl);
    line-height: var(--lh-6xl);
}

/* Pesos */
.u-font-light {
    font-weight: var(--fw-light) !important;
}

.u-font-medium {
    font-weight: var(--fw-medium) !important;
}

.u-font-bold {
    font-weight: var(--fw-bold) !important;
}

.u-text-normal {
    text-transform: none !important;
}

.u-text-uppercase {
    text-transform: uppercase !important;
}

.u-text-capitalize {
    text-transform: capitalize !important;
}

.u-text-lowercase {
    text-transform: lowercase !important;
}

.u-text-left {
    text-align: left !important;
}

.u-text-center {
    text-align: center !important;
}

.u-text-right {
    text-align: right !important;
}

.u-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.u-visually-hidden,
.u-visually-hidden--focusable {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.u-visually-hidden--focusable:focus {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
}

/* Rango de columnas soportadas */
/* ====== GRID COLUMNS EN EL PADRE ======================= */
/* base (mobile-first) */
.u-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.u-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.u-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.u-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.u-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.u-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.u-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.u-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
}

.u-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
}

.u-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
}

.u-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
}

.u-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

/* tablet ≥ md (768) */
@media (min-width: 48rem) {
    .u-md-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .u-md-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .u-md-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .u-md-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .u-md-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .u-md-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .u-md-cols-7 {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }

    .u-md-cols-8 {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .u-md-cols-9 {
        grid-template-columns: repeat(9, minmax(0, 1fr));
    }

    .u-md-cols-10 {
        grid-template-columns: repeat(10, minmax(0, 1fr));
    }

    .u-md-cols-11 {
        grid-template-columns: repeat(11, minmax(0, 1fr));
    }

    .u-md-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }
}

/* laptop ≥ lg (1024) */
@media (min-width: 64rem) {
    .u-lg-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .u-lg-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .u-lg-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .u-lg-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .u-lg-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .u-lg-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .u-lg-cols-7 {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }

    .u-lg-cols-8 {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .u-lg-cols-9 {
        grid-template-columns: repeat(9, minmax(0, 1fr));
    }

    .u-lg-cols-10 {
        grid-template-columns: repeat(10, minmax(0, 1fr));
    }

    .u-lg-cols-11 {
        grid-template-columns: repeat(11, minmax(0, 1fr));
    }

    .u-lg-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }
}

/* desktop ≥ xl (1440) */
@media (min-width: 90rem) {
    .u-xl-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .u-xl-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .u-xl-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .u-xl-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .u-xl-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .u-xl-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .u-xl-cols-7 {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }

    .u-xl-cols-8 {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .u-xl-cols-9 {
        grid-template-columns: repeat(9, minmax(0, 1fr));
    }

    .u-xl-cols-10 {
        grid-template-columns: repeat(10, minmax(0, 1fr));
    }

    .u-xl-cols-11 {
        grid-template-columns: repeat(11, minmax(0, 1fr));
    }

    .u-xl-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }
}

/* ====== SPAN EN LOS HIJOS ============================= */
.u-span-1 {
    --span: 1;
}

.u-span-2 {
    --span: 2;
}

.u-span-3 {
    --span: 3;
}

.u-span-4 {
    --span: 4;
}

.u-span-5 {
    --span: 5;
}

.u-span-6 {
    --span: 6;
}

.u-span-7 {
    --span: 7;
}

.u-span-8 {
    --span: 8;
}

.u-span-9 {
    --span: 9;
}

.u-span-10 {
    --span: 10;
}

.u-span-11 {
    --span: 11;
}

.u-span-12 {
    --span: 12;
}

@media (min-width: 48rem) {
    .u-md-span-1 {
        --span: 1;
    }

    .u-md-span-2 {
        --span: 2;
    }

    .u-md-span-3 {
        --span: 3;
    }

    .u-md-span-4 {
        --span: 4;
    }

    .u-md-span-5 {
        --span: 5;
    }

    .u-md-span-6 {
        --span: 6;
    }

    .u-md-span-7 {
        --span: 7;
    }

    .u-md-span-8 {
        --span: 8;
    }

    .u-md-span-9 {
        --span: 9;
    }

    .u-md-span-10 {
        --span: 10;
    }

    .u-md-span-11 {
        --span: 11;
    }

    .u-md-span-12 {
        --span: 12;
    }
}

@media (min-width: 64rem) {
    .u-lg-span-1 {
        --span: 1;
    }

    .u-lg-span-2 {
        --span: 2;
    }

    .u-lg-span-3 {
        --span: 3;
    }

    .u-lg-span-4 {
        --span: 4;
    }

    .u-lg-span-5 {
        --span: 5;
    }

    .u-lg-span-6 {
        --span: 6;
    }

    .u-lg-span-7 {
        --span: 7;
    }

    .u-lg-span-8 {
        --span: 8;
    }

    .u-lg-span-9 {
        --span: 9;
    }

    .u-lg-span-10 {
        --span: 10;
    }

    .u-lg-span-11 {
        --span: 11;
    }

    .u-lg-span-12 {
        --span: 12;
    }
}

@media (min-width: 90rem) {
    .u-xl-span-1 {
        --span: 1;
    }

    .u-xl-span-2 {
        --span: 2;
    }

    .u-xl-span-3 {
        --span: 3;
    }

    .u-xl-span-4 {
        --span: 4;
    }

    .u-xl-span-5 {
        --span: 5;
    }

    .u-xl-span-6 {
        --span: 6;
    }

    .u-xl-span-7 {
        --span: 7;
    }

    .u-xl-span-8 {
        --span: 8;
    }

    .u-xl-span-9 {
        --span: 9;
    }

    .u-xl-span-10 {
        --span: 10;
    }

    .u-xl-span-11 {
        --span: 11;
    }

    .u-xl-span-12 {
        --span: 12;
    }
}

/* ====== OFFSETS (inicio de columna) ==================================== */
.u-start-1 {
    grid-column-start: 1;
}

.u-start-2 {
    grid-column-start: 2;
}

.u-start-3 {
    grid-column-start: 3;
}

.u-start-4 {
    grid-column-start: 4;
}

.u-start-5 {
    grid-column-start: 5;
}

.u-start-6 {
    grid-column-start: 6;
}

.u-start-7 {
    grid-column-start: 7;
}

.u-start-8 {
    grid-column-start: 8;
}

.u-start-9 {
    grid-column-start: 9;
}

.u-start-10 {
    grid-column-start: 10;
}

.u-start-11 {
    grid-column-start: 11;
}

.u-start-12 {
    grid-column-start: 12;
}

@media (min-width: 48rem) {
    .u-md-start-1 {
        grid-column-start: 1;
    }

    .u-md-start-2 {
        grid-column-start: 2;
    }

    .u-md-start-3 {
        grid-column-start: 3;
    }

    .u-md-start-4 {
        grid-column-start: 4;
    }

    .u-md-start-5 {
        grid-column-start: 5;
    }

    .u-md-start-6 {
        grid-column-start: 6;
    }

    .u-md-start-7 {
        grid-column-start: 7;
    }

    .u-md-start-8 {
        grid-column-start: 8;
    }

    .u-md-start-9 {
        grid-column-start: 9;
    }

    .u-md-start-10 {
        grid-column-start: 10;
    }

    .u-md-start-11 {
        grid-column-start: 11;
    }

    .u-md-start-12 {
        grid-column-start: 12;
    }
}

@media (min-width: 64rem) {
    .u-lg-start-1 {
        grid-column-start: 1;
    }

    .u-lg-start-2 {
        grid-column-start: 2;
    }

    .u-lg-start-3 {
        grid-column-start: 3;
    }

    .u-lg-start-4 {
        grid-column-start: 4;
    }

    .u-lg-start-5 {
        grid-column-start: 5;
    }

    .u-lg-start-6 {
        grid-column-start: 6;
    }

    .u-lg-start-7 {
        grid-column-start: 7;
    }

    .u-lg-start-8 {
        grid-column-start: 8;
    }

    .u-lg-start-9 {
        grid-column-start: 9;
    }

    .u-lg-start-10 {
        grid-column-start: 10;
    }

    .u-lg-start-11 {
        grid-column-start: 11;
    }

    .u-lg-start-12 {
        grid-column-start: 12;
    }
}

@media (min-width: 90rem) {
    .u-xl-start-1 {
        grid-column-start: 1;
    }

    .u-xl-start-2 {
        grid-column-start: 2;
    }

    .u-xl-start-3 {
        grid-column-start: 3;
    }

    .u-xl-start-4 {
        grid-column-start: 4;
    }

    .u-xl-start-5 {
        grid-column-start: 5;
    }

    .u-xl-start-6 {
        grid-column-start: 6;
    }

    .u-xl-start-7 {
        grid-column-start: 7;
    }

    .u-xl-start-8 {
        grid-column-start: 8;
    }

    .u-xl-start-9 {
        grid-column-start: 9;
    }

    .u-xl-start-10 {
        grid-column-start: 10;
    }

    .u-xl-start-11 {
        grid-column-start: 11;
    }

    .u-xl-start-12 {
        grid-column-start: 12;
    }
}

/* utilidades rápidas basadas en escala numérica */
.u-mb-4 {
    margin-bottom: var(--space-4);
}

.u-p-4 {
    padding: var(--space-4);
}

/* utilidades semánticas (tokens de Figma) */
.u-p-xs {
    padding: var(--space-pad-xs);
}

.u-p-s {
    padding: var(--space-pad-s);
}

.u-p-m {
    padding: var(--space-pad-m);
}

.u-p-l {
    padding: var(--space-pad-l);
}

.u-p-xl {
    padding: var(--space-pad-xl);
}

.u-py-m {
    padding-block: var(--space-pad-m);
}

.u-py-xl {
    padding-block: var(--space-pad-xl);
}

.u-p-xxl {
    padding: var(--space-pad-xxl);
}

.u-pt-m {
    padding-top: var(--space-pad-m);
}

.u-section-margin-b {
    margin-bottom: var(--space-section-margin);
}

.u-p-generic {
    padding: var(--space-pad-xl) var(--space-section-margin);
}

.u-p-generic-m {
    padding: var(--space-pad-m) var(--space-section-margin);
}

.u-mt-n3 {
    margin-top: -0.1875rem;
}

.flex {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.h-full {
    height: 100%;
}

.radius {
    border-radius: var(--radius-md);
}

[hidden] {
    display: none !important;
}

:root[data-theme=high-contrast] {
    --color-bg: #000;
    --color-fg: #fff;
    --color-brand: #0ff;
    --color-border: #fff;
}

#header {
    max-width: 1440px;
    margin: 0 auto;
}

#main {
    margin: 0 auto;
    max-width: 1440px;
}

#footer {
    max-width: 1440px;
    margin: 0 auto;
}
