.elementor-kit-15886{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Outfit";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Outfit";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;}.elementor-kit-15886 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =========================================================================
   INEDMI — CSS global (ITCSS + BEM)  ·  v1.2 (capas renumeradas 2026-10-12)
   Ubicación: Elementor > Ajustes del sitio > CSS personalizado (Kit 15886).
   Capas (ITCSS, de menor a mayor especificidad):
          01-settings · 02-generic · 03-elements · 04-objects · 05-components ·
          06-utilities · 07-overrides   (sin capa "tools": CSS puro, sin mixins)
   Prefijos: o- objetos · c- componentes · u- utilidades · is-/has- estados
   Regla: cada componente vive UNA sola vez, en 05-components, con sus
   modificadores y media queries juntos. No se añade CSS al final del archivo.
   ========================================================================= */

/* ===== 01-settings ======================================================= */
:root{
  /* Elementor: sin relleno por defecto en contenedores; el espaciado lo dan los componentes (secciones, tarjetas, gutter) */
  --container-default-padding-top:0px; --container-default-padding-right:0px; --container-default-padding-bottom:0px; --container-default-padding-left:0px;
  --color-primary:#001F8E; --color-primary-dark:#00135A; --color-primary-accent:#0066D6;
  --color-secondary:#CDA035; --color-secondary-dark:#7C5C01; --color-secondary-soft:#FFF3A6;
  --color-primary-light:#1B3FB8; --color-secondary-ink:#1A1200;
  --color-text:#1A1D2E; --color-text-muted:#4B5266;
  --color-background:#FFFFFF; --color-surface:#F5F7FC; --color-border:#D9DEEC;
  --color-on-primary:#FFFFFF; --color-on-primary-muted:#E8ECFA; --color-on-primary-line:rgba(255,255,255,.18);

  --font-heading:"Outfit",system-ui,sans-serif; --font-body:"Inter",system-ui,sans-serif;
  --fs-h1:clamp(2.25rem,1.6rem + 2.6vw,3.5rem); --fs-h2:clamp(1.75rem,1.3rem + 1.8vw,2.5rem);
  --fs-h3:clamp(1.375rem,1.15rem + .9vw,1.75rem); --fs-h4:clamp(1.125rem,1.05rem + .4vw,1.375rem);
  --fs-body:1rem; --fs-small:.875rem; --fs-badge:.8125rem; --fs-caption:.75rem;
  --lh-heading:1.15; --lh-body:1.6;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;

  --space-xs:.25rem; --space-sm:.5rem; --space-md:1rem; --space-lg:1.5rem; --space-xl:2.5rem; --space-2xl:4rem;
  --section-y:clamp(3rem,2rem + 4vw,6rem); --container-max:1200px; --gutter:clamp(1rem,.5rem + 2vw,2rem);

  --radius-sm:6px; --radius-md:12px; --radius-lg:20px; --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(0,19,90,.08); --shadow-md:0 6px 20px rgba(0,19,90,.10); --shadow-lg:0 16px 40px rgba(0,19,90,.14);
  --ease:cubic-bezier(.2,.7,.2,1); --dur-fast:150ms; --dur:250ms;
  --tap-min:44px;
  --focus-color:var(--color-primary-accent);
}

/* ===== 02-generic ======================================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6.5rem;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
img,video,svg{max-width:100%;height:auto}

/* ===== 03-elements ======================================================= */
body{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--color-text);background:var(--color-background)}
h1,h2,h3,h4{font-family:var(--font-heading);line-height:var(--lh-heading);color:var(--color-primary);margin:0;text-wrap:balance}
h1{font-size:var(--fs-h1);font-weight:var(--fw-bold)} h2{font-size:var(--fs-h2);font-weight:var(--fw-semibold)}
h3{font-size:var(--fs-h3);font-weight:var(--fw-semibold)} h4{font-size:var(--fs-h4);font-weight:var(--fw-medium)}
p{margin:0 0 var(--space-md)} p:last-child{margin-bottom:0}
ul,ol{margin:0 0 var(--space-md);padding-left:1.25rem}
a{color:var(--color-primary-accent);text-underline-offset:.2em}
a:hover{color:var(--color-primary)}
/* Foco de teclado: contorno real (Elementor sobrescribe box-shadow). Blanco sobre fondos oscuros. */
:is(.c-hero,.c-portal,.c-cta,.c-footer,.c-enroll){--focus-color:var(--color-on-primary)}
body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus-color);outline-offset:3px;box-shadow:none}

/* ===== 04-objects ======================================================== */
/* 04.01  o-page · o-section · o-container · o-grid */
.o-page{width:100%}
.o-section{width:100%;padding-block:var(--section-y);padding-inline:var(--gutter)}
.o-section:nth-of-type(even){background:var(--color-surface)}
.o-container{width:100%;max-width:var(--container-max);margin-inline:auto}
.o-container--narrow{max-width:720px}
.o-grid{display:grid!important;gap:var(--space-lg);grid-template-columns:1fr} /* !important: Elementor fija display flex en el contenedor */
@media (min-width:768px){.o-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))} .o-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1025px){.o-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* 04.02  o-bento (cuadrícula de 6 columnas desde tablet) */
.e-con.e-flex.o-bento{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md)}
@media (min-width:768px){.e-con.e-flex.o-bento{grid-template-columns:repeat(6,minmax(0,1fr))}.o-bento__item--half{grid-column:span 3}.o-bento__item--wide{grid-column:span 4}.o-bento__item--narrow{grid-column:span 2}}

/* ===== 05-components ===================================================== */

/* 05.01  c-button */
.c-button .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--tap-min);padding:.75rem 1.5rem;
  font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:1rem;line-height:1;border-radius:var(--radius-pill);border:2px solid transparent;
  text-decoration:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease)}
.c-button .elementor-button:active{transform:translateY(1px)}
.c-button--primary .elementor-button{background:var(--color-primary);color:var(--color-on-primary)}
.c-button--primary .elementor-button:hover{background:var(--color-primary-dark);color:var(--color-on-primary);box-shadow:var(--shadow-md)}
.c-button--secondary .elementor-button{background:var(--color-secondary);color:var(--color-primary-dark)}
.c-button--secondary .elementor-button:hover{background:var(--color-secondary-soft);color:var(--color-primary-dark)}
.c-button--outline .elementor-button{background:transparent;color:var(--color-on-primary);border-color:currentColor}
.c-button--outline .elementor-button:hover{background:var(--color-on-primary);color:var(--color-primary)}
.c-button--link .elementor-button{background:transparent;color:var(--color-primary-accent);padding-inline:0;min-height:var(--tap-min);border-radius:0}
.c-button--link .elementor-button:hover{color:var(--color-primary);text-decoration:underline}
/* Contraste: el botón primario sobre fondos oscuros pasa a dorado */
:is(.c-hero,.c-cta,.c-portal,.c-enroll) .c-button--primary .elementor-button{background:var(--color-secondary);color:var(--color-primary-dark)}
:is(.c-hero,.c-cta,.c-portal,.c-enroll) .c-button--primary .elementor-button:is(:hover,:focus-visible){background:var(--color-secondary-dark);color:var(--color-primary-dark)}

/* 05.02  c-header / c-nav (una sola fila en todos los tamaños: logo | menú | acción) */
.c-header{z-index:100}
.e-con.c-header__inner{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:var(--space-md)}
.e-con.c-header__brand,.e-con.c-header__actions{flex:0 0 auto;width:auto}
.e-con.c-header__actions{gap:var(--space-sm)}
.e-con.c-header__nav{flex:1 1 auto;width:auto;min-width:0;justify-content:flex-end}
.c-nav .elementor-item{font-family:var(--font-heading);font-weight:var(--fw-medium);color:var(--color-text)!important} /* !important: Elementor aplica el color del menú desde el widget */
.c-nav .elementor-item:hover,.c-nav .elementor-item.elementor-item-active{color:var(--color-primary-accent)!important}
.c-header .elementor-nav-menu--main .elementor-nav-menu{flex-wrap:nowrap}
.c-header .elementor-nav-menu--main .elementor-item{white-space:nowrap;padding-inline:.45rem;font-size:.9375rem}
.c-header__actions .elementor-button{padding:.6rem 1.1rem;font-size:.9375rem;white-space:nowrap}
.elementor-menu-toggle{min-width:var(--tap-min);min-height:var(--tap-min);display:inline-flex;align-items:center;justify-content:center}
@media (min-width:1025px){.elementor-nav-menu--main .elementor-nav-menu li.c-nav__item--mobile{display:none}} /* el acceso al portal solo vive en el menú móvil */
/* 05.03b  c-nav: CTA de inscripción dentro del menú móvil (ítem con clases c-nav__item--mobile c-nav__item--cta) */
.elementor-nav-menu--dropdown li.c-nav__item--cta{padding:var(--space-sm) var(--space-md) var(--space-xs)}
.elementor-nav-menu--dropdown li.c-nav__item--cta>a{display:flex;align-items:center;justify-content:center;min-height:var(--tap-min);border-radius:var(--radius-pill);background:var(--color-secondary);color:var(--color-primary-dark);font-weight:700;text-align:center}
.elementor-nav-menu--dropdown li.c-nav__item--cta>a:hover,.elementor-nav-menu--dropdown li.c-nav__item--cta>a:focus-visible{background:var(--color-primary);color:var(--color-on-primary)}
/* objetivos táctiles cómodos en móvil: migas de pan */
@media (max-width:767px){.c-breadcrumb a{min-height:var(--tap-min);display:inline-flex;align-items:center;padding-inline:.35rem;margin-inline:-.35rem}}
/* 05.03  c-header cápsula flotante: píldora fija sobre el contenido */
.elementor-location-header{position:relative;z-index:100;height:0}
.c-header{position:fixed;inset-block-start:var(--space-xs);inset-inline:0;pointer-events:none;padding-inline:var(--space-sm)}
.admin-bar .c-header{inset-block-start:calc(var(--wp-admin--admin-bar--height,32px) + var(--space-xs))}
.e-con.c-header__inner{position:relative;pointer-events:auto;width:100%;max-width:1120px;margin-inline:auto;min-height:4rem;padding-inline:var(--space-md);border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.96);box-shadow:var(--shadow-md)}
@supports (backdrop-filter:blur(1px)){.e-con.c-header__inner{background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}
.c-header__logo img,.c-header__logo img.attachment-full{max-height:44px;height:44px;width:auto}
.c-header .c-header__cta .elementor-button{background:var(--color-secondary);color:var(--color-primary-dark);font-weight:var(--fw-semibold);border-radius:var(--radius-pill)}
.c-header .c-header__cta .elementor-button:hover,.c-header .c-header__cta .elementor-button:focus-visible{background:var(--color-secondary-soft)}
@media (min-width:1025px){.e-con.c-header__actions{display:flex}}
@media (max-width:1024px){.e-con.c-header__actions{display:none}.c-header .elementor-nav-menu--dropdown{margin-block-start:var(--space-xs)}}
/* 05.04  c-nav: indicador activo, paneles y estados (Elementor pinta #3f444b por defecto) */
.c-nav .elementor-nav-menu--main .elementor-item:before,.c-nav .elementor-nav-menu--main .elementor-item:after{height:2px;background-color:var(--color-secondary)}
.c-header .elementor-nav-menu--dropdown.elementor-nav-menu__container,.c-header .elementor-nav-menu--main .sub-menu{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}
.c-header .elementor-nav-menu--dropdown .elementor-item,.c-header .elementor-nav-menu--main .sub-menu .elementor-sub-item{font-family:var(--font-heading);font-weight:var(--fw-medium);color:var(--color-text);padding:.85rem 1.25rem}
.c-header .elementor-nav-menu--dropdown a:is(:hover,:focus,:active){background:var(--color-surface);color:var(--color-primary)}
.c-header .elementor-nav-menu--dropdown a:focus-visible{outline:2px solid var(--color-primary-accent);outline-offset:-2px}
.c-header .elementor-nav-menu--dropdown a.elementor-item-active,.c-header .elementor-nav-menu--dropdown a.highlighted,.c-header .elementor-nav-menu--main .sub-menu a.elementor-item-active{background:var(--color-surface);box-shadow:inset 3px 0 0 var(--color-secondary)}
.c-header .elementor-nav-menu--dropdown a.elementor-item-active,.c-header .elementor-nav-menu--main .sub-menu a.elementor-item-active{color:var(--color-primary)!important} /* !important: .c-nav .elementor-item fuerza el color del menú */
.c-header .elementor-menu-toggle,.c-header .elementor-menu-toggle:hover{background:transparent;border-radius:var(--radius-pill);color:var(--color-primary)}
.c-header .elementor-menu-toggle svg{fill:currentColor}
.c-header .elementor-nav-menu--dropdown a,.c-header .elementor-menu-toggle{-webkit-tap-highlight-color:transparent}
/* panel móvil: debajo de la píldora y con submenús como lista anidada */
@media (max-width:1024px){
.e-con.c-header__nav,.c-header__nav .elementor-widget-nav-menu,.c-header__nav .elementor-widget-container{position:static}
.c-header .elementor-nav-menu--dropdown.elementor-nav-menu__container{position:absolute;inset-inline:0;top:calc(100% + var(--space-xs));width:auto;margin:0}
}
.c-header .elementor-nav-menu__container.elementor-nav-menu--dropdown .sub-menu{background:transparent;border:0;border-radius:0;box-shadow:none}
.c-header .elementor-nav-menu__container.elementor-nav-menu--dropdown .sub-menu .elementor-sub-item{padding-inline-start:2rem;font-weight:var(--fw-regular)}
/* 05.05  c-search-toggle (lupa del header con panel desplegable, <details> sin JS) */
.e-con.c-header__search{flex:0 0 auto;width:auto;position:static}
.c-header__search .elementor-widget,.c-header__search .elementor-widget-container{position:static}
.c-search-toggle{position:static}
.c-search-toggle__button{list-style:none;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;color:var(--color-primary);cursor:pointer;transition:background-color .2s}
.c-search-toggle__button::-webkit-details-marker{display:none}
.c-search-toggle__button:hover,.c-search-toggle[open] .c-search-toggle__button{background:var(--color-surface)}
.c-search-toggle__button:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}
.c-search-toggle__panel{position:absolute;inset-inline:var(--space-md);inset-block-start:calc(100% + var(--space-xs));max-width:28rem;margin-inline-start:auto;padding:var(--space-md);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.c-search-toggle__label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.c-search-toggle__row{display:flex;gap:var(--space-xs)}
.c-search-toggle__input{flex:1 1 auto;min-width:0;min-height:2.75rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-background);color:var(--color-text);font:inherit}
.c-search-toggle__input:focus-visible{outline:3px solid var(--color-secondary);outline-offset:1px;border-color:var(--color-primary)}
.c-search-toggle__submit{min-height:2.75rem;padding:.5rem 1.25rem;border:0;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-primary);font-family:var(--font-heading);font-weight:var(--fw-semibold);cursor:pointer}
.c-search-toggle__submit:hover{background:var(--color-primary-dark)}
.c-search-toggle__submit:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}

/* 05.06  c-hero (fondo: degradado + resplandores + malla + figuras geométricas "cristal"; solo CSS, sin imágenes) */
.c-hero{position:relative;isolation:isolate;overflow:clip;padding-block:var(--section-y);padding-inline:var(--gutter);color:var(--color-on-primary);
  background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 55%,var(--color-primary-accent) 140%)}
.c-hero::before,.c-hero::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.c-hero::before{inset:0;
  background:
    radial-gradient(circle at 92% 24%,var(--color-secondary) 0 .45rem,transparent .5rem),
    radial-gradient(circle at 80% 72%,transparent 9.4rem,rgba(255,255,255,.2) 9.45rem,rgba(255,255,255,.2) 9.55rem,transparent 9.6rem),
    radial-gradient(38rem 26rem at 88% -8%,color-mix(in srgb,var(--color-secondary) 34%,transparent),transparent 62%),
    radial-gradient(30rem 22rem at 4% 118%,color-mix(in srgb,var(--color-primary-accent) 60%,transparent),transparent 62%),
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px) 0 0/48px 48px}
.c-hero::after{top:50%;right:clamp(-5rem,3vw,6rem);width:clamp(13rem,30vw,25rem);aspect-ratio:1;border-radius:clamp(1.5rem,3vw,2.75rem);
  background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.3);
  box-shadow:0 30px 60px rgba(0,19,90,.35),inset 0 1px 0 rgba(255,255,255,.35);transform:translateY(-50%) rotate(16deg)}
@media (prefers-reduced-motion:no-preference){.c-hero::after{animation:c-hero-float 16s ease-in-out infinite alternate}
  @keyframes c-hero-float{to{transform:translateY(-54%) rotate(23deg)}}}
.c-hero--home{min-height:clamp(420px,70vh,640px);display:flex;align-items:center}
.c-hero--home::after{width:clamp(15rem,34vw,30rem)}
@media (min-width:1025px){.c-hero--home::after{display:none}} /* en escritorio las tarjetas de atajos hacen de cristal */
/* variante compacta: poca altura, cristal reducido, sin anillo grande */
.c-hero--page{padding-block:clamp(1.5rem,1rem + 2.5vw,3rem)}
.c-hero--page,.c-hero--home{padding-block-start:calc(clamp(2.5rem,2rem + 3vw,4.5rem) + 5.5rem)} /* deja sitio a la cápsula fija */
/* cinta dorada (SVG inline) que cruza por detrás del cristal */
.c-hero--page{--hero-ribbon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 300' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%23cda035' stop-opacity='0'/%3E%3Cstop offset='.4' stop-color='%23cda035' stop-opacity='0'/%3E%3Cstop offset='.56' stop-color='%23cda035'/%3E%3Cstop offset='.6' stop-color='%23fff3a6'/%3E%3Cstop offset='.9' stop-color='%23cda035'/%3E%3Cstop offset='1' stop-color='%23cda035' stop-opacity='.25'/%3E%3C/linearGradient%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='5'/%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M-30 230C220 150 460 290 700 190S1010 80 1240 110' fill='none' stroke='url(%23g)' stroke-width='16' opacity='.28' filter='url(%23b)'/%3E%3Cpath d='M-30 230C220 150 460 290 700 190S1010 80 1240 110' fill='none' stroke='url(%23g)' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}
.c-hero--page::before{background:
    var(--hero-ribbon) 0 100%/100% 85% no-repeat,
    radial-gradient(circle at 94% 26%,var(--color-secondary) 0 .35rem,transparent .4rem),
    radial-gradient(30rem 20rem at 88% -20%,color-mix(in srgb,var(--color-secondary) 30%,transparent),transparent 62%),
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/48px 48px}
.c-hero--page .c-hero__content{gap:var(--space-xs)}
.c-hero--page .c-hero__text{font-size:1rem}
.c-hero__eyebrow{display:inline-block;font-family:var(--font-heading);font-weight:var(--fw-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--color-secondary)}
.c-hero__title,.c-hero__title .elementor-heading-title{color:var(--color-on-primary)}
.c-hero__text{max-width:60ch;font-size:1.125rem;color:var(--color-on-primary-muted)}
.c-hero__content{max-width:760px}
.c-hero__text .elementor-post-info{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);margin:0;padding:0;list-style:none}
.c-hero__text .elementor-post-info__item--type-terms{display:inline-block;padding:.2rem .85rem;border-radius:var(--radius-pill);background:var(--color-secondary-soft);color:var(--color-secondary-dark);font-weight:var(--fw-bold);font-size:var(--fs-badge);letter-spacing:.02em}
.c-hero__text .elementor-post-info__item--type-date{color:var(--color-on-primary);opacity:.9}
@media (max-width:767px){.c-hero::after{right:-35%;opacity:.55}}
/* cristal casi transparente: deja ver la cinta */
.c-hero--page::after{right:clamp(1rem,8vw,7rem);width:clamp(7.5rem,17vw,13rem);border-radius:clamp(1rem,2vw,1.75rem);opacity:1;transform:translateY(-50%) rotate(8deg);
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.015) 60%);border:1px solid rgba(255,255,255,.34);
  backdrop-filter:blur(2.5px) saturate(125%);-webkit-backdrop-filter:blur(2.5px) saturate(125%);
  box-shadow:0 26px 50px -24px rgba(0,19,90,.6),inset 0 1px 0 rgba(255,255,255,.55),inset 0 0 28px rgba(255,255,255,.07)}
@media (prefers-reduced-motion:no-preference){.c-hero--page::after{animation:c-hero-glass-float 8s ease-in-out infinite}
  @keyframes c-hero-glass-float{0%,100%{transform:translateY(-50%) rotate(8deg)}50%{transform:translateY(calc(-50% - 14px)) rotate(12deg)}}}
@media (max-width:720px){.c-hero--page::after{top:auto;bottom:1rem;right:-1.5rem;width:6.5rem;transform:rotate(8deg);animation:none;opacity:.85}}
@media (prefers-reduced-transparency:reduce){.c-hero--page::after{backdrop-filter:none;background:rgba(255,255,255,.16)}}

/* 05.07  c-hero (home): mensaje + columna de accesos rápidos (bento) */
.c-hero__layout{display:grid!important;gap:var(--space-lg);align-items:center;grid-template-columns:1fr;width:100%} /* !important: idem o-grid */
@media (min-width:1025px){.c-hero__layout{grid-template-columns:1.35fr 1fr;gap:var(--space-xl)}}
.c-hero--home .c-hero__title,.c-hero--home .c-hero__title .elementor-heading-title{font-size:clamp(2rem,1.4rem + 2.6vw,3.25rem);line-height:1.1;text-wrap:balance}
.single-post .c-hero__title .elementor-heading-title{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.25rem);line-height:1.2}
.single-post .c-hero__content{max-width:880px}
.c-shortcuts{display:grid!important;gap:var(--space-sm);grid-template-columns:1fr 1fr} /* !important: idem o-grid */
.c-shortcuts>.c-shortcut:last-child{grid-column:1/-1}
@media (min-width:1025px){.c-shortcuts{grid-template-columns:1fr}}

/* 05.08  c-shortcut (atajo de acceso rápido: título enlazado que cubre toda la tarjeta) */
.c-shortcut{position:relative;gap:.25rem;padding:var(--space-md) var(--space-md);border-radius:var(--radius-lg);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);transition:background .2s,transform .2s,border-color .2s}
.c-shortcut:hover,.c-shortcut:focus-within{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4)}
@media (prefers-reduced-motion:no-preference){.c-shortcut:hover{transform:translateY(-2px)}}
@media (prefers-reduced-transparency:reduce){.c-shortcut{backdrop-filter:none;background:var(--color-primary-dark)}}
.c-shortcut--accent{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-secondary-ink)}
.c-shortcut--accent:hover,.c-shortcut--accent:focus-within{background:var(--color-secondary-soft);border-color:var(--color-secondary-soft)}
.c-shortcut--accent .c-shortcut__title a,.c-shortcut--accent .c-shortcut__text{color:var(--color-secondary-ink)}
.c-shortcut__title,.c-shortcut__title .elementor-heading-title{margin:0;font:600 1.125rem/1.3 var(--font-heading);color:var(--color-on-primary)}
.c-shortcut__title a{color:inherit;text-decoration:none}
.c-shortcut__title a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.c-shortcut__title a:focus-visible{outline:none}
.c-shortcut:has(.c-shortcut__title a:focus-visible){outline:3px solid var(--focus-color);outline-offset:3px}
.c-shortcut__text{font-size:.875rem;line-height:1.4;color:var(--color-on-primary-muted)}
.c-shortcut__text p{margin:0}
@media (max-width:767px){.c-shortcut__text{display:none}} /* en móvil solo título: tarjetas bajas */
.c-shortcut__links ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem var(--space-md)}
.c-shortcut__links a{display:inline-block;padding-block:.5rem;color:var(--color-on-primary);font-size:.9rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.c-shortcut__links a:hover{color:var(--color-secondary);border-color:var(--color-secondary)}

/* 05.09  c-breadcrumb (migas de pan de Yoast; también emite BreadcrumbList) */
.c-breadcrumb{font-size:.8125rem;color:var(--color-on-primary-muted)}
.c-breadcrumb a{color:var(--color-on-primary);text-decoration:none;display:inline-block;padding-block:.35rem}
.c-breadcrumb a:hover{color:var(--color-secondary);text-decoration:underline}
.c-breadcrumb .breadcrumb_last{color:var(--color-secondary-soft)}

/* 05.10  c-section-header */
.c-section-header--center{text-align:center;align-items:center;margin-inline:auto;max-width:720px}
.c-section-header__eyebrow{font-family:var(--font-heading);font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;font-size:var(--fs-small);color:var(--color-secondary-dark)}
.c-section-header__text{color:var(--color-text-muted)}

/* 05.11  c-card (+ c-level-card, c-card--static, c-card--checklist, c-card--news) */
.c-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-sm);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.c-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.c-card--static:hover{transform:none;box-shadow:var(--shadow-sm)}
.c-card__title,.c-card__title .elementor-heading-title{font-size:var(--fs-h4)}
.c-card__text{color:var(--color-text-muted)}
.c-level-card{border-top:4px solid var(--color-secondary)}
.c-card--checklist ul{margin:0;padding:0;list-style:none}
.c-card--checklist li{position:relative;padding-inline-start:1.75rem;margin-bottom:.5rem}
.c-card--checklist li::before{content:"\2713";position:absolute;inset-inline-start:0;color:var(--color-secondary-dark);font-weight:var(--fw-bold)}
.c-card--news{position:relative;height:100%;padding:0;overflow:hidden}
.c-card--news .c-card__body{display:flex;flex-direction:column;flex:1;padding:var(--space-lg)}
.c-card--news .c-card__media img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .35s}
.c-card--news:hover .c-card__media img{transform:scale(1.03)}
.c-card--news .c-card__meta .elementor-icon-list-items{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin:0;padding:0;list-style:none}
.c-card--news .c-card__meta .elementor-icon-list-item:first-child .elementor-icon-list-text{display:inline-block;padding:.2rem .75rem;border-radius:var(--radius-pill);background:var(--color-secondary-soft);color:var(--color-secondary-dark);font-weight:var(--fw-bold);font-size:var(--fs-badge);letter-spacing:.02em}
.c-card--news .c-card__meta .elementor-icon-list-item:last-child .elementor-icon-list-text{color:var(--color-text-muted);font-size:var(--fs-small)}
.c-card--news .c-card__title a{color:var(--color-primary)}
.c-card--news .c-card__title a::after{content:"";position:absolute;inset:0;z-index:1}
.c-card--news:hover .c-card__title a{color:var(--color-primary-accent)}
@media (prefers-reduced-motion:reduce){.c-card--news .c-card__media img,.c-card--news:hover .c-card__media img{transition:none;transform:none}}
/* 05.12  c-about / c-levels (Inicio): fondos de sección y tres niveles en tarjetas de igual ancho (o-grid--3) */
.o-section.c-about{background:var(--color-background)}
.o-section.c-levels{background:var(--color-surface)}
.c-levels .e-con.e-flex.o-grid{counter-reset:lvl}
.c-levels .c-card.c-level-card{position:relative;overflow:hidden;min-height:20rem;justify-content:flex-end;border:0;border-radius:var(--radius-lg);background:linear-gradient(160deg,var(--color-primary),var(--color-primary-dark));counter-increment:lvl}
.c-levels .c-card.c-level-card:nth-child(2){background:linear-gradient(160deg,var(--color-primary-light),var(--color-primary))}
.c-levels .c-card.c-level-card:nth-child(3){background:linear-gradient(160deg,var(--color-primary-dark),var(--color-primary-light))}
.c-levels .c-level-card::before{content:"0" counter(lvl);position:absolute;inset-block-start:var(--space-sm);inset-inline-end:var(--space-md);font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:4.5rem;line-height:1;color:color-mix(in srgb,var(--color-secondary-soft) 28%,transparent);pointer-events:none}
.c-levels .c-level-card .c-card__title .elementor-heading-title{color:var(--color-on-primary)}
.c-levels .c-level-card .c-card__text,.c-levels .c-level-card .c-card__text p{color:var(--color-on-primary-muted)}
.c-levels .c-level-card .c-button--link .elementor-button{color:var(--color-secondary-soft)}
.c-levels .c-level-card{--focus-color:var(--color-on-primary)}

/* 05.13  c-motto (Inicio): banda azul con tipografía grande */
.o-section.c-motto{position:relative;overflow:hidden;text-align:center;background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));color:var(--color-on-primary);--focus-color:var(--color-on-primary)}
.c-motto::before{content:"";position:absolute;inset-inline-end:-8%;inset-block-start:-40%;width:min(46vw,34rem);aspect-ratio:1;border-radius:50%;border:2px solid color-mix(in srgb,var(--color-secondary) 45%,transparent);pointer-events:none}
.c-motto__text{max-width:62ch;margin-inline:auto}
.c-motto .c-motto__text,.c-motto .c-motto__text p{color:var(--color-on-primary-muted)}
.c-motto__title,.c-motto__title .elementor-heading-title{font-size:clamp(2.4rem,1.5rem + 5vw,5rem);line-height:1.05;color:var(--color-secondary-soft)}

/* 05.14  c-cta (+ c-cta--gold: cierre dorado de Inicio) */
.o-section.c-cta{background:var(--color-primary);color:var(--color-on-primary)}
.c-cta .o-container{align-items:center;justify-content:space-between;gap:var(--space-lg)}
.c-cta__title,.c-cta__title .elementor-heading-title{color:var(--color-on-primary)}
.c-cta__text{color:var(--color-on-primary-muted)}
.o-section.c-cta--gold{background:var(--color-secondary);color:var(--color-primary-dark);--focus-color:var(--color-primary-dark)}
.c-cta--gold .c-cta__title,.c-cta--gold .c-cta__title .elementor-heading-title,.c-cta--gold .c-cta__text,.c-cta--gold .c-cta__text p{color:var(--color-primary-dark)}
.o-section.c-cta--gold .c-button--primary .elementor-button{background:var(--color-primary-dark);color:var(--color-on-primary)}
.o-section.c-cta--gold .c-button--primary .elementor-button:is(:hover,:focus-visible){background:var(--color-primary);color:var(--color-on-primary)}

/* 05.15  c-portal (acceso a Control Académic en Inicio): fondo claro para alternar con el lema */
.o-section.c-portal{background:var(--color-background);color:var(--color-text);--focus-color:var(--color-primary)}
.e-con.c-portal__inner{align-items:center;justify-content:space-between}
.e-con.c-portal__content{flex:1 1 28rem;width:auto;max-width:44rem}
.e-con.c-portal__actions{flex:0 0 auto;width:auto}
.c-portal .c-portal__eyebrow,.c-portal .c-portal__eyebrow p{color:var(--color-secondary-dark);font-weight:var(--fw-bold);font-size:var(--fs-small);letter-spacing:.08em;text-transform:uppercase;margin:0}
.c-portal .c-portal__title .elementor-heading-title{color:var(--color-primary)}
.c-portal .c-portal__text,.c-portal .c-portal__text p,.c-portal .c-portal__text li{color:var(--color-text-muted)}
.c-portal__text ul{margin:var(--space-sm) 0 0;padding-inline-start:1.25rem}
@media (max-width:767px){.e-con.c-portal__actions{width:100%}.c-portal__actions .elementor-button{width:100%;justify-content:center}}

/* 05.16  c-timeline: proceso con línea que se completa al hacer scroll (CSS puro; estado final si no hay soporte o hay reduced-motion) */
.c-timeline{--tl-gap:var(--space-xl);--tl-dot:3rem;position:relative;display:flex;flex-direction:column;gap:var(--tl-gap)}
.c-timeline>.e-con.c-timeline__item{--width:100%}
.c-timeline__item{position:relative;align-items:flex-start;gap:var(--space-lg)}
.c-timeline__item::before,.c-timeline__item::after{content:"";position:absolute;inset-inline-start:calc(var(--tl-dot)/2 - 1.5px);top:var(--tl-dot);height:calc(100% - var(--tl-dot) + var(--tl-gap));width:3px;border-radius:2px}
.c-timeline__item::before{background:var(--color-border)}
.c-timeline__item::after{background:linear-gradient(var(--color-primary-accent),var(--color-secondary));transform-origin:top}
.c-timeline__item:last-child::before,.c-timeline__item:last-child::after{display:none}
.c-timeline__marker{flex:none;display:grid;place-items:center;width:var(--tl-dot);height:var(--tl-dot);border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);
  font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:1.375rem;z-index:1;box-shadow:0 0 0 6px color-mix(in srgb,var(--color-secondary) 35%,transparent)}
.c-timeline__marker .elementor-heading-title{font:inherit;color:inherit;line-height:1}
.c-timeline__item>.e-con.c-timeline__body{--width:auto;flex:1 1 0;min-width:0;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-sm)}
.c-timeline__title,.c-timeline__title .elementor-heading-title{font-size:var(--fs-h4)}
.c-timeline__item--finish .c-timeline__marker{background:var(--color-secondary);color:var(--color-primary-dark)}
.c-timeline__item--finish>.e-con.c-timeline__body{background:linear-gradient(135deg,var(--color-background),var(--color-secondary-soft));border:2px solid var(--color-secondary)}
.c-timeline__item--finish .c-timeline__title,.c-timeline__item--finish .c-timeline__title .elementor-heading-title{font-size:var(--fs-h3);color:var(--color-primary)}
.c-timeline__item--finish .c-button{margin-top:var(--space-sm)}
@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){
  .c-timeline__item::after{transform:scaleY(0);animation:c-tl-fill linear both;animation-timeline:view();animation-range:cover 38% cover 72%}
  .c-timeline__marker{animation:c-tl-dot linear both;animation-timeline:view();animation-range:cover 30% cover 42%}
  .c-timeline__item--finish .c-timeline__marker{animation-name:c-tl-dot-finish}
  .c-timeline__body{animation:c-tl-in linear both;animation-timeline:view();animation-range:entry 5% entry 45%}
  @keyframes c-tl-fill{to{transform:scaleY(1)}}
  @keyframes c-tl-dot{from{background:var(--color-background);color:var(--color-primary);box-shadow:inset 0 0 0 3px var(--color-border),0 0 0 0 transparent}}
  @keyframes c-tl-dot-finish{from{background:var(--color-background);color:var(--color-secondary-dark);box-shadow:inset 0 0 0 3px var(--color-border),0 0 0 0 transparent}}
  @keyframes c-tl-in{from{opacity:.25;transform:translateY(1.25rem)}}
}}
@media (max-width:767px){.c-timeline{--tl-dot:2.5rem}.c-timeline__item{gap:var(--space-md)}.c-timeline__item>.e-con.c-timeline__body{padding:var(--space-md)}}

/* 05.17  c-admission (lista + tarjeta fija) / c-enroll */
.e-con.c-admission{align-items:flex-start;gap:var(--space-2xl)}
.c-admission>.e-con.c-timeline{--width:auto;flex:1 1 0;min-width:0}
.c-admission>.e-con.c-enroll{--width:21rem;flex:0 0 21rem;align-self:flex-start;position:sticky;top:7rem;gap:var(--space-sm);padding:var(--space-lg);
  border-radius:calc(var(--radius-md)*1.5);background:linear-gradient(160deg,var(--color-primary),var(--color-primary-dark));color:var(--color-on-primary);box-shadow:var(--shadow-lg)}
.c-enroll__eyebrow,.c-enroll__eyebrow .elementor-heading-title{font-family:var(--font-heading);font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;font-size:var(--fs-small);color:var(--color-secondary)}
.c-enroll__price,.c-enroll__price .elementor-heading-title{margin:0;font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:clamp(2.5rem,4vw,3.25rem);line-height:1;color:var(--color-on-primary);font-variant-numeric:tabular-nums}
.c-enroll__text,.c-enroll__help{color:color-mix(in srgb,var(--color-on-primary) 85%,transparent);font-size:var(--fs-small)}
.c-enroll__text p,.c-enroll__help p{margin:0}
.c-enroll .c-button .elementor-button{width:100%}
@media (max-width:1024px){.c-admission>.e-con.c-enroll{--width:100%;flex:none;align-self:stretch;position:static;order:-1}}
/* los contenedores de este bloque no llevan padding de Elementor */
.e-con.c-admission,.e-con.c-timeline,.e-con.c-timeline__item,.e-con.c-payment{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}

/* 05.18  c-payment (alternativas de pago dentro de un paso) */
.c-payment{gap:var(--space-md);margin-top:var(--space-sm);align-items:stretch}
.c-payment__option{flex:1 1 0;min-width:0;gap:var(--space-xs);padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}
.c-payment__title,.c-payment__title .elementor-heading-title{font-size:var(--fs-body);color:var(--color-primary)}
.c-payment__text{font-size:var(--fs-small)}
.c-payment__text p{margin:0}
@media (max-width:767px){.c-payment{flex-direction:column}}

/* 05.19  c-offer (niveles como chips) */
.c-offer ul{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:0;padding:0;list-style:none}
.c-offer li{padding:.4rem 1rem;border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);font-weight:var(--fw-semibold);color:var(--color-primary)}

/* 05.20  c-table */
.c-table-wrap{overflow-x:auto}
.c-table{width:100%;border-collapse:collapse;font-size:var(--fs-small)}
.c-table__cell{padding:.75rem 1rem;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}
.c-table__cell--head{width:34%;font-family:var(--font-heading);font-weight:var(--fw-semibold);color:var(--color-primary);background:var(--color-surface)}
@media (max-width:767px){.c-table__row{display:block;margin-bottom:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}
  .c-table__cell{display:block;width:100%;border:0}}

/* 05.21  c-form */
.c-form .elementor-field-group{margin-bottom:0}
.c-form .elementor-field-label{display:block;margin-bottom:var(--space-sm);font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:var(--fs-small);color:var(--color-primary)}
.c-form .elementor-field-textual{min-height:3rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem 1rem;font:inherit;background:var(--color-background);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.c-form textarea.elementor-field-textual{min-height:9rem}
.c-form .elementor-field-textual:focus{border-color:var(--color-primary-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-accent) 20%,transparent)}
.c-form .e-form__buttons{margin-top:var(--space-lg)}
.c-form .elementor-button{min-height:3rem;padding:.875rem 2rem;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-pill);font-family:var(--font-heading);font-weight:var(--fw-semibold)}
.c-form .elementor-button:hover{background:var(--color-primary-dark)}

/* 05.22  c-search */
.c-search .elementor-search-form__input{min-height:var(--tap-min)}

/* 05.23  c-prose / c-note / c-article */
.c-prose{max-width:75ch}
.c-prose img{border-radius:var(--radius-md)}
.c-note,.c-note *{font-size:var(--fs-small);color:var(--color-secondary-dark)}
.c-article .o-container>.elementor-widget.c-article__image,.c-article .o-container>.elementor-widget.c-prose,.c-article .o-container>.elementor-widget.c-article__nav{width:100%;max-width:46rem;align-self:center}
.c-article .c-article__image img{display:block;width:100%;height:clamp(11rem,30vw,17rem);object-fit:cover;border-radius:var(--radius-lg)}
.c-article__nav .elementor-post-navigation{gap:var(--space-md)}

/* 05.24  c-contact (tarjetas + lista de datos con icono) y c-map */
.c-contact .o-grid--2{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}
.c-contact .c-card{padding:var(--space-xl);gap:var(--space-lg)}
.c-contact .c-card__title{margin-bottom:var(--space-xs)}
.c-contact-list .elementor-icon-list-items{display:flex;flex-direction:column;gap:var(--space-md);margin:0;padding:0}
.c-contact-list .elementor-icon-list-item,.c-contact-list .elementor-icon-list-item>a{display:flex;align-items:center;gap:var(--space-md);text-decoration:none}
.c-contact-list .elementor-icon-list-item>a{flex:1;min-width:0}
.c-contact-list .elementor-icon-list-icon{display:flex;align-items:center;justify-content:center;flex:none;width:2.75rem;height:2.75rem;padding:0;border-radius:50%;background:var(--color-surface);color:var(--color-primary);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.c-contact-list .elementor-icon-list-icon i{display:block;width:auto;font-size:1.125rem;line-height:1}
.c-contact-list .elementor-icon-list-icon svg{display:block;width:1.125rem;height:1.125rem;fill:currentColor}
.c-nav .e-font-icon-svg{fill:currentColor}
/* reCAPTCHA v3: insignia oculta; el aviso legal que exige Google va en cada formulario (.c-form__legal) */
.grecaptcha-badge{visibility:hidden}
.c-form__legal{font-size:var(--fs-caption);line-height:1.5;color:var(--color-text-muted)}
.c-form__legal p{margin:0}
.c-form__legal a{color:inherit;text-decoration:underline}
.c-contact-list .elementor-icon-list-text{display:flex;flex-direction:column;padding:0;color:var(--color-text);text-decoration:none}
.c-contact-list__label,.c-contact-list__label .elementor-heading-title{display:block;font-family:var(--font-heading);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}
.c-contact-list__value{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--color-text)}
.c-contact-list a:is(:hover,:focus-visible) .c-contact-list__value{color:var(--color-primary-accent)}
.c-contact-list a:is(:hover,:focus-visible) .elementor-icon-list-icon{background:var(--color-primary);color:var(--color-on-primary)}
.c-contact .c-social{margin-top:calc(var(--space-sm) * -1)}
.c-map .c-map__embed iframe{display:block;width:100%;height:26rem;min-height:0;border:0;border-radius:var(--radius-md)}
.c-map .c-button{margin-top:var(--space-md)}
@media (max-width:1024px){.c-contact .o-grid--2{grid-template-columns:1fr}}
@media (max-width:767px){.c-contact .c-card{padding:var(--space-lg)}.c-map .c-map__embed iframe{height:20rem}}

/* 05.25  c-social (widget Social Icons) */
.c-social{--social-fg:var(--color-primary);--social-hover-bg:var(--color-primary);--social-hover-fg:var(--color-on-primary)}
.c-social .elementor-social-icon{width:44px;height:44px;border-radius:50%;background:transparent;border:1px solid currentColor;color:var(--social-fg);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.c-social .elementor-social-icon i{color:inherit;font-size:18px}
.c-social .elementor-social-icon svg{fill:currentColor;width:18px;height:18px}
.c-social .elementor-social-icon:is(:hover,:focus-visible){background:var(--social-hover-bg);color:var(--social-hover-fg)}

/* 05.26  c-filter (filtro de taxonomía en Actualidad) */
.c-filter .e-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm);margin-block-end:var(--space-xl)}
.c-filter .e-filter-item{order:0;padding:.5rem 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-background);color:var(--color-text);font-weight:var(--fw-semibold);font-size:var(--fs-small);line-height:1.2;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.c-filter .e-filter-item[data-filter="__all"]{order:-1}
.c-filter .e-filter-item:hover{border-color:var(--color-primary);color:var(--color-primary)}
.c-filter .e-filter-item[aria-pressed="true"]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}

/* 05.27  c-error (404) */
.c-error{min-height:70vh;display:flex;align-items:center;text-align:center;padding-block-end:var(--section-y)}
.c-error__code,.c-error__code .elementor-heading-title{font-family:var(--font-heading);font-size:clamp(5rem,4rem + 8vw,9rem);font-weight:var(--fw-bold);line-height:1;color:var(--color-secondary)}

/* 05.28  c-footer: marca | navegación | contacto con rótulos; legal con autoría */
.c-footer{position:relative;background:var(--color-primary-dark);color:var(--color-on-primary-muted);padding-block:var(--space-xl) var(--space-md);padding-inline:var(--gutter)}
.c-footer::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--color-secondary),transparent 70%)}
.c-footer a{color:var(--color-on-primary);text-decoration:none}
.c-footer a:hover{color:var(--color-secondary);text-decoration:underline}
.c-footer__grid{display:grid!important;gap:var(--space-lg);grid-template-columns:1fr} /* !important: idem o-grid */
@media (min-width:768px){.c-footer__grid{grid-template-columns:1fr 1fr}.c-footer__contact{grid-column:1/-1}}
@media (min-width:1025px){.c-footer__grid{grid-template-columns:1.2fr 1.1fr 1.5fr}.c-footer__contact{grid-column:auto}}
/* marca: escudo + nombre en dos líneas (lockup horizontal); redes debajo */
.e-con.e-flex.c-footer__brand{display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-sm) var(--space-md);text-align:left}
.c-footer__brand .c-footer__social{grid-column:1/-1}
.c-footer__brand .elementor-widget{text-align:left}
.c-footer__social .elementor-social-icons-wrapper{justify-content:flex-start;gap:.75rem}
.c-footer__logo{position:relative}
.c-footer__logo::before{content:"";position:absolute;inset:-14%;background:radial-gradient(circle,rgba(255,255,255,.1),transparent 65%);pointer-events:none} /* resplandor sutil: separa el borde azul del fondo */
.c-footer__logo img{position:relative;display:block;width:5.5rem;height:5.5rem;margin-left:-.15rem;object-fit:contain}
.c-footer__name{font:600 .75rem/1.5 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--color-secondary)}
.c-footer__motto{margin-top:.35rem;font-size:.85rem;color:var(--color-on-primary-muted)}
.c-footer__social{--icon-size:1rem}
.c-footer__social .elementor-social-icon{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border-radius:50%;background:var(--color-secondary);border:0;color:var(--color-primary-dark);transition:background .2s}
.c-footer__social .elementor-social-icon i{color:inherit}
.c-footer__social .elementor-social-icon svg{fill:currentColor;width:.9rem;height:.9rem}
.c-footer__social .elementor-social-icon:hover,.c-footer__social .elementor-social-icon:focus-visible{background:var(--color-secondary-soft);color:var(--color-primary-dark)}
.c-footer__tagline{font-size:var(--fs-small);line-height:1.5}
.c-footer__tagline p{margin:0}
.c-footer__title,.c-footer__title .elementor-heading-title{margin:0 0 var(--space-xs);font:600 .75rem/1.4 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-secondary)}
.c-footer__list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:var(--space-md);font-size:.9rem}
.c-footer__list a{display:inline-flex;align-items:center;min-height:2.5rem;padding-block:0}
.c-footer__data{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;column-gap:var(--space-lg);row-gap:0;font-size:.9rem}
.c-footer__item{display:flex;align-items:center;gap:var(--space-sm);min-width:0;min-height:2.5rem}
.c-footer__item--address,.c-footer__item--email{flex-basis:100%}
.c-footer__item::before{content:"";flex:none;width:1.25rem;height:1.25rem;background:var(--color-secondary);-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.c-footer__item--address{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23000%22%3E%3Cpath%20d%3D%22M12%202C8.13%202%205%205.13%205%209c0%205.25%207%2013%207%2013s7-7.75%207-13c0-3.87-3.13-7-7-7zm0%209.5a2.5%202.5%200%201%201%200-5%202.5%202.5%200%200%201%200%205z%22%2F%3E%3C%2Fsvg%3E")}
.c-footer__item--email{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23000%22%3E%3Cpath%20d%3D%22M20%204H4c-1.1%200-1.99.9-1.99%202L2%2018c0%201.1.9%202%202%202h16c1.1%200%202-.9%202-2V6c0-1.1-.9-2-2-2zm0%204-8%205-8-5V6l8%205%208-5v2z%22%2F%3E%3C%2Fsvg%3E")}
.c-footer__item--phone{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23000%22%3E%3Cpath%20d%3D%22M6.62%2010.79c1.44%202.83%203.76%205.14%206.59%206.59l2.2-2.2c.27-.27.67-.36%201.02-.24%201.12.37%202.33.57%203.57.57.55%200%201%20.45%201%201V20c0%20.55-.45%201-1%201-9.39%200-17-7.61-17-17%200-.55.45-1%201-1h3.5c.55%200%201%20.45%201%201%200%201.25.2%202.45.57%203.57.11.35.03.74-.25%201.02l-2.2%202.2z%22%2F%3E%3C%2Fsvg%3E")}
.c-footer__item--whatsapp{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23000%22%3E%3Cpath%20d%3D%22M17.47%2014.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94%201.16-.17.2-.35.22-.64.07-.3-.15-1.26-.46-2.39-1.47-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.2-.24-.58-.49-.5-.67-.51h-.57c-.2%200-.52.07-.79.37-.27.3-1.04%201.02-1.04%202.48s1.07%202.88%201.21%203.07c.15.2%202.1%203.2%205.08%204.49.71.3%201.26.49%201.69.63.71.23%201.36.2%201.87.12.57-.08%201.76-.72%202-1.41.25-.7.25-1.29.17-1.41-.07-.12-.27-.2-.57-.35zM12.05%2021.8h-.01a9.87%209.87%200%200%201-5.03-1.38l-.36-.21-3.74.98%201-3.65-.24-.37a9.86%209.86%200%200%201-1.51-5.26c0-5.45%204.44-9.88%209.89-9.88%202.64%200%205.12%201.03%206.99%202.9a9.83%209.83%200%200%201%202.89%206.99c0%205.45-4.44%209.88-9.88%209.88zM20.46%203.49A11.82%2011.82%200%200%200%2012.05%200C5.5%200%20.16%205.34.16%2011.89c0%202.1.55%204.14%201.59%205.95L.06%2024l6.3-1.65a11.88%2011.88%200%200%200%205.68%201.45h.01c6.55%200%2011.89-5.34%2011.89-11.89%200-3.18-1.24-6.17-3.48-8.41z%22%2F%3E%3C%2Fsvg%3E")}
.c-footer__item--mobile{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23000%22%3E%3Cpath%20d%3D%22M16%201H8C6.34%201%205%202.34%205%204v16c0%201.66%201.34%203%203%203h8c1.66%200%203-1.34%203-3V4c0-1.66-1.34-3-3-3zm-2%2020h-4v-1h4v1zm3.25-3H6.75V4h10.5v14z%22%2F%3E%3C%2Fsvg%3E")}
.c-footer__label{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0} /* rótulo solo para lector de pantalla */
.c-footer__value{min-width:0;overflow-wrap:anywhere}
.c-footer__data a{display:inline-block;padding-block:.4rem}
.c-footer__legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem var(--space-md);border-top:1px solid var(--color-on-primary-line);padding-top:var(--space-md);font-size:.8rem}
.c-footer__legal p{margin:0}
.c-footer__legal>.elementor-widget{width:max-content;max-width:100%}
.c-footer__legal a{display:inline-block;padding-block:.4rem}

/* 05.29  c-identity (datos clave + tabla), c-keyfact */
.e-con.e-flex.c-identity__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);align-items:start}
.e-con.e-flex.c-keyfacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}
.c-keyfact{background:var(--color-background);border:1px solid var(--color-border);border-top:3px solid var(--color-secondary);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-sm)}
.c-keyfact__label .elementor-heading-title{font-size:var(--fs-caption);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}
.c-keyfact__value .elementor-heading-title{font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:var(--fs-h4);line-height:1.2;color:var(--color-primary);overflow-wrap:anywhere}
.c-identity .c-table-wrap{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}
@media (min-width:900px){.e-con.e-flex.c-identity__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}}
/* 05.30  c-card--featured / --accent (modificadores de 05.11) */
.c-card--featured{background:linear-gradient(160deg,var(--color-primary-dark),var(--color-primary));border:0;overflow:hidden}
.c-card--featured .c-card__title .elementor-heading-title{color:var(--color-secondary-soft)}
.c-card--featured .c-card__text,.c-card--featured .c-card__text *{color:var(--color-on-primary-muted)}
.c-card--featured::after{content:"";position:absolute;inset-inline-end:-2rem;inset-block-end:-2rem;width:8rem;aspect-ratio:1;border-radius:50%;border:2px solid color-mix(in srgb,var(--color-secondary) 50%,transparent);pointer-events:none}
.c-card--accent{border-inline-start:4px solid var(--color-secondary)}
/* 05.31  c-symbols (escudo + bandera | texto), c-tags */
.e-con.e-flex.c-symbols__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:center}
.e-con.e-flex.c-symbols__art{align-items:center}
.c-symbols__shield,.c-symbols__flag{text-align:center}
.c-symbols__shield img{width:min(14rem,60vw);height:auto;filter:drop-shadow(0 8px 20px rgba(0,19,90,.25))}
.c-symbols__flag img{width:min(22rem,100%);height:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}
.c-tags__list{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:0;padding:0;list-style:none}
.c-tags__item{font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:var(--fs-small);letter-spacing:.12em;text-transform:uppercase;background:var(--color-primary);color:var(--color-on-primary);padding:.35rem .9rem;border-radius:var(--radius-pill)}
@media (min-width:900px){.e-con.e-flex.c-symbols__layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
/* 05.32  c-hymn (letra en dos columnas + reproductor nativo) */
.c-hymn__card{padding:var(--space-lg)}
.e-con.e-flex.c-hymn__lyrics{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md)}
.c-hymn__verses p{margin:0 0 1rem;color:var(--color-text-muted)}
.c-hymn__verses .c-hymn__credit{color:var(--color-text)}
.c-hymn__audio{display:block;width:100%;accent-color:var(--color-primary)}
@media (min-width:768px){.c-hymn__card{padding:var(--space-xl)}.e-con.e-flex.c-hymn__lyrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl)}}
/* 05.33  c-team / c-person (fotos circulares con aro dorado) */
.c-team__title .elementor-heading-title{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--fs-h4)}
.c-team__title .elementor-heading-title::after{content:"";flex:1;height:1px;background:var(--color-border)}
.e-con.e-flex.c-team__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}
.e-con.e-flex.c-person{align-items:center;text-align:center}
.c-person__photo img{width:100%;max-width:11rem;aspect-ratio:1;object-fit:cover;object-position:50% 20%;border-radius:50%;border:3px solid var(--color-background);box-shadow:0 0 0 2px var(--color-secondary)}
.c-person__name .elementor-heading-title{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--color-text)}
.c-person__badge .elementor-heading-title{display:inline-block;padding:.15rem .7rem;border-radius:var(--radius-pill);background:var(--color-secondary-soft);color:var(--color-secondary-dark);font-size:var(--fs-badge);font-weight:var(--fw-semibold);letter-spacing:.02em}
.c-person__role .elementor-heading-title{font-size:var(--fs-small);font-weight:var(--fw-regular);color:var(--color-text-muted)}
@media (min-width:640px){.e-con.e-flex.c-team__grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* 05.34  c-lead / c-milestone (cifra de años calculada con [inedmi_anios]) */
.e-con.e-flex.c-lead__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:center}
.c-milestone{background:linear-gradient(160deg,var(--color-primary-dark),var(--color-primary));border-radius:var(--radius-lg);padding:var(--space-xl);overflow:hidden}
.c-milestone::after{content:"";position:absolute;inset-inline-end:-2.5rem;inset-block-end:-2.5rem;width:10rem;aspect-ratio:1;border-radius:50%;border:2px solid color-mix(in srgb,var(--color-secondary) 50%,transparent);pointer-events:none}
.c-milestone__number{font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:clamp(4rem,3rem + 5vw,6.5rem);line-height:1;color:var(--color-secondary-soft)}
.c-milestone__label .elementor-heading-title{font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:var(--fs-h4);letter-spacing:.12em;text-transform:uppercase;color:var(--color-on-primary)}
@media (min-width:900px){.e-con.e-flex.c-lead__layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
/* 05.35  c-video (iframe youtube-nocookie con loading=lazy: accesible, sin JavaScript) */
.c-video__player{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.c-video__frame{display:block;width:100%;aspect-ratio:16/9;border:0}

/* 05.36  c-quote (frase destacada con filo dorado) */
.c-quote,.c-quote *{font-family:var(--font-heading);font-weight:var(--fw-medium);font-size:clamp(1.2rem,1rem + 1vw,1.6rem);line-height:1.35;color:var(--color-primary)}
.c-quote{max-width:46rem;padding-block:var(--space-xs);padding-inline-start:var(--space-lg);border-inline-start:4px solid var(--color-secondary)}
.c-quote p{margin:0}
/* 05.37  c-video-card (video + título + descripción) */
.c-video-card__title .elementor-heading-title{font-size:var(--fs-h4);color:var(--color-primary)}
.c-video-card__text,.c-video-card__text p{margin:0;color:var(--color-text-muted);font-size:var(--fs-small)}
/* 05.38  c-photo-grid (+ --featured, --pair; widget Image Gallery como cuadrícula con ampliación) */
.c-photo-grid .gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}
/* Elementor fija .gallery-item{max-width:25%} (columns-4) con 4 clases: se iguala y supera con la clase del widget */
.elementor-widget-image-gallery.c-photo-grid .gallery[class*="gallery-columns"] .gallery-item{width:auto;max-width:none;margin:0;padding:0}
.c-photo-grid .gallery-icon a{display:block;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md)}
.c-photo-grid .gallery-icon a:focus-visible{outline:3px solid var(--color-secondary);outline-offset:3px}
.c-photo-grid .gallery-icon img{display:block;width:100%;height:auto;border-radius:var(--radius-md)}
.c-photo-grid .gallery-caption{margin:var(--space-sm) 0 0;padding:0;text-align:center;font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:var(--fs-small);color:var(--color-text)}
@media (min-width:768px){.c-photo-grid .gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* --featured: la primera foto ocupa todo el ancho en móvil y 2×2 desde tablet; todas se recortan a 4:3 (el orden lo define la galería de Elementor) */
.c-photo-grid--featured .gallery-item,.c-photo-grid--featured .gallery-icon,.c-photo-grid--featured .gallery-icon a{height:100%}
.c-photo-grid--featured .gallery-icon img{height:100%;aspect-ratio:4/3;object-fit:cover}
.c-photo-grid--featured .gallery-item:first-child{grid-column:span 2}
@media (min-width:768px){.c-photo-grid--featured .gallery-item:first-child{grid-row:span 2}}
/* --pair: dos fotos grandes (4:3): una columna en móvil, lado a lado desde tablet */
.c-photo-grid--pair .gallery{grid-template-columns:minmax(0,1fr)}
.c-photo-grid--pair .gallery-icon img{aspect-ratio:4/3;object-fit:cover}
@media (min-width:768px){.c-photo-grid--pair .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* --two: 4 fotos en 2×2 en todos los tamaños; --three: 6 fotos en 3×2 desde tablet (2 columnas en móvil) */
.c-photo-grid--two .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.c-photo-grid--two .gallery-icon img,.c-photo-grid--three .gallery-icon img{aspect-ratio:4/3;object-fit:cover}
@media (min-width:768px){.c-photo-grid--three .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* 05.39 c-maintenance: página única del modo mantenimiento (plantilla PAGE – MANTENIMIENTO, lienzo sin cabecera ni pie) */
.c-maintenance{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-xl) var(--gutter);text-align:center;color:var(--color-on-primary);background:radial-gradient(900px 400px at 85% -10%,color-mix(in srgb,var(--color-secondary) 28%,transparent),transparent 60%),radial-gradient(700px 400px at 0% 110%,color-mix(in srgb,var(--color-primary-light) 45%,transparent),transparent 60%),linear-gradient(160deg,var(--color-primary),var(--color-primary-dark))}
.c-maintenance__seal{width:96px;height:96px;border:3px solid var(--color-secondary);border-radius:50%;overflow:hidden}
.c-maintenance__seal img{display:block;width:100%;height:100%;object-fit:cover}
.c-maintenance__eyebrow .elementor-heading-title{margin:0;font-size:var(--fs-badge);font-weight:var(--fw-bold);letter-spacing:.2em;text-transform:uppercase;color:var(--color-secondary)}
.c-maintenance__title .elementor-heading-title{max-width:18ch;margin-inline:auto;font-family:var(--font-heading);font-size:clamp(1.8rem,5vw,2.8rem);line-height:var(--lh-heading);text-wrap:balance;color:inherit}
.c-maintenance .c-maintenance__text{max-width:46ch}
.c-maintenance__text p,.c-maintenance__meta p{margin:0;color:var(--color-on-primary-muted)}
.c-maintenance__meta{font-size:var(--fs-small)}

/* 05.39  c-careers + c-steps */
.e-con.e-flex.c-careers__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:start}
@media (min-width:900px){.e-con.e-flex.c-careers__layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
.c-careers__info{display:flex;flex-direction:column;gap:var(--space-md)}
.c-careers__card{padding:var(--space-lg)}
@media (min-width:768px){.c-careers__card{padding:var(--space-xl)}}
.c-stepper{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-md);counter-reset:step}
.c-stepper__item{display:grid;grid-template-columns:2.5rem 1fr;column-gap:var(--space-sm);counter-increment:step}
.c-stepper__item::before{content:counter(step);grid-row:span 2;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);font-family:var(--font-heading);font-weight:var(--fw-bold)}
.c-stepper__title{display:block;color:var(--color-primary);font-weight:var(--fw-semibold)}
.c-stepper__text{display:block;color:var(--color-text-muted)}

/* 05.40  c-levelnav + c-levelnext */
.c-levelnav{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-block-end:var(--space-lg)}
.c-levelnav__link{display:inline-flex;align-items:center;min-height:2.75rem;padding:.55rem 1.1rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text);font-family:var(--font-heading);font-weight:var(--fw-semibold);text-decoration:none;transition:background-color .2s,color .2s}
.c-levelnav__link:hover{border-color:var(--color-primary);color:var(--color-primary)}
.c-levelnav__link[aria-current="page"]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}
.c-levelnav__link:focus-visible,.c-levelnext__link:focus-visible{outline:3px solid var(--color-secondary);outline-offset:3px}
.c-levelnext{padding-block:var(--space-lg)}
.c-levelnext__nav{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);justify-content:space-between}
.c-levelnext__link{display:inline-flex;align-items:center;gap:.4em;min-height:2.75rem;color:var(--color-primary);font-family:var(--font-heading);font-weight:var(--fw-semibold);text-decoration:none}
.c-levelnext__link:hover{text-decoration:underline}

/* 05.41  c-policy + c-toc */
.e-con.e-flex.c-policy__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:start}
@media (min-width:900px){.e-con.e-flex.c-policy__layout{grid-template-columns:260px minmax(0,1fr)}}
.c-toc{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}
@media (min-width:900px){.c-policy__layout .elementor-widget-html{position:sticky;inset-block-start:6.5rem}}
.c-toc__title{margin:0 0 var(--space-xs);font-family:var(--font-heading);font-weight:var(--fw-bold);color:var(--color-text)}
.c-toc__list{margin:0;padding-inline-start:1.1rem;display:grid;gap:var(--space-xs)}
.c-toc__link{display:inline-block;padding-block:.2rem;color:var(--color-primary)}
.c-policy__body{max-width:70ch}

/* ===== 06-utilities ====================================================== */
.u-visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.u-text-center{text-align:center}

/* ===== 07-overrides (Elementor) ========================================== */
.elementor-widget-container{max-width:100%}
.e-con.o-page{--gap:0px;--row-gap:0px;--column-gap:0px} /* sin franja entre secciones: el ritmo vertical lo da cada o-section */
.e-con.o-container,.e-con.o-section{--padding-top:0;--padding-bottom:0}
.e-con.o-section{--padding-top:var(--section-y);--padding-bottom:var(--section-y)}/* End custom CSS */