/* ASSET RELIABILITY — Industrial Tech Premium · Opción A / Futurista equilibrado
   Capa visual compartida. No modifica rutas ni lógica del proyecto.
   Fondos profundos en héroes / superficies claras en contenido. */
:root {
  --ar-navy:#0D1D35; --ar-navy-mid:#132D4D; --ar-navy-bright:#173B64;
  --ar-blue:#166EB6; --ar-blue-hover:#10518B; --ar-cyan:#65DDEB;
  --ar-bg:#F4F7FB; --ar-white:#FFFFFF; --ar-ink:#132B45;
  --ar-muted:#40536A; --ar-border:#D8E4EF;
  --ar-shadow:0 15px 36px rgba(11,37,66,.10);
  --background-color:#FFFFFF; --default-color:#34465D;
  --heading-color:#132B45; --accent-color:#166EB6;
  --surface-color:#FFFFFF; --contrast-color:#FFFFFF;
  --nav-color:#273F57; --nav-hover-color:#166EB6;
  --nav-dropdown-color:#273F57; --nav-dropdown-hover-color:#166EB6;
}
html {color-scheme:light}
body {background:#FFFFFF;color:var(--ar-muted);font-family:'Open Sans',sans-serif}
body :where(h1,h2,h3,h4,h5,h6){font-family:'Poppins',sans-serif;line-height:1.23;letter-spacing:-.018em}
:where(.main,.precon-edition) :where(p,li){line-height:1.7}
:where(.main,.precon-edition) :where(h1,h2,h3,h4,h5,h6){color:var(--ar-ink)}
:where(.main,.precon-edition) :where(p){color:var(--ar-muted)}
:where(.light-background,.section-light,.cursos-section,.formaciones-cursos-section,.products-section,.services-grid,.precon-gallery-section){background-color:var(--ar-bg)}
.section-title h2,.section-header h2,.precon-gallery-heading h2{color:var(--ar-navy)}
a{color:var(--ar-blue)}
a:hover{color:var(--ar-blue-hover)}
:where(.main,.precon-edition) :where(.card,.service-card,.product-card,.curso-card,.mc-card,.feature-box,.info-box){
  border-radius:18px;border-color:var(--ar-border);box-shadow:var(--ar-shadow);
}
:where(.main,.precon-edition) :where(.card,.service-card,.product-card,.curso-card,.mc-card):hover{
  box-shadow:0 19px 42px rgba(10,39,70,.17);
}
:where(.main,.precon-edition) :where(img.product-img,img.curso-card-img,img.mc-card-img,.product-card img,.service-card img){object-fit:cover}
:where(.btn,.btn-primary,.btn-get-started,.btn-ver-detalles,.product-btn,.curso-card-cta,.btn-cronograma){transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}
:where(.main,.precon-edition) :where(.btn-primary,.btn-get-started,.btn-ver-detalles,.product-btn){background:#166EB6;border-color:#166EB6;color:#FFF}
:where(.main,.precon-edition) :where(.btn-primary,.btn-get-started,.btn-ver-detalles,.product-btn):hover{background:#10518B;border-color:#10518B;color:#FFF;transform:translateY(-2px)}
/* Encabezado blanco; franja de contacto de alto contraste */
.header .branding,.header .navmenu .dropdown ul{background:#FFF}
.header .topbar{background:#25374C}
.header .topbar,.header .topbar a,.header .topbar span{color:#FFF}
.header .topbar .contact-info i,.header .topbar .social-links a{color:#94E6F1}
.header .navmenu a,.header .navmenu a:focus{color:#273F57}
.header .navmenu .active,.header .navmenu a:hover,.header .navmenu li:hover>a{color:#166EB6}
.header .navmenu .dropdown ul a{color:#273F57}
.header .navmenu .dropdown ul .active,.header .navmenu .dropdown ul a:hover{color:#166EB6}
/* Banners interiores oscuros. La tipografía luminosa debe ganar a reglas legadas. */
:where(.services-hero,.products-hero,.formaciones-hero,.curso-hero,.precon-hero,.preconlub-hero,.mc-hero,.contact-hero,.product-hero,.page-title){
  background:linear-gradient(118deg,#0D1D35 0%,#132D4D 58%,#19466F 100%);
  border-bottom:1px solid rgba(101,221,235,.24);
  color:#E9F2FB;
}
:where(.services-hero,.products-hero,.formaciones-hero,.curso-hero,.precon-hero,.preconlub-hero,.mc-hero,.contact-hero,.product-hero,.page-title) :where(h1,h2,h3,h4){color:#FFFFFF!important}
:where(.services-hero,.products-hero,.formaciones-hero,.curso-hero,.precon-hero,.preconlub-hero,.mc-hero,.contact-hero,.product-hero,.page-title) :where(p,.subtitle,.lead){color:#E0EAF5!important}
:where(.services-hero,.products-hero,.formaciones-hero,.curso-hero,.precon-hero,.preconlub-hero,.mc-hero,.contact-hero,.product-hero,.page-title) :where(h1,h2) span {color:#7DE7F1!important}
:where(.services-hero,.products-hero,.formaciones-hero,.curso-hero,.precon-hero,.preconlub-hero,.mc-hero,.contact-hero,.product-hero) :where(.hero-divider,.precon-rule){background:#65DDEB}
:where(.formaciones-hero,.curso-hero,.precon-hero) :where(.precon-kicker,.badge){color:#8AE9F3}
/* Hero fotográfico: conservar textos blancos independientemente de la capa principal */
.hero .carousel-item :where(h1,h2,h3,p),.hero .carousel-item .carousel-container :where(h2,p){color:#FFF!important}
/* Elementos claros sobre héroes oscuros: contornos con texto luminoso */
.formaciones-hero .btn-cronograma,.precon-hero .precon-back{
  background:rgba(255,255,255,.08)!important;border:1px solid #9AE4F1!important;color:#FFF!important;
}
.formaciones-hero .btn-cronograma:hover,.precon-hero .precon-back:hover{
  background:#FFF!important;border-color:#FFF!important;color:#113454!important;
}
/* Fondo oscuro explícito: títulos y párrafos blancos o pálidos */
:where(.main,.precon-edition) :where(.dark-background,.bg-dark,.bg-primary,.footer,.footer-top) :where(h1,h2,h3,h4,h5,h6){color:#FFF!important}
:where(.main,.precon-edition) :where(.dark-background,.bg-dark,.bg-primary) :where(p,li,.lead){color:#E1EAF4!important}
/* Secciones de lectura y galerías claras */
.precon-gallery-section,.precon-edition{background:#F4F7FB}
.precon-gallery-heading h2{color:#132B45}
.precon-gallery-heading p,.precon-photo-note{color:#40536A}
.precon-carousel{box-shadow:var(--ar-shadow);border:1px solid var(--ar-border)}
.precon-years a{color:#145E9A;background:#FFF;border:1px solid #C7D9E8}
.precon-years a.selected,.precon-years a:hover{color:#FFF;background:#166EB6}
/* Preconlub edición: clase propia, asegurar el texto en el banner oscuro */
.precon-edition .precon-hero{background:linear-gradient(118deg,#0D1D35,#153455 60%,#194D75)!important}
.precon-edition .precon-hero h1{color:#FFF!important}
.precon-edition .precon-hero h1 span{color:#7DE7F1!important}
.precon-edition .precon-hero p{color:#E0EAF5!important}
.precon-edition .precon-hero .precon-kicker{color:#8AE9F3!important}
.precon-edition .precon-back{color:#FFF!important;border-color:#9AE4F1;background:rgba(255,255,255,.07)}
.precon-edition .precon-back:hover{color:#113454!important;background:#FFF}
/* Evitar textos grises apagados en zonas de navegación sobre fondo oscuro. */
:where(.bg-dark,.dark-background,.footer) a:not(.btn){color:#B8EBF4}
/* Controles legibles y navegables */
:where(input,textarea,select):focus-visible{outline:2px solid #166EB6;outline-offset:2px}
:where(a,button,[role="button"]):focus-visible{outline:3px solid #1A79C1;outline-offset:3px}
::selection{background:#B8EAF4;color:#0D1D35}
@media(max-width:767px){
 :where(.services-hero,.products-hero,.formaciones-hero,.curso-hero,.precon-hero,.preconlub-hero){padding-block:55px}
 :where(.main,.precon-edition) :where(h1){overflow-wrap:break-word}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Encabezados estables: sin pulsación ni destellos en los fondos.
   Conserva las animaciones AOS de entrada de contenidos. */
:where(.services-hero,.products-hero,.formaciones-hero,.curso-hero,.precon-hero,.preconlub-hero,.mc-hero,.contact-hero,.product-hero,.page-title,.detail-hero,.cronograma-hero)::before {
  animation: none !important;
  transform: none !important;
  opacity: .35;
}
:where(.services-hero,.products-hero,.formaciones-hero,.curso-hero,.precon-hero,.preconlub-hero,.mc-hero,.contact-hero,.product-hero,.page-title,.detail-hero,.cronograma-hero) {
  animation: none !important;
  background-attachment: scroll !important;
}
