/* Editorial técnico: serif para titulares, sans para texto, mono para etiquetas y datos.
   Papel cálido, un único azul de marca, filetes finos. Tipografías alojadas aquí (sin peticiones externas). */
@font-face{font-family:"Inter";src:url("fuentes/inter-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:var(--sans);
  --mono:var(--sans);
  --font:var(--sans);
  --bl:#0F3C5C;--fg:#17222d;--muted:#5b6874;--line:#dde3e8;--bg:#ffffff;--tint:#eef2f5;
}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:16.5px;line-height:1.65;font-feature-settings:"cv11","ss03";-webkit-font-smoothing:antialiased}
*{-webkit-tap-highlight-color:transparent}
.fondo,.chip,.marq,.red,.phero-ico{display:none!important}
.mono{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:400}

/* Barra de progreso de lectura */
.prog{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--bl);transform:scaleX(0);transform-origin:left;z-index:60}

/* Tipografía */
h1,h2,h3,.page h1,.page h2,.hero h1,.phero h1,.card h3,dialog h3{font-family:var(--serif);font-weight:400;color:var(--fg);letter-spacing:-.012em}
h2{font-size:clamp(28px,3.2vw,40px);line-height:1.12;margin:0 0 18px}
h3{font-weight:500}
.kick,.kicker{display:block;margin:0 0 14px;font-family:var(--mono);font-size:11.5px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
  border:0;background:none;padding:0;border-radius:0}
.kick::before{display:none}
em{font-style:italic}

/* Cabecera */
.zona-sup,.zona-sup.con-hero{background:none}
.zona-sup.con-hero::before{display:none}
header.wrap{text-align:center}
nav.top{display:flex;width:auto;margin:20px auto 0;padding:0;background:none;border:0;box-shadow:none;border-radius:0;gap:6px 30px;justify-content:center}
nav.top a{padding:4px 0;color:var(--muted);font-size:14.5px;position:relative}
nav.top a::after{display:block;content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--bl);transform:scaleX(0);transform-origin:left;transition:transform .3s}
nav.top a:hover{color:var(--fg)}
nav.top a:hover::after{transform:scaleX(1)}
.access>button{background:transparent;border:1px solid var(--line);box-shadow:none;font-size:14px;border-radius:999px}
.minibar{position:fixed;top:10px;left:50%;transform:translate(-50%,-140%);z-index:40;display:flex;align-items:center;gap:6px;padding:6px 8px 6px 14px;
  background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:999px;box-shadow:0 4px 18px rgba(15,60,92,.08);
  transition:transform .4s cubic-bezier(.2,.8,.2,1);max-width:calc(100% - 20px)}
.minibar.on{transform:translate(-50%,0)}
.minibar:not(.on){visibility:hidden;transition:transform .4s cubic-bezier(.2,.8,.2,1),visibility 0s .4s}
.mb-logo img{display:block}
.minibar nav{display:flex;gap:2px}
.minibar nav a{padding:7px 12px;font-size:13.5px;color:var(--muted);text-decoration:none;white-space:nowrap}
.minibar nav a:hover{color:var(--fg)}
.mb-cta{border:0;border-radius:999px;padding:8px 16px;font:inherit;font-size:13.5px;font-weight:500;color:#fff;background:var(--bl);cursor:pointer}

/* Botones */
.btn,.btn.primary{background:var(--bl);box-shadow:none;border-radius:999px;font-weight:500;font-size:15px;padding:12px 26px;color:#fff;transition:background .2s}
.btn::before{display:none}
.btn:hover{background:#0b2d46;transform:none;box-shadow:none}
.btn.ghost{background:transparent;color:var(--bl);border:1px solid #b7c4cf}
.btn.ghost:hover{background:var(--tint)}
.btn:disabled{background:#c9ced3;color:#fff}

/* Hero: dos columnas, titular a la izquierda y plano técnico a la derecha */
.hero{text-align:left;padding:72px 0 64px;border:0;margin:0}
.hero::after{display:none}
.hero-g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
.hero h1{font-size:clamp(38px,5.2vw,66px);line-height:1.04;letter-spacing:-.025em;max-width:none;margin:0 0 22px;background:none;-webkit-text-fill-color:currentColor;color:var(--fg)}
.hero h1 em{color:var(--bl)}
.hero .sub-h{font-size:clamp(16.5px,1.5vw,19px);color:var(--muted);max-width:520px;margin:0}
.row.cta{justify-content:flex-start;margin-top:34px}
.hero-fig{position:relative}
.marca{width:100%;height:auto;display:block;overflow:visible}
.marca .reg path{stroke:#9aa8b3;stroke-width:1;fill:none}
.marca .ret path{stroke:var(--line);stroke-width:1;fill:none;stroke-dasharray:2 5}
.marca .iso path{stroke:var(--bl);stroke-width:1.6;fill:rgba(15,60,92,.06);vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:trazo 2.6s .2s cubic-bezier(.6,.1,.2,1) forwards}
.marca .iso path:nth-child(2){animation-delay:.9s}
.marca .ley path{stroke:var(--bl);stroke-width:1;fill:none;stroke-dasharray:1;stroke-dashoffset:1;animation:trazo 1.4s 1.8s ease forwards}
.marca .ley path:nth-of-type(2){animation-delay:2.1s}.marca .ley path:nth-of-type(3){animation-delay:2.4s}
.marca .ley circle{fill:var(--bl);opacity:0;animation:aparece .6s 2s forwards}
.marca .ley text{font-family:var(--mono);font-size:11px;fill:var(--fg);letter-spacing:.02em;opacity:0;animation:aparece .8s 2.4s forwards}
.marca .ley text.r{fill:var(--muted);font-size:10px}
@keyframes trazo{to{stroke-dashoffset:0}}
@keyframes aparece{to{opacity:1}}

/* Credenciales */
.cred{background:none;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr)}
.cred li{padding:22px 24px 22px 0;text-align:left;border-right:0}
.cred li+li{padding-left:24px;border-left:1px solid var(--line)}
.cred span{display:block;color:var(--muted)}
.cred strong{display:block;margin-top:6px;font-family:var(--serif);font-weight:400;font-size:21px;letter-spacing:-.005em}

/* Índice: servicios + novedades */
.idx{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:72px;padding-top:96px;padding-bottom:24px;align-items:start}
.sec-h{margin-bottom:24px}
.sec-h h2{margin:0}
.fila{display:grid;grid-template-columns:56px 1fr 36px;gap:0 12px;align-items:start;padding:28px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit;position:relative}
.fila:last-child{border-bottom:1px solid var(--line)}
.fila::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--bl);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.fila:hover::before{transform:scaleX(1)}
.fila .num{font-family:var(--mono);font-size:12.5px;color:var(--muted);padding-top:9px}
.fila .tt strong{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.4vw,28px);line-height:1.2;letter-spacing:-.01em}
.fila .tt em{display:block;font-style:normal;margin-top:8px;color:var(--muted);font-size:15.5px;max-width:58ch}
.fila .go{font-size:22px;color:var(--muted);padding-top:4px;text-align:right;transition:transform .3s,color .3s}
.fila:hover .go{transform:translateX(6px);color:var(--bl)}
.idx-r{position:sticky;top:76px;border-left:1px solid var(--line);padding-left:36px}
.idx-r h2{font-size:24px;line-height:1.2}
.nov .carr,.idx-r .carr{border-top:1px solid var(--line);--h:128px}
.carr.anim{height:calc(var(--h) * 3);overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent)}
.news{border-top:0}
.news li{height:var(--h);padding:16px 0 0;overflow:hidden;border-bottom:1px solid var(--line)}
.news .nm,.news-list .nm{margin:0 0 4px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--bl)}
.news a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15.5px;font-weight:500;line-height:1.4;text-decoration:none}
.news a:hover{text-decoration:underline;text-underline-offset:3px}
.news time{display:block;margin-top:6px;font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--muted)}
.idx-r .small{margin-top:14px}
.idx-r .small a{color:var(--bl);font-weight:500}

/* Formación: banda oscura */
.porque{background:var(--bl);color:#e7eff5;padding:104px 0 96px;margin-top:96px}
.porque .kick{color:#9fb7c9}
.porque .intro{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end;margin:0 0 64px;text-align:left;max-width:none}
.porque .intro h2{color:#fff;font-size:clamp(30px,4vw,50px);line-height:1.08;margin:0;font-weight:400}
.porque .intro p{color:#bcd0de;font-size:17px;margin:0;max-width:none}
.porque .pilares{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.porque .pilar{background:none;border:0;border-top:1px solid rgba(255,255,255,.28);border-radius:0;box-shadow:none;padding:26px 36px 8px 0;margin-right:36px}
.porque .pilar:last-child{margin-right:0}
.porque .pilar .num{display:block;color:#9fb7c9;margin-bottom:14px;font-size:12px}
.porque .pilar h3{color:#fff;font-family:var(--serif);font-size:24px;line-height:1.2;margin:0 0 10px}
.porque .pilar p{color:#bcd0de;font-size:15.5px;margin:0}
.porque-pie{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:56px}
.porque .btn{background:#fff;color:var(--bl)}
.porque .btn:hover{background:#e4edf3}
.porque-pie .small{color:#9fb7c9}
.porque.compacto{background:none;color:var(--fg);padding:0;margin:28px 0 8px}
.porque.compacto .lead{font-size:16.5px;margin-bottom:6px}
.porque.compacto .pilares{display:block}
.porque.compacto .pilar{display:grid;grid-template-columns:44px 1fr;padding:18px 0 14px;margin:0;border-top:1px solid var(--line)}
.porque.compacto .pilar .num{grid-row:span 2;margin:3px 0 0;color:var(--muted)}
.porque.compacto .pilar h3{color:var(--fg);font-size:19px;margin:0 0 4px}
.porque.compacto .pilar p{color:var(--muted)}

/* Newsletter y Quiénes somos */
.band{background:none;padding:104px 0 24px}
.sub{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:72px;text-align:left;background:none;border:0;box-shadow:none;padding:0 24px;border-top:1px solid var(--line);padding-top:72px}
.sub h2{font-size:clamp(26px,3vw,36px)}
.sub p{color:var(--muted);margin:0 0 12px}
form.f{max-width:520px}
input,select,textarea{border-radius:6px!important;background:#fff;border:1px solid #cdd5db}
input:focus,select:focus,textarea:focus{outline:0;border-color:#7b8a96!important;box-shadow:none}
.about{padding:96px 0 104px}
.about-g{display:grid;grid-template-columns:1fr 1fr;gap:72px;border-top:1px solid var(--line);padding-top:72px;max-width:1160px}
.about .text{max-width:none;background:none;border:0;box-shadow:none;padding:0}
.about p{font-size:17px;color:#364552;margin:0 0 16px}
footer{background:none;border-top:1px solid var(--line)}
footer .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding-top:28px;padding-bottom:28px;text-align:left}
footer .iso{margin:0 12px 0 0;display:block}
footer a{font-size:14px;color:var(--muted)}
footer p{margin:0 0 0 auto;font-size:13px;color:var(--muted)}

/* Interior */
.phero{background:none;color:var(--fg);margin:28px auto 0;max-width:860px;border-radius:0;overflow:visible;padding:0 24px}
.phero::before,.phero::after{display:none}
.phero-in{padding:24px 0 8px;max-width:none}
.phero-tx{max-width:none}
.phero h1{font-family:var(--serif);color:var(--fg);font-weight:400;font-size:clamp(32px,4.4vw,52px);line-height:1.08;letter-spacing:-.02em;margin:0 0 14px}
.phero .lead,.phero .meta{color:var(--muted);font-size:18px}
.phero .meta{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em}
.page{max-width:860px}
.page .crumbs{margin-top:8px;font-family:var(--mono);font-size:12px;letter-spacing:.03em}
.page h2{font-family:var(--serif)}
.sec{background:none;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:30px 0;margin:0;position:relative;overflow:visible}
.sec::before,.sec::after{display:none}
.sec:hover{box-shadow:none;transform:none}
.sec h2{font-size:26px;margin-bottom:12px}
.sec ul{list-style:none;padding-left:0}
.sec ul li{position:relative;padding-left:22px}
.sec ul li::before{content:"";position:absolute;left:0;top:.8em;width:10px;height:1px;background:var(--bl);border-radius:0}
.sec ol{list-style:none;counter-reset:p;padding-left:0}
.sec ol li{counter-increment:p;position:relative;padding:0 0 14px 52px;margin:0}
.sec ol li::before{content:counter(p,decimal-leading-zero);position:absolute;left:0;top:3px;width:auto;height:auto;background:none;border:0;box-shadow:none;color:var(--muted);font-family:var(--mono);font-size:13px}
.sec ol li::after{display:none}
.sec ul.fams li{padding-left:0}.sec ul.fams li::before{display:none}
.box{background:#f5f7f9;border:1px solid var(--line);border-radius:10px;box-shadow:none;padding:28px 30px}
.box::before{display:none}
.news-list li,.fams a{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;transition:background .2s}
.news-list li{padding:22px 0;margin:0}
.news-list li:last-child{border-bottom:1px solid var(--line)}
.news-list a{font-family:var(--serif);font-size:22px;line-height:1.25;margin:4px 0 6px;text-decoration:none}
.news-list a:hover{text-decoration:underline;text-underline-offset:4px}
.news-list time{background:none;padding:0;margin-top:10px;display:block;font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.04em}
.fams{gap:0 36px}
.fams a{padding:16px 36px 16px 0;position:relative}
.fams a:hover{background:transparent}
.fams a strong{font-family:var(--serif);font-weight:400;font-size:19px}
.fams a::after{content:"→";position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--muted);transition:transform .25s,color .25s}
.fams a:hover::after{transform:translate(5px,-50%);color:var(--bl)}
.filtro input{border-radius:999px!important}
.ficha{display:grid;grid-template-columns:repeat(2,1fr);gap:0 32px;margin:24px 0 28px;padding:0;border-top:1px solid var(--line)}
.ficha div{padding:12px 0;border-bottom:1px solid var(--line)}
.ficha dt{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 2px}
.ficha dd{margin:0;font-size:15.5px}
.ficha a{color:var(--bl);text-underline-offset:3px}
.nota{margin-top:28px}
.fab{background:var(--bl);box-shadow:0 4px 14px rgba(15,60,92,.25);animation:none;font-size:14.5px}
.fab:hover{background:#0b2d46}
dialog{border-radius:14px;border:1px solid var(--line);background:var(--bg);backdrop-filter:none}
dialog::backdrop{background:rgba(15,30,45,.4);backdrop-filter:none}
dialog h3{font-size:26px}

/* Calendario */
.cal{background:#fff;border-radius:10px;border:1px solid var(--line)}
.cal-d.on,.cal-h.on{background:var(--bl);border-color:var(--bl)}
.cal-d:hover:not(:disabled),.cal-h:hover{border-color:#7b8a96}
.cal-t{color:var(--fg)}

/* Sin colores al pulsar */
button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:0}
:focus-visible{outline:2px solid #17222d;outline-offset:2px}
.btn:active,.cal-d:active,.cal-h:active{transform:none}
input[type=checkbox]{accent-color:var(--bl)}

@media (max-width:980px){
  .hero-g{grid-template-columns:1fr;gap:28px}
  .hero-fig{max-width:520px}
  .idx{grid-template-columns:1fr;gap:56px}
  .idx-r{position:static;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:36px}
  .porque .intro{grid-template-columns:1fr;gap:20px}
  .porque .pilares{grid-template-columns:1fr}
  .porque .pilar{margin-right:0;padding-right:0}
  .sub,.about-g{grid-template-columns:1fr;gap:28px}
}
@media (max-width:860px){
  .hero{padding:40px 0 48px}
  .minibar nav{display:none}
  nav.top{gap:4px 20px}
  .cred{grid-template-columns:1fr}
  .cred li,.cred li+li{padding:16px 0;border-left:0}
  .cred li+li{border-top:1px solid var(--line)}
  .idx{padding-top:64px}.porque{padding:72px 0;margin-top:64px}.band{padding-top:72px}.about{padding:64px 0}
  .phero{padding:0 20px}
  .ficha{grid-template-columns:1fr}
  footer p{margin-left:0;width:100%}
  .fila{grid-template-columns:40px 1fr 24px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .marca .iso path,.marca .ley path{animation:none;stroke-dashoffset:0}
  .marca .ley circle,.marca .ley text{animation:none;opacity:1}
}

/* Pestaña activa */
nav.top a.act{color:var(--fg)}
nav.top a.act::after{transform:scaleX(1)}
.minibar nav a.act{color:var(--fg);font-weight:500}

/* Páginas con listado de servicios */
.filas{margin:28px 0 8px}
.filas .fila:first-child{border-top:1px solid var(--line)}

/* FAQ */
.faqs{margin:28px 0 36px;border-bottom:1px solid var(--line)}
details.faq{border-top:1px solid var(--line)}
details.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font-family:var(--serif);font-size:21px;line-height:1.3;letter-spacing:-.005em}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:11px;height:11px;margin-top:-7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);transition:transform .3s}
details.faq[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
details.faq summary:hover{color:var(--bl)}
details.faq>div{padding:0 44px 22px 0;color:#364552}
details.faq>div p{margin:0 0 12px}

/* Cierre de la portada */
.cierre{padding:96px 0 104px}
.cierre-g{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:56px}
.cierre h2{margin:0;font-size:clamp(26px,3.2vw,38px)}
.cierre .row{display:flex;gap:12px;flex-wrap:wrap}
.sec-h{text-align:left}
.hero .kick{font-size:11px;letter-spacing:.08em}
.hero .kick{margin-bottom:20px}

/* Pantalla de bienvenida */
.splash{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;border:0;padding:24px;
  background:#111822;color:#fff;cursor:pointer;font:inherit;opacity:1;visibility:visible;
  transition:opacity .7s ease,visibility 0s .7s;
  animation:splash-sale .7s 3s forwards}   /* sin JavaScript, también se cierra a los 3 s */
.splash.fuera{opacity:0;visibility:hidden;animation:none}
.sin-splash .splash{display:none}
.splash-logo{width:min(560px,78vw);height:auto;display:block;animation:splash-entra 1s cubic-bezier(.2,.8,.2,1) both}
.splash-lema{margin-top:-6px;font-weight:300;font-size:clamp(14px,2.1vw,22px);letter-spacing:.02em;color:#e6ebf0;animation:splash-entra 1s .35s cubic-bezier(.2,.8,.2,1) both}
.splash-hint{position:absolute;bottom:34px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7f8c99;animation:aparece 1s 1s both}
.splash-barra{position:absolute;left:0;bottom:0;height:2px;width:100%;background:#fff;opacity:.55;transform:scaleX(0);transform-origin:left;animation:splash-barra 3s linear forwards}
.splash:focus-visible{outline:2px solid #fff;outline-offset:-6px}
@keyframes splash-entra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes splash-barra{to{transform:scaleX(1)}}
@keyframes splash-sale{to{opacity:0;visibility:hidden;pointer-events:none}}
@keyframes aparece{to{opacity:1}}
.splash-hint{opacity:0}
@media (prefers-reduced-motion:reduce){
  .splash-logo,.splash-lema{animation:none}
  .splash-barra{animation:none;display:none}
}


/* ===== Una sola familia (Inter), escala pequeña y pesos ligeros ===== */
body{font-size:15.5px;line-height:1.7;font-weight:400;color:#1c2630}
h1,h2,h3,.page h1,.page h2,.hero h1,.phero h1,dialog h3,.fila .tt strong,.cred strong,.news-list a,.fams a strong,details.faq summary,.porque .pilar h3{font-family:var(--sans)}
.mono,.kick,.kicker,.fila .num,.news .nm,.news-list .nm,.news time,.news-list time,.ficha dt,.page .crumbs,.marca .ley text,.splash-hint,.phero .meta{
  font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.news time,.news-list time,.fila .num,.phero .meta{letter-spacing:.08em;font-weight:400}
.page .crumbs{letter-spacing:.06em;text-transform:none;font-size:12.5px;font-weight:400}
.marca .ley text{font-size:10.5px;letter-spacing:.06em}.marca .ley text.r{font-size:9.5px}

h2{font-size:clamp(22px,2.3vw,28px);font-weight:300;letter-spacing:-.02em;line-height:1.2}
h3{font-weight:500}
.hero h1{font-size:clamp(30px,3.9vw,46px);font-weight:300;letter-spacing:-.035em;line-height:1.1}
.hero h1 em{font-style:normal;font-weight:400;color:var(--bl)}
.hero .sub-h{font-size:16.5px;font-weight:300;line-height:1.6}
.hero{padding:64px 0 56px}
.btn,.btn.primary{font-size:13.5px;padding:11px 22px;font-weight:500}
nav.top a{font-size:14px}

.cred strong{font-size:16px;font-weight:400;letter-spacing:0;margin-top:5px}
.fila{padding:24px 0}
.fila .tt strong{font-size:clamp(18px,1.8vw,21px);font-weight:400;letter-spacing:-.01em}
.fila .tt em{font-size:14.5px;margin-top:6px;line-height:1.6}
.fila .num{padding-top:5px}
.idx-r h2{font-size:19px;font-weight:400;line-height:1.3}
.news a{font-size:14.5px;font-weight:500}
.news .nm{font-size:10.5px}

.porque{padding:88px 0 80px}
.porque .intro h2{font-size:clamp(24px,2.8vw,34px);font-weight:300;line-height:1.15}
.porque .intro p{font-size:15.5px;font-weight:300;line-height:1.7}
.porque .pilar h3{font-size:17px;font-weight:500;margin-bottom:8px}
.porque .pilar p{font-size:14.5px;font-weight:300}
.porque .pilar{padding-top:22px}
.porque-pie .small{font-size:13px}

.sub h2,.cierre h2{font-size:clamp(22px,2.4vw,28px)}
.about p{font-size:15.5px;font-weight:400}
.cierre{padding:80px 0 88px}

/* Interior */
.phero h1{font-size:clamp(26px,3.2vw,38px);font-weight:300;letter-spacing:-.03em;line-height:1.15}
.phero .lead{font-size:16.5px;font-weight:300;line-height:1.65}
.lead{font-size:16.5px}
.sec h2{font-size:19px;font-weight:500;letter-spacing:-.01em}
.sec{padding:26px 0}
.news-list a{font-size:17.5px;font-weight:400;letter-spacing:-.01em}
.fams a strong{font-size:15.5px;font-weight:500}
.fams a span{font-size:13px}
.ficha dd{font-size:14.5px}
details.faq summary{font-size:16.5px;font-weight:400;padding:20px 40px 20px 0}
details.faq>div{font-size:15px}
.box h2{font-size:18px;font-weight:500}
dialog h3{font-size:20px;font-weight:400}
.page h1{font-weight:300}
.filas{margin-top:22px}
.page{font-size:15.5px}

@media (max-width:860px){
  .hero{padding:36px 0 44px}
  .porque{padding:64px 0}
}
.pilar::before{display:none}

/* ===== Escala reducida y maquetaciones distintas por página ===== */
body,.page{font-size:14.5px;line-height:1.7}
nav.top a{font-size:13px}
.access>button{font-size:13px;padding:7px 14px}
.kick,.kicker,.mono,.news .nm,.news-list .nm,.ficha dt{font-size:10.5px}
.hero{padding:56px 0 48px}
.hero h1{font-size:clamp(26px,3.2vw,38px);letter-spacing:-.03em}
.hero .sub-h{font-size:15px;max-width:480px}
.btn,.btn.primary{font-size:13px;padding:10px 20px}
.row.cta{margin-top:26px}
h2{font-size:clamp(19px,1.9vw,23px)}
.cred strong{font-size:15px}
.cred li{padding:18px 20px 18px 0}
.cred li+li{padding-left:20px}

/* Portada: tarjetas rectangulares */
.idx{grid-template-columns:minmax(0,1fr) 310px;gap:40px;padding-top:72px;align-items:start}
.sec-h{margin-bottom:18px}
.tg{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.tj{display:flex;flex-direction:column;min-height:190px;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:3px;text-decoration:none;color:inherit;position:relative;transition:border-color .2s,background .2s}
.tj:hover{border-color:var(--bl);background:#fafcfd}
.tj-n{font-size:11px;letter-spacing:.08em;color:var(--muted)}
.tj h3{font-family:var(--sans);font-size:16.5px;font-weight:500;letter-spacing:-.01em;line-height:1.3;margin:14px 0 8px;color:var(--fg)}
.tj p{margin:0;font-size:13.5px;line-height:1.6;color:var(--muted);flex:1}
.tj-go{margin-top:16px;font-size:12.5px;font-weight:500;color:var(--bl);transition:transform .25s}
.tj:hover .tj-go{transform:translateX(4px)}
.idx-r{position:static;border:1px solid var(--line);border-radius:3px;padding:22px 24px;background:#fff}
.idx-r h2{font-size:17px;font-weight:500;margin-bottom:14px}
.news a{font-size:13.5px}
.news time{font-size:11px}
.news .nm{font-size:10px}
.carr{--h:118px}
.carr.anim{height:calc(var(--h) * 3)}

/* Banda de formación */
.porque{padding:72px 0 64px;margin-top:72px}
.porque .intro h2{font-size:clamp(21px,2.4vw,28px)}
.porque .intro p{font-size:14px}
.porque .pilar h3{font-size:15.5px}
.porque .pilar p{font-size:13.5px}
.porque-pie .small{font-size:12.5px}
.cierre{padding:64px 0 72px}
.cierre h2{font-size:clamp(19px,2vw,24px)}

/* Interiores */
.phero h1{font-size:clamp(22px,2.6vw,30px)}
.phero .lead,.lead{font-size:15px}
.sec h2{font-size:16.5px}
.box h2{font-size:16px}
details.faq summary{font-size:15px;padding:18px 36px 18px 0}
details.faq>div{font-size:14px}
.news-list a{font-size:16px}
dialog h3{font-size:18px}
dialog p{font-size:14px}
label.l,.l{font-size:12px}
input,select,textarea{font-size:14px}
footer a{font-size:13px}
footer p{font-size:12.5px}
.ficha dd{font-size:13.5px}

/* Servicios: catálogo en filas de dos columnas (distinto de la portada) */
.cats{margin:24px 0 8px;border-top:1px solid var(--line)}
.cat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 48px;padding:30px 0;border-bottom:1px solid var(--line)}
.cat-a .cat-n{font-size:11px;letter-spacing:.1em;color:var(--muted)}
.cat-a h3{font-family:var(--sans);font-size:19px;font-weight:300;letter-spacing:-.02em;line-height:1.25;margin:8px 0 8px}
.cat-a p{margin:0;font-size:14px;color:var(--muted);max-width:44ch}
.cat-t{margin:0 0 8px;font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cat-b ul{list-style:none;margin:0 0 14px;padding:0}
.cat-b li{position:relative;padding:0 0 6px 18px;font-size:13.5px;color:#364552}
.cat-b li::before{content:"";position:absolute;left:0;top:.8em;width:9px;height:1px;background:var(--bl)}
.cat-go{font-size:13px;font-weight:500;color:var(--bl);text-decoration:none;border-bottom:1px solid var(--bl);padding-bottom:1px}
.cat-go:hover{color:#0b2d46}

/* Formación: índice de familias en columnas, sin cajas */
.fams.ind{display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px;margin-top:6px}
.fams.ind li{margin:0}
.fams.ind a{display:block;padding:9px 18px 9px 0;border:0;border-bottom:1px solid var(--line);background:none;border-radius:0}
.fams.ind a strong{font-family:var(--sans);font-size:13.5px;font-weight:400;color:var(--fg)}
.fams.ind a::after{right:0;font-size:13px}
.fams.ind a:hover strong{color:var(--bl)}

/* Novedades: línea de tiempo con fecha a la izquierda */
.news-list li{display:grid;grid-template-columns:104px 1fr;gap:0 24px;padding:20px 0}
.news-list li>time{margin:3px 0 0;font-size:11.5px;color:var(--muted)}
.news-list li a{font-size:15.5px;margin:3px 0 4px}
.news-list li p:not(.nm){font-size:13.5px;margin:0;color:var(--muted)}

@media (max-width:980px){
  .idx{grid-template-columns:1fr;gap:36px}
  .tg{grid-template-columns:1fr 1fr}
  .cat{grid-template-columns:1fr;gap:16px}
  .fams.ind{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .tg{grid-template-columns:1fr}
  .tj{min-height:0}
  .fams.ind{grid-template-columns:1fr}
  .news-list li{grid-template-columns:1fr;gap:4px}
}
.sec-h{padding:0!important;margin-top:0}

/* v0.15 · credenciales destacadas */
.cred{background:linear-gradient(180deg,#f3f7fa 0%,#e6edf3 100%);border:1px solid #d3dee7;border-top:3px solid var(--bl);border-bottom:1px solid #d3dee7;border-radius:3px;box-shadow:0 10px 28px -12px rgba(15,60,92,.28),0 2px 6px rgba(15,60,92,.06);margin-top:0;position:relative;z-index:2}
.cred li{padding:20px 24px}
.cred li+li{border-left:1px solid #c9d6e0;padding-left:24px}
.cred span{color:#44607a;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.cred strong{color:var(--bl);font-weight:500;font-size:15px}
@media(max-width:760px){.cred li,.cred li+li{padding:14px 18px}.cred li+li{border-left:0;border-top:1px solid #c9d6e0}}

.hero{padding-bottom:26px!important}

/* v0.15 · familias con subsectores y puestos */
.fams.ind a{display:block}
.fams.ind a span{display:block;margin-top:3px;font-size:12px;line-height:1.45;color:var(--muted);font-weight:400;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.actvs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0 28px}
.actv{border:1px solid var(--line);border-left:3px solid var(--bl);border-radius:2px;padding:14px 18px;background:#fff}
.actv h3{font-size:14.5px;font-weight:500;margin:0 0 8px;color:var(--fg)}
.actv ul{list-style:none;margin:0;padding:0}
.actv li{font-size:13px;line-height:1.5;color:var(--muted);padding:3px 0 3px 14px;position:relative}
.actv li::before{content:"";position:absolute;left:0;top:.85em;width:6px;height:1px;background:var(--bl)}
@media(max-width:760px){.actvs{grid-template-columns:1fr}}

/* v0.15 · FAQ por secciones */
.faq-g{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:start;margin:8px 0 36px}
.faq-ix{position:sticky;top:84px}
.faq-ix ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.faq-ix a{display:block;padding:7px 0 7px 14px;margin-left:-1px;border-left:2px solid transparent;font-size:13px;color:var(--muted);text-decoration:none;line-height:1.35}
.faq-ix a:hover,.faq-ix a:focus-visible{color:var(--bl);border-left-color:var(--bl)}
.faq-sec{scroll-margin-top:84px;margin-bottom:34px}
.faq-sec h3{font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--bl);margin:0 0 6px;padding-bottom:8px;border-bottom:1px solid var(--bl)}
@media(max-width:760px){.faq-g{grid-template-columns:1fr;gap:18px}.faq-ix{position:static}.faq-ix ul{display:flex;flex-wrap:wrap;gap:6px;border:0}.faq-ix a{border:1px solid var(--line);border-radius:999px;padding:6px 12px;margin:0}}

/* v0.16 · páginas interiores con banda de color */
:root{--ac:#1c9a96;--ac-d:#14746f;--ac-l:#8fdcd6}
.phero{max-width:none!important;margin:0!important;padding:0!important;background:linear-gradient(118deg,#0a2c45 0%,#0F3C5C 52%,#17608a 100%)!important;color:#fff;position:relative;overflow:hidden!important;border-bottom:3px solid var(--ac)}
.phero::after{display:block!important;content:"";position:absolute;right:max(24px,calc((100% - 1040px)/2));top:50%;width:210px;height:210px;transform:translateY(-50%);background:url(isotipo-blanco.svg) center/contain no-repeat;opacity:.09;pointer-events:none}
.phero::before{display:block!important;content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 120px);pointer-events:none}
.phero-in{position:relative;max-width:860px!important;margin:0 auto;padding:46px 24px 40px!important}
.phero h1{color:#fff!important;font-weight:300}
.phero .lead,.phero .meta{color:rgba(255,255,255,.82)!important}
.phero .kicker{color:var(--ac-l)!important;display:inline-block;margin:0 0 14px;padding-left:34px;position:relative}
.phero .kicker::before{content:"";position:absolute;left:0;top:50%;width:24px;height:1px;background:var(--ac-l)}
.page .crumbs{margin-top:22px}
.page .crumbs a{color:var(--bl)}
.sec h2{position:relative;padding-top:16px}
.sec h2::before{content:"";position:absolute;top:0;left:0;width:30px;height:3px;background:var(--ac)}
.sec ul li::before,.actv li::before{background:var(--ac)!important}
.sec ol li::before{color:var(--ac-d)!important;font-weight:500}
.actv{border-left-color:var(--ac)!important;background:linear-gradient(180deg,#fff,#f5fafa)}
.actv h3{color:var(--bl)}
.page .box{background:linear-gradient(180deg,#eef5f8 0%,#e7f0f4 100%)!important;border:1px solid #cfdfe7!important;border-top:3px solid var(--ac)!important}

.page .lead{color:var(--muted)}
.page a:not(.btn){color:var(--bl);text-decoration-color:rgba(28,154,150,.5);text-underline-offset:3px}
.page a:not(.btn):hover{color:var(--ac-d)}
.faq-sec h3{color:var(--ac-d)!important;border-bottom-color:var(--ac)!important}
.faq-ix a:hover,.faq-ix a:focus-visible{color:var(--ac-d);border-left-color:var(--ac)}
details.faq[open]>summary{color:var(--bl)}
.news-list li time{color:var(--ac-d)}
.ficha dt{color:var(--ac-d)}
@media(max-width:760px){.phero-in{padding:32px 20px 28px!important}.phero::after{width:120px;height:120px;right:12px}}

/* v0.17 · avisos de acceso (Área clientes y Plataforma de formación) */
dialog.acceso{width:min(600px,calc(100vw - 24px));max-height:calc(100vh - 32px);overflow:auto;padding:44px 48px 36px;border:0;border-radius:4px;background:#fff;color:#4a4f55;box-shadow:0 20px 60px rgba(0,0,0,.35);position:fixed}
dialog.acceso::backdrop{background:rgba(40,40,40,.62)}
dialog.acceso h3{font-size:21px;font-weight:600;letter-spacing:-.005em;color:#111;margin:0 0 20px;padding-bottom:18px;border-bottom:1px solid #e9ebed;line-height:1.3}
dialog.acceso p{font-size:14.5px;line-height:1.7;color:#4a4f55;margin:0 0 16px}
dialog.acceso strong{color:#1f2327;font-weight:600}
dialog.acceso ul{margin:0 0 20px;padding-left:22px}
dialog.acceso li{font-size:14.5px;line-height:1.7;color:#4a4f55;margin:0 0 6px;padding-left:2px}
dialog.acceso li::marker{color:#1f2327}
dialog.acceso a{color:#0a6fb0;text-decoration:underline;text-underline-offset:2px}
dialog.acceso .req{margin-top:22px}
dialog.acceso .nota{font-size:13px;line-height:1.6;color:#6a7077;background:#f7f7f7;border-left:3px solid #d5d8db;border-radius:2px;padding:12px 16px;margin:22px 0 24px}
dialog.acceso .nota strong{color:#555}
dialog.acceso .acc-b{text-align:center}
dialog.acceso .acc-go{background:#333;color:#fff;border:0;border-radius:3px;padding:14px 40px;font:600 13.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
dialog.acceso .acc-go:hover,dialog.acceso .acc-go:focus-visible{background:#111}
dialog.acceso .acc-x{position:absolute;top:10px;right:14px;background:none;border:0;font-size:24px;line-height:1;color:#8a9097;cursor:pointer;padding:4px 8px}
dialog.acceso .acc-x:hover{color:#111}
@media(max-width:560px){dialog.acceso{padding:34px 22px 26px}}
dialog.acceso h3:focus{outline:0}

/* ===== v0.18 · toda la web con el lenguaje de los avisos de acceso =====
   Tarjeta blanca de esquinas casi rectas, título en negrita con línea fina, texto gris,
   nota con borde lateral y botón oscuro en mayúsculas. El color queda en las bandas. */
:root{--ink:#111;--strong:#1f2327;--tx:#4a4f55;--hair:#e9ebed;--nota:#f7f7f7;--nota-b:#d5d8db;--boton:#333;--enlace:#0a6fb0;
  --ac:#0F3C5C;--ac-d:#0F3C5C;--ac-l:#a9c3d6;--fg:#1f2327;--muted:#6a7077;--line:#e9ebed}
body,.page{color:var(--tx)}
strong,b{color:var(--strong);font-weight:600}
h1,h2,h3,.page h1,.page h2{color:var(--ink);font-weight:600;letter-spacing:-.005em}

/* botones */
.btn,.btn.primary,.fab,button[type=submit]{background:var(--boton);color:#fff;border:1px solid var(--boton);border-radius:3px!important;font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:13px 26px;box-shadow:none}
.btn:hover,.btn.primary:hover,.fab:hover,button[type=submit]:hover:not(:disabled){background:var(--ink);border-color:var(--ink)}
.btn.ghost{background:#fff;color:var(--boton);border:1px solid #c3c8cd}
.btn.ghost:hover{background:var(--nota);border-color:var(--boton);color:var(--ink)}
.btn:disabled,button[type=submit]:disabled{background:#c9ced3;border-color:#c9ced3;color:#fff}
.fab{box-shadow:0 6px 20px rgba(0,0,0,.22);padding:14px 22px}
#accBtn{border-radius:3px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--boton);border:1px solid #c3c8cd;background:#fff;padding:9px 14px}
#accBtn:hover{border-color:var(--boton)}
.menu{border-radius:4px;border:0;box-shadow:0 12px 36px rgba(0,0,0,.2);padding:8px}
.menu button{border-radius:2px;color:var(--strong)}
.menu button:hover{background:var(--nota)}
.minibar{border-radius:4px!important}

/* portada */
.hero h1{font-weight:600;letter-spacing:-.02em;font-size:clamp(26px,3.1vw,36px);line-height:1.18;color:var(--ink)}
.hero h1 em{font-weight:600}
.hero .sub-h{color:var(--tx)}
.sec-h h2,.idx-r h2{font-size:19px;font-weight:600;padding-bottom:16px;margin-bottom:22px;border-bottom:1px solid var(--hair)}
.idx-r h2{font-size:16px;margin-bottom:6px}
.tj{border:1px solid var(--hair);border-radius:4px;padding:24px 26px;min-height:0;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.tj:hover{border-color:#b9bfc5;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.tj h3{font-size:15.5px;font-weight:600;color:var(--ink);margin:10px 0 12px;padding-bottom:12px;border-bottom:1px solid var(--hair)}
.tj p{color:var(--tx)}
.tj-go{color:var(--enlace);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.idx-r{border:0;border-left:3px solid var(--nota-b);border-radius:2px;background:var(--nota);padding:22px 24px}
.idx-r .news li{border-bottom-color:#e3e5e7}
.news a{color:var(--strong);font-weight:600}
.news .nm,.news-list .nm{color:var(--bl)}
.idx-r .small a,.cat-go{color:var(--enlace);border:0;text-decoration:underline;text-underline-offset:3px;font-weight:500}
.cred{border-radius:4px;border:0;border-left:3px solid var(--bl);background:#eef3f7;box-shadow:none}
.cred li+li{border-left:1px solid #d7e0e7}
.cred span{color:#5a6b7a;font-weight:500}
.cred strong{color:var(--strong);font-weight:600}
.porque .intro h2{font-weight:600;color:#fff;border:0}
.porque .pilar h3{font-weight:600}
.porque .pilar p,.porque .intro p{font-weight:400}
.porque .btn{background:#fff;color:var(--ink);border-color:#fff}
.porque .btn:hover{background:var(--hair);border-color:var(--hair)}
.cierre{background:var(--nota);padding:56px 0;margin-top:0}
.cierre-g{border-top:0;padding-top:0}
.cierre h2{font-weight:600;font-size:20px}

/* interiores */
.phero{border-bottom:0}
.phero h1{font-weight:600!important;letter-spacing:-.01em;font-size:clamp(22px,2.6vw,30px)}
.phero .lead{font-weight:400;font-size:15px}
.sec{border-top:0;padding:26px 0 8px}
.sec h2{font-size:17px;font-weight:600;padding:0 0 14px;margin:0 0 18px;border-bottom:1px solid var(--hair)}
.sec h2::before{display:none}
.sec ul li{padding-left:22px}
.sec ul li::before,.actv li::before,.cat-b li::before{width:5px!important;height:5px!important;border-radius:50%!important;background:var(--strong)!important;top:.72em!important;left:4px!important}
.sec ol li::before{color:var(--strong)!important;font-weight:600}
.page a:not(.btn):not(.tj),.page .crumbs a{color:var(--enlace);text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:2px}
.page a:not(.btn):hover{color:#075489}
.page .crumbs a{text-decoration:none}
.page .lead{color:var(--tx)}
.page .box,.box{background:var(--nota)!important;border:0!important;border-left:3px solid var(--nota-b)!important;border-radius:2px;padding:26px 30px}
.box h2{font-size:16px;font-weight:600;border:0;padding:0;margin:0 0 8px}
input,select,textarea{border-radius:3px!important;border:1px solid #cfd3d7;color:var(--strong)}
input:focus,select:focus,textarea:focus{border-color:var(--boton)!important}
.actv{border:1px solid var(--hair);border-left:1px solid var(--hair)!important;border-radius:4px;background:#fff;padding:18px 22px}
.actv h3{font-size:14.5px;font-weight:600;color:var(--ink);padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--hair)}
.actv li{color:var(--tx);padding-left:18px}
.cat{border-bottom:1px solid var(--hair)}
.cat-a h3{font-weight:600;font-size:17px;color:var(--ink);letter-spacing:-.005em}
.cat-b{background:var(--nota);border-left:3px solid var(--nota-b);border-radius:2px;padding:16px 20px}
.cat-b li{color:var(--tx)}
.fams.ind a strong{font-weight:600;color:var(--strong)}
.fams.ind a{text-decoration:none!important}
.news-list a{font-weight:600;color:var(--strong)!important;text-decoration:none!important}
.news-list a:hover{text-decoration:underline!important}
.news-list li time,.ficha dt{color:var(--muted)}
details.faq{border-top:1px solid var(--hair)}
details.faq summary{font-weight:500;color:var(--strong)}
details.faq[open]>summary{color:var(--ink);font-weight:600}
details.faq>div{color:var(--tx)}
details.faq[open]>div{background:var(--nota);border-left:3px solid var(--nota-b);border-radius:2px;padding:14px 18px;margin:0 0 18px}
.faq-sec h3{color:var(--ink)!important;border-bottom-color:var(--hair)!important;font-size:12px;font-weight:600}
.faq-ix a{color:var(--tx)!important;text-decoration:none!important}
.faq-ix a:hover{color:var(--ink)!important;border-left-color:var(--boton)}
.porque.compacto .pilar h3{font-weight:600;font-size:15px}
.porque.compacto .pilar p{color:var(--tx)}

/* cuadro de cita con el mismo formato */
dialog:not(.acceso){border:0;border-radius:4px;padding:40px 44px 32px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.35);color:var(--tx)}
dialog:not(.acceso)::backdrop{background:rgba(40,40,40,.62)}
dialog:not(.acceso) h3{font-size:21px;font-weight:600;color:var(--ink);margin:0 0 20px;padding-bottom:18px;border-bottom:1px solid var(--hair)}
.cal-d,.cal-h,.cal-b{border-radius:3px!important}
.cal-d.on,.cal-h.on{background:var(--boton);border-color:var(--boton)}
input[type=checkbox]{accent-color:var(--boton)}
@media(max-width:760px){.cat-b{margin-top:14px}dialog:not(.acceso){padding:30px 22px 24px}.cred{border-left:3px solid var(--bl)}}
.phero::after{top:calc(50% - 75px)!important;transform:none!important;width:150px;height:150px}
@media(max-width:760px){.phero::after{width:96px;height:96px;top:calc(50% - 48px)!important}}
.mb-cta{border-radius:3px;background:var(--boton);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:9px 14px}
.mb-cta:hover{background:var(--ink)}
.porque .kick{font-size:10.5px}
.filtro input,.cal,form details,form details summary,.capa{border-radius:3px!important}
.cal{border:1px solid var(--hair)}
.faq-sec h3+details.faq{border-top:0}

/* v0.19 · iconos de familias */
.fams.ind a{display:grid;grid-template-columns:40px 1fr;column-gap:14px;align-items:start}
.fams.ind a .fam-i{grid-row:span 2;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--hair);border-radius:3px;background:#f3f6f9;color:var(--bl);font-style:normal;transition:background .2s,color .2s,border-color .2s}
.fams.ind a:hover .fam-i{background:var(--bl);color:#fff;border-color:var(--bl)}
.fams.ind a b{font-weight:600;color:var(--strong);font-size:14.5px;align-self:end}
.fams.ind a span{grid-column:2;margin-top:2px}
.fam-hero{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:0 0 18px;border:1px solid rgba(255,255,255,.4);border-radius:3px;background:rgba(255,255,255,.08);color:#fff;font-style:normal}
.fi{display:block}
.fams.ind a b{align-self:start!important;padding-top:1px}.fams.ind a .fam-i{align-self:start}

/* v0.20 · fotografías en las cabeceras (viradas a azul marino) */
.phero-foto{position:absolute;top:0;right:0;bottom:0;width:min(58%,720px);height:100%;object-fit:cover;opacity:.55;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 55%);mask-image:linear-gradient(90deg,transparent 0,#000 55%);pointer-events:none}
.phero-f::after{display:none!important}
.phero-f .phero-tx{max-width:620px}
@media(max-width:760px){.phero-foto{width:100%;opacity:.22;-webkit-mask-image:none;mask-image:none}.phero-f .phero-tx{max-width:none}}
.phero-foto{object-position:50% 18%}

/* ===== v0.21 · revisión de textos y nuevas piezas ===== */
.sec-sub{color:var(--tx);font-size:14.5px;line-height:1.7;margin:-4px 0 18px;max-width:70ch}
.sec-h .sec-sub{margin:-8px 0 22px}
.hero h1 em{font-style:normal;color:var(--bl)}

/* capa de información básica, siempre visible */
.capa-v,.acc-capa{background:#fff;border:1px solid var(--hair);border-left:3px solid var(--bl);border-radius:2px;padding:14px 18px;margin:6px 0 4px}
.capa-t{margin:0 0 8px!important;font-size:11px!important;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--bl)!important}
.capa-v ul,.acc-capa ul{list-style:none;margin:0;padding:0}
.capa-v li,.acc-capa li{font-size:12.5px!important;line-height:1.6!important;color:var(--tx);margin:0 0 5px!important;padding:0!important}
.capa-v li::before,.acc-capa li::before{display:none!important}
.capa-v a,.acc-capa a{color:var(--enlace);text-decoration:underline}
dialog.acceso .acc-capa{background:var(--nota);margin:18px 0}
dialog.acceso .acc-contactos{list-style:none;padding:0;margin:-6px 0 18px}
dialog.acceso .acc-contactos li{font-size:13.5px;margin:0 0 3px}
dialog:not(.acceso){width:min(640px,calc(100vw - 24px));max-height:calc(100vh - 32px);overflow:auto}
dialog:not(.acceso) .acc-x{position:absolute;top:10px;right:14px;background:none;border:0;font-size:24px;line-height:1;color:#8a9097;cursor:pointer;padding:4px 8px}
dialog h3:focus{outline:0}
form.f .consent{font-size:13px;line-height:1.55;color:var(--strong)}

/* tarjetas de servicios de la portada */
.tj{display:flex;flex-direction:column}
.tj-k{margin:0;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--bl)}
.tj h3 a{color:inherit;text-decoration:none}
.tj h3 a:hover{color:var(--bl)}
.tj>p:not(.tj-k){flex:1;line-height:1.6}
.tj-pie{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px}
.tj-cta{display:inline-block;background:var(--boton);color:#fff;border-radius:3px;padding:10px 16px;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;text-decoration:none}
.tj-cta:hover{background:var(--ink)}
.tj-go{margin:0;font-size:12.5px}
.tj:hover{transform:translateY(-3px)}
.tj{transition:transform .2s,box-shadow .2s,border-color .2s}

/* catálogo de servicios */
.cat{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:0 40px;padding:34px 0;scroll-margin-top:90px}
.cat-a h2{font-size:19px;font-weight:600;color:var(--ink);margin:8px 0 10px;line-height:1.3;border:0;padding:0}
.cat-a p{max-width:none;color:var(--tx);font-size:14px;line-height:1.7}
.cat-ctas{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:20px}
.cat-t{margin:0 0 10px!important;font-size:11px!important;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--bl)!important}
ul.chk{list-style:none;margin:0;padding:0}
ul.chk li{position:relative;padding:0 0 10px 26px!important;font-size:13.5px;line-height:1.6;color:var(--tx)}
ul.chk li::before{content:""!important;position:absolute;left:3px!important;top:.42em!important;width:11px!important;height:6px!important;border:0!important;border-left:2px solid var(--bl)!important;border-bottom:2px solid var(--bl)!important;border-radius:0!important;background:none!important;transform:rotate(-45deg)}
.aviso-w{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:#eef3f7;border-left:3px solid var(--bl);border-radius:2px;padding:22px 26px;margin:36px 0 8px}
.aviso-w h3{margin:4px 0 4px;font-size:16px}
.aviso-w p{margin:0;font-size:13.5px}
.aviso-k,.wid-k{margin:0!important;font-size:10.5px!important;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--bl)!important}

/* página de servicio */
.ents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:6px 0 10px}
.ent{border:1px solid var(--hair);border-radius:4px;padding:18px 20px 16px;background:#fff}
.ent-n{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--bl)}
.ent h3{font-size:14.5px;font-weight:600;margin:6px 0 6px;line-height:1.35}
.ent p{margin:0;font-size:13.5px;line-height:1.6;color:var(--tx)}
.acred{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.acred p{margin:0;background:#eef3f7;border-left:3px solid var(--bl);border-radius:2px;padding:9px 14px;font-size:12.5px;font-weight:600;color:var(--bl)}
ol.pasos{list-style:none!important;counter-reset:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
ol.pasos li{counter-increment:none;position:relative;padding:22px 18px 0 0!important;margin:0!important;border-top:2px solid var(--hair)}
ol.pasos li::before{content:""!important;position:absolute;left:0!important;top:-7px!important;width:12px!important;height:12px!important;border-radius:50%!important;background:var(--bl)!important;border:3px solid #fff;box-shadow:0 0 0 1px var(--bl)}
ol.pasos li::after{display:none}
.paso-n{display:block;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--bl)}
ol.pasos h3{font-size:14px;font-weight:600;margin:5px 0 6px;line-height:1.35}
ol.pasos p{margin:0;font-size:13px;line-height:1.6;color:var(--tx)}
ol.pasos.ciclo li:last-child::after{display:block;content:"↺ vuelve a empezar cada año";position:static;margin-top:10px;font-size:11px;letter-spacing:.04em;color:var(--bl);background:none;width:auto;height:auto}
.sol h2{font-size:17px!important;margin:0 0 8px!important}
.sol-b{margin:16px 0 0}
.cross{margin:18px 0 0;padding-top:14px;border-top:1px solid #dfe3e6;font-size:13.5px}
.rels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0 0}
.rel{display:block;border:1px solid var(--hair);border-radius:4px;padding:16px 18px;text-decoration:none!important;transition:border-color .2s}
.rel:hover{border-color:var(--bl)}
.rel span{display:block;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.rel strong{display:block;margin-top:4px;font-size:14px;color:var(--ink)}

/* herramientas */
.wid{border:1px solid #cfdbe5;border-top:3px solid var(--bl);border-radius:4px;background:#f6f9fb;padding:24px 26px;margin:22px 0 8px;scroll-margin-top:90px}
.wid h3{font-size:17px;font-weight:600;margin:4px 0 6px}
.wid-i{font-size:13.5px;color:var(--tx);margin:0 0 16px}
.wid-q{list-style:none!important;margin:0;padding:0;counter-reset:q}
.wid-q li{counter-increment:q;display:grid;grid-template-columns:1fr auto;gap:10px 20px;align-items:center;padding:14px 0!important;margin:0!important;border-top:1px solid #dbe4eb}
.wid-q li::before{display:none!important}
.wid-q li p{margin:0;font-size:13.5px;line-height:1.55;color:var(--strong)}
.sn{display:inline-flex;border:1px solid #c3c8cd;border-radius:3px;overflow:hidden;background:#fff}
.sn label{cursor:pointer;margin:0}
.sn input{position:absolute;opacity:0;width:1px;height:1px}
.sn span{display:block;padding:8px 18px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--boton)}
.sn label+label span{border-left:1px solid #c3c8cd}
.sn input:checked+span{background:var(--boton);color:#fff}
.sn input:focus-visible+span{outline:2px solid var(--bl);outline-offset:-2px}
.wid-r{margin-top:18px;padding-top:18px;border-top:2px solid var(--bl)}
.badge{display:inline-block;margin:0 0 10px!important;padding:7px 14px;border-radius:3px;font-size:12px!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.b-alerta{background:#fbe9e2;color:#a1340d!important;border-left:3px solid #c2410c}
.b-ok{background:#e4f1ec;color:#17603f!important;border-left:3px solid #1f7a52}
.wid-nota{font-size:12px!important;color:var(--muted)!important;margin:14px 0 10px!important;line-height:1.55}
.wid-reset{background:none;border:0;padding:0;font:inherit;font-size:12.5px;color:var(--enlace);text-decoration:underline;cursor:pointer}
.dg-bar{height:4px;background:#dbe4eb;border-radius:2px;overflow:hidden;margin:0 0 18px}
.dg-bar span{display:block;height:100%;width:0;background:var(--bl);transition:width .35s}
.dg-p{border:0;margin:0;padding:0;min-width:0}
.dg-p legend{padding:0;font-size:15px;font-weight:500;line-height:1.5;color:var(--strong);margin-bottom:14px}
.dg-p legend span{display:block;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--bl);margin-bottom:6px}
.dg-o{display:flex;gap:8px;flex-wrap:wrap}
.dg-o button{background:#fff;border:1px solid #c3c8cd;border-radius:3px;padding:11px 18px;font:inherit;font-size:13px;font-weight:500;color:var(--strong);cursor:pointer}
.dg-o button:hover,.dg-o button:focus-visible{border-color:var(--boton);background:var(--nota)}
.dg-pct{margin:0 0 6px!important;padding:14px 18px;border-radius:3px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.dg-pct strong{font-size:28px;font-weight:600;line-height:1}
.dg-pct span{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.dg-pct.alto{background:#fbe9e2;color:#a1340d}.dg-pct.alto strong{color:#a1340d}
.dg-pct.medio{background:#fcf1d8;color:#8a5a00}.dg-pct.medio strong{color:#8a5a00}
.dg-pct.bajo{background:#e4f1ec;color:#17603f}.dg-pct.bajo strong{color:#17603f}
.dg-msg{font-size:14px;margin:10px 0 14px!important}
.dg-car{background:#fff;border:1px solid var(--hair);border-left:3px solid var(--nota-b);border-radius:2px;padding:12px 16px;margin:0 0 16px}
.dg-car ul{margin:0;padding-left:18px}.dg-car li{font-size:13px;margin:0 0 3px;padding:0!important}.dg-car li::before{display:none!important}
.dg-car li em{font-style:normal;color:var(--muted);font-size:12px}
.fu-in{display:grid;grid-template-columns:1fr 96px;gap:8px 16px;align-items:center;margin:0 0 16px}
.fu-in label{grid-column:1/-1;font-size:12.5px;color:var(--muted)}
.fu-in input[type=range]{width:100%;accent-color:var(--bl);border:0!important;padding:0;background:none}
.fu-in input[type=number]{text-align:center;font-weight:600;padding:9px 6px}
.fu-h{grid-column:1/-1;font-size:11.5px;color:var(--muted)}
.fu-out{background:#fff;border:1px solid var(--hair);border-left:3px solid var(--bl);border-radius:2px;padding:16px 20px}
.fu-cifra{margin:0!important;font-size:14px}
.fu-cifra strong{font-size:26px;font-weight:600;color:var(--bl);margin:0 4px}
.fu-cof{margin:4px 0 0!important;font-size:13.5px}
.fu-msg{margin:8px 0 0!important;font-size:13px;color:var(--tx)}
.fu-nota{font-size:13px;margin:0 0 14px!important}
.diag-b{background:#eef3f7;padding:44px 0;margin-top:64px}
.diag-g{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.diag-g h2{font-size:20px;margin:0 0 6px;border:0;padding:0}
.diag-g p{margin:0;font-size:14px}
.diag-b+.porque{margin-top:0}

/* formación */
.sellos{list-style:none!important;margin:20px 0 6px!important;padding:0!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sellos li{background:#eef3f7;border-left:3px solid var(--bl);border-radius:2px;padding:14px 16px!important;font-size:13px;line-height:1.55;color:var(--tx)}
.sellos li::before{display:none!important}
.sellos strong{display:block;margin-bottom:4px;color:var(--bl);font-size:13.5px}
ul.fams.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
ul.fams.grid>li.fam{display:flex;flex-direction:column;border:1px solid var(--hair);border-radius:4px;padding:18px 18px 16px!important;background:#fff;transition:border-color .2s,box-shadow .2s}
ul.fams.grid>li.fam::before{display:none!important}
ul.fams.grid>li.fam:hover{border-color:#b9bfc5;box-shadow:0 8px 24px rgba(0,0,0,.07)}
.fam .fam-i{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--hair);border-radius:3px;background:#f3f6f9;color:var(--bl)}
.fam h3{font-size:14.5px;font-weight:600;margin:12px 0 8px;line-height:1.35}
.fam ul{list-style:none;margin:0 0 12px;padding:0;flex:1}
.fam ul li{font-size:12.5px;line-height:1.5;color:var(--muted);padding:2px 0 2px 14px!important;position:relative}
.fam ul li::before{content:"";position:absolute;left:2px!important;top:.75em!important;width:4px!important;height:4px!important;border-radius:50%;background:var(--nota-b)!important}
.fam-go{font-size:12.5px;font-weight:500}
.acr .fam-i{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--hair);border-radius:3px;background:#f3f6f9;color:var(--bl);font-style:normal}

/* novedades */
.nv{display:flex;flex-direction:column}
.nv-meta{margin:0 0 8px!important;font-size:11px!important;line-height:1.5;color:var(--muted)}
.nv-tipo{font-weight:700;letter-spacing:.08em;color:var(--bl)}
.nv-org{font-weight:600;color:var(--strong)}
.nv h2,.nv h3{font-size:15px;font-weight:600;line-height:1.4;margin:0 0 8px;border:0;padding:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nv h2 a,.nv h3 a{color:var(--ink)!important;text-decoration:none!important}
.nv h2 a:hover,.nv h3 a:hover{text-decoration:underline!important}
.nv-imp{margin:0 0 10px!important;font-size:13px!important;line-height:1.55;color:var(--tx)}
.nv-imp.grande{font-size:15px!important;background:var(--nota);border-left:3px solid var(--nota-b);padding:12px 16px;border-radius:2px}
.nv-tags{list-style:none!important;margin:0 0 12px!important;padding:0!important;display:flex;flex-wrap:wrap;gap:6px}
.nv-tags li{padding:3px 9px!important;margin:0!important;border:1px solid #cfdbe5;border-radius:999px;font-size:11px!important;color:var(--bl);background:#fff;line-height:1.4}
.nv-tags li::before{display:none!important}
.nv-pie{margin:auto 0 0!important;display:flex;align-items:center;gap:10px}
.nv-cta{font-size:12.5px;font-weight:600;color:var(--enlace)!important}
.nvc{position:relative}
.nvc-pista{list-style:none;margin:0;padding:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:0}
.nvc-pista::-webkit-scrollbar{display:none}
.nvc-it{flex:0 0 100%;scroll-snap-align:start;min-width:0;padding:14px 2px 6px;border-top:1px solid #e3e5e7}
.nvc-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 4px;padding-top:10px;border-top:1px solid #e3e5e7}
.nvc-b{width:34px;height:34px;border:1px solid #c3c8cd;border-radius:3px;background:#fff;color:var(--boton);font-size:18px;line-height:1;cursor:pointer}
.nvc-b:hover{border-color:var(--boton);background:var(--boton);color:#fff}
.nvc-n{font-size:12px;color:var(--muted)}
.nv-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:8px 0 30px}
.nv-lista .nv{border:1px solid var(--hair);border-radius:4px;padding:20px 22px;background:#fff}
.nv-lista .nv h2{font-size:16px}

/* quiénes somos */
.acrs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:8px 0 26px}
.acr{border:1px solid var(--hair);border-radius:4px;padding:20px;background:#fff}
.acr h3{font-size:14.5px;font-weight:600;margin:12px 0 6px;line-height:1.35}
.acr-n{display:inline-block;margin:0 0 10px!important;padding:4px 10px;background:#eef3f7;border-radius:3px;font-size:12px!important;font-weight:700;color:var(--bl)!important}
.acr p{margin:0;font-size:13px;line-height:1.6;color:var(--tx)}

/* FAQ por categorías */
.faq-cats{margin:6px 0 22px}
.faq-ayuda{font-size:13px;color:var(--muted);margin:0 0 12px}
.faq-cats ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.faq-cat{display:flex;flex-direction:column;justify-content:space-between;gap:10px;height:100%;border:1px solid var(--hair);border-top:3px solid var(--nota-b);border-radius:3px;padding:14px 14px 12px;background:#fff;text-decoration:none!important;color:var(--strong)!important;transition:border-color .2s,background .2s}
.faq-cat span{font-size:13.5px;font-weight:600;line-height:1.35}
.faq-cat small{font-size:11.5px;color:var(--muted)}
.faq-cat:hover{border-color:#b9bfc5;border-top-color:var(--bl)}
.faq-cat[aria-expanded=true]{border-color:var(--bl);border-top-color:var(--bl);background:#eef3f7}
.faq-cat[aria-expanded=true] span{color:var(--bl)}
.faq-sec{margin:0 0 30px;scroll-margin-top:90px}
.faq-sec>h2{font-size:17px;font-weight:600;color:var(--ink);margin:0 0 4px;padding:0 0 12px;border-bottom:1px solid var(--bl)}
.faq-sec h2+details.faq{border-top:0}
details.faq summary h3{display:inline;font-size:inherit;font-weight:inherit;color:inherit;margin:0;line-height:inherit;letter-spacing:0}
.js .faqs[data-faq] .faq-sec:not(.on){display:none}
.confirma{max-width:560px;margin:60px auto;padding:0 24px;text-align:left}

@media(max-width:900px){ol.pasos{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}.faq-cats ul{grid-template-columns:repeat(2,minmax(0,1fr))}ul.fams.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .ents,.rels,.sellos,.acrs,.nv-lista,ul.fams.grid{grid-template-columns:1fr}
  ol.pasos{grid-template-columns:1fr}
  .wid{padding:20px 18px}.wid-q li{grid-template-columns:1fr}
  .fu-in{grid-template-columns:1fr 84px}
  .cat{grid-template-columns:1fr}
  .diag-b{margin-top:44px;padding:34px 0}
}
.tj .tj-k{font-size:10.5px;line-height:1.5;flex:none;color:var(--bl)}
.tj-pie{flex-direction:column;align-items:flex-start;gap:10px}
.idx>*,.tg,.tj,.nvc,.nvc-pista{min-width:0}
.idx-r{overflow:hidden}
input[type=tel],input[type=number]{width:100%;padding:10px 12px;border:1px solid #cfd3d7;font:inherit;font-size:14px;background:#fff;color:var(--strong)}
.faq-sec details.faq summary h3{text-transform:none!important;border:0!important;padding:0!important;letter-spacing:0!important;font-size:inherit!important;color:inherit!important;font-weight:inherit!important}
.dg .wid-r{border-top:0;padding-top:0;margin-top:0}

/* v0.22 · calculadora FUNDAE conforme a norma y aviso de «no se recogen datos» */
.wid-priv{display:flex;gap:8px;align-items:flex-start;margin:0 0 16px!important;padding:9px 12px;background:#fff;border:1px solid #cfdbe5;border-radius:3px;font-size:12.5px!important;line-height:1.5;color:var(--bl)!important;font-weight:500}
.wid-priv::before{content:"";flex:none;width:14px;height:14px;margin-top:2px;background:var(--bl);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l8 3v6c0 5-3.4 9-8 11-4.6-2-8-6-8-11V5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l8 3v6c0 5-3.4 9-8 11-4.6-2-8-6-8-11V5z'/%3E%3C/svg%3E") center/contain no-repeat}
.fu-modo{border:0;margin:0 0 14px;padding:0;min-width:0}
.fu-modo legend{padding:0;margin-bottom:6px;font-size:12.5px;color:var(--muted)}
.fu-modo label{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--strong);margin:0 0 5px;cursor:pointer}
.fu-modo input{margin-top:3px;accent-color:var(--bl)}
.fu-dato{margin:0 0 16px}
.fu-dato label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:4px}
.fu-dato input{max-width:260px}
.fu-dato .fu-h{display:block;margin-top:5px}
.fu-norma{margin:14px 0 4px;border:1px solid var(--hair);border-radius:3px;background:#fff}
.fu-norma summary{cursor:pointer;padding:10px 14px;font-size:13px;font-weight:600;color:var(--bl)}
.fu-norma ul{margin:0;padding:2px 16px 12px 32px}
.fu-norma li{font-size:12.5px;line-height:1.6;color:var(--tx);margin:0 0 6px;padding:0!important}
.fu-norma li::before{display:none!important}
.fu-out .fu-msg+.fu-msg{padding-top:8px;border-top:1px solid var(--hair)}

/* v0.27 — el buscador de familias ocultaba con [hidden], pero display:flex lo anulaba */
.fams>li[hidden]{display:none!important}
.fams-vacio{margin:14px 0 0;color:var(--muted)}
/* v0.27 — avisos de Área clientes y Plataforma de formación, más anchos */
dialog.acceso{width:min(860px,calc(100vw - 24px))}
dialog.acceso{max-width:none}

/* ---- v0.29: botón flotante, avisos de acceso y novedades por apartados ---- */
.fab{transition:opacity .25s ease,transform .25s ease}
.fab.fab-oculto{opacity:0;pointer-events:none;transform:translateY(18px)}
dialog.acceso .req{background:#fff7e3;border:1px solid #efd48c;border-left:4px solid #b7861a;border-radius:3px;padding:14px 18px;color:#3b2f10}
dialog.acceso .req strong{color:#2a2109}
dialog.acceso .recuerda{margin:0 0 14px;padding:12px 16px;border:1px solid #d8e3ea;border-radius:3px;background:#f4f8fb;color:#1f2f3a;font-size:14px;font-weight:600;text-align:center}
dialog.acceso .no-mas{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 18px;font-size:13px;color:#5b6168;cursor:pointer}
dialog.acceso .no-mas input{width:16px;height:16px;margin:0;accent-color:#0F3C5C}
.nv-sec{margin:30px 0 0}
.nv-sec h3{font-size:19px;font-weight:600;margin:0 0 12px;color:var(--ink,#0f2232)}
.nv-sec p{margin:0 0 12px}
.nv-claves,.nv-hacer,.nv-afecta{border-radius:3px;padding:20px 24px}
.nv-claves{background:#f5f8fa;border-left:4px solid #0F3C5C}
.nv-claves ul,.nv-hacer ul,.nv-hacer ol{margin:0;padding-left:20px}
.nv-claves li,.nv-hacer li{margin:0 0 8px;line-height:1.6}
.nv-afecta{border:1px solid #e1e6ea}
.nv-hacer{background:#f2f9f8;border:1px solid #bfe3df;border-left:4px solid #1a9c8f}
.nv-hacer h3::before{content:"";display:inline-block;width:8px;height:8px;margin:0 10px 2px 0;border-radius:50%;background:#1a9c8f}
.nv-ayuda{margin:40px 0 8px;padding:24px 26px;border:1px solid #e1e6ea;border-radius:3px;background:#fff}
.nv-ayuda .nv-ayuda-t{font-weight:600;font-size:18px;color:var(--ink,#0f2232);margin:0 0 6px}
.nv-ayuda p:last-child{margin:14px 0 0}
@media(max-width:600px){.nv-claves,.nv-hacer,.nv-afecta,.nv-ayuda{padding:16px 16px}.nv-sec h3{font-size:17px}}

/* ---- v0.31: mensaje de confirmación de los formularios (ventana emergente o en la página) ---- */
dialog.ok-dlg{width:min(440px,calc(100vw - 32px));border:0;border-radius:12px;padding:34px 34px 28px;background:#fff;color:#2b3036;box-shadow:0 24px 70px rgba(10,30,45,.35)}
dialog.ok-dlg::backdrop{background:rgba(15,30,45,.55)}
dialog.ok-dlg h3{font-family:var(--sans,inherit);font-size:20px;font-weight:600;color:#0F3C5C;margin:0 0 10px;letter-spacing:-.005em;border:0;padding:0}
dialog.ok-dlg h3:focus{outline:0}
dialog.ok-dlg .ok-msg{font-size:15px;line-height:1.65;color:#4a4f55;margin:0}
dialog.ok-dlg .ok-b{text-align:center;margin-top:24px}
dialog.ok-dlg .ok-go{background:#0F3C5C;color:#fff;border:0;border-radius:4px;padding:12px 38px;font:600 13px/1 var(--sans,inherit);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
dialog.ok-dlg .ok-go:hover,dialog.ok-dlg .ok-go:focus-visible{background:#0b2d46}
.ok-img{display:block;object-fit:contain;flex:none}
dialog.ok-dlg.pos-arriba .ok-cuerpo,.thanks.pos-arriba{text-align:center}
dialog.ok-dlg.pos-arriba .ok-img,.thanks.pos-arriba .ok-img{margin:0 auto 18px}
dialog.ok-dlg.pos-izquierda .ok-cuerpo,.thanks.pos-izquierda{display:flex;gap:20px;align-items:flex-start}
.thanks,.prop-b .thanks{margin:0;background:#fff;border:1px solid #d9e4ec;border-left:4px solid #1a9c8f;border-radius:6px;padding:24px 26px;color:#13212d}
.thanks p{margin:0;font-size:15.5px;line-height:1.65}
.thanks .thanks-t{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#0F3C5C;margin:0 0 8px}
.enviado{margin:0;padding:14px 18px;border-radius:6px;background:#eef7f5;color:#14524b;font-weight:600;font-size:15px}
@media (max-width:560px){dialog.ok-dlg{padding:28px 22px 22px}dialog.ok-dlg.pos-izquierda .ok-cuerpo,.thanks.pos-izquierda{gap:14px}}

/* ---- v0.32: cursos comunes a varios sectores ---- */
.cursos{list-style:none;padding:0!important;margin:18px 0 38px;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.cursos>li{margin:0!important;padding:0!important}
.cursos>li::before{display:none!important}
.cu a{display:flex;flex-direction:column;height:100%;box-sizing:border-box;padding:24px 24px 20px;border:1px solid #dde6ed;border-radius:14px;background:#fff;color:#1f2a33;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.cu a:hover,.cu a:focus-visible{transform:translateY(-3px);box-shadow:0 14px 34px rgba(15,60,92,.12);border-color:#b9d3e2}
.cu-i{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:#eaf3f8;color:#0F3C5C;margin-bottom:14px}
.cu-i .ci-img{width:26px;height:26px;object-fit:contain}
.cu-meta{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#1a8c80;margin:0 0 6px}
.cu h3{font-size:18px;line-height:1.3;margin:0 0 10px;color:#0f2232}
.cu-txt{font-size:14px;line-height:1.55;color:#55606b;margin:0 0 10px;flex:1}
.cu-var{font-size:13px;color:#3d4a55;margin:0 0 10px}
.cu-pie{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:6px 0 0;padding-top:14px;border-top:1px solid #edf1f4}
.cu-tag{font-size:11.5px;font-weight:600;color:#14524b;background:#e6f5f2;border-radius:999px;padding:4px 10px}
.cu-go{font-size:13.5px;font-weight:600;color:#0F3C5C}
.cu-mods{display:grid;gap:14px;margin:14px 0 6px}
.cu-mod{border:1px solid #dde6ed;border-left:4px solid #0F3C5C;border-radius:8px;padding:16px 20px;background:#fff}
.cu-mod-n{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#1a8c80;margin:0 0 4px}
.cu-mod h3{font-size:16.5px;margin:0 0 8px}
.cu-mod ul{margin:0;padding-left:18px}.cu-mod li{margin:0 0 4px;line-height:1.5}
.cu-obj li{margin:0 0 6px}
.cu-fams{list-style:none;padding:0!important;display:flex;flex-wrap:wrap;gap:8px}
.cu-fams li{margin:0!important;padding:0!important}.cu-fams li::before{display:none!important}
.cu-fams a{display:inline-block;padding:6px 12px;border:1px solid #cfe0ea;border-radius:999px;font-size:13.5px;text-decoration:none}
.fam-hero .ci-img{width:28px;height:28px}

/* v0.33: etiqueta y horas de los cursos por familias */
.fam-pie{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}
.fam-pie .cu-tag{font-size:11.5px!important;line-height:1.3}
.fam-pie .fam-h{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#1a8c80}
.page .fam-pie,.phero .fam-pie{margin:4px 0 14px;padding-top:0}

/* ===== v0.36: Formación ===== */
.fe-sec{margin:56px 0 0}.fe-sec h2{font-size:clamp(24px,2.6vw,32px);margin:6px 0 10px;border:0!important;padding:0!important;line-height:1.2}
.fe-k,.fe-k2{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#1a8c80;margin:0;font-weight:600}
.fe-sub{color:#55606b;font-size:16.5px;max-width:640px;margin:0 0 22px}
.fe-sec a,.fe-sec a *{text-decoration:none!important}.fe-sec ul,.fe-sec ol{padding-left:0!important;list-style:none}.fe-sec li::before{display:none!important}.fe-sec li{padding-left:0!important}
.fe-busca{margin-top:40px;padding:36px;border-radius:22px;background:linear-gradient(180deg,#f3f8fa,#fff);border:1px solid #e1ebf0}
.fe-buscar{position:relative;max-width:720px}
.fe-buscar input{width:100%;box-sizing:border-box;font-size:17px;padding:18px 20px 18px 52px;border-radius:14px;border:1px solid #cfdde5;box-shadow:0 8px 26px rgba(15,60,92,.08);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%230F3C5C' stroke-width='2'%3E%3Ccircle cx='9' cy='9' r='7'/%3E%3Cpath d='M14 14l6 6'/%3E%3C/svg%3E") no-repeat 18px 50%}
.fe-buscar input:focus{outline:none;border-color:#1aa797;box-shadow:0 0 0 4px rgba(26,167,151,.15)}
.fe-res{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.18);margin:0;padding:6px!important;z-index:20;max-height:330px;overflow:auto}
.fe-res a{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:8px;color:#13222f}.fe-res a:hover{background:#eef6f8}.fe-res span{color:#5d6b77;font-size:13px}
.fe-o{color:#6b7884;font-size:13.5px;margin:18px 0 10px}
.fe-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fe-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;border:1px solid #dfe8ee;background:#fff;border-radius:16px;padding:18px 18px 16px;cursor:pointer;color:#13222f;transition:transform .18s,box-shadow .18s,border-color .18s;min-height:150px}
.fe-tile:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,60,92,.12);border-color:#b9cdd8}
.fe-tile[aria-expanded=true]{border-color:#0F3C5C;box-shadow:0 0 0 2px #0F3C5C inset;background:#f7fbfc}
.fe-ti{display:inline-flex;width:52px;height:52px;border-radius:14px;align-items:center;justify-content:center;background:linear-gradient(135deg,#e3f4f2,#e6eef6);color:#0F3C5C;font-style:normal;margin-bottom:6px}
.fe-tn{font-weight:650;font-size:15.5px;line-height:1.3}.fe-tc{font-size:12.5px;color:#1a8c80}
.fe-ta{position:absolute;right:16px;top:18px;color:#93a6b3;font-size:18px;transition:transform .2s}.fe-tile[aria-expanded=true] .fe-ta{transform:rotate(90deg);color:#0F3C5C}
.fe-panel{margin:14px 0 0;background:#fff;border:1px solid #dfe8ee;border-radius:16px;padding:10px 12px;box-shadow:0 14px 34px rgba(15,60,92,.08)}
.fe-pt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#6b7884;margin:6px 8px 6px}
.fe-fila{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;padding:12px 10px;border-radius:12px;color:#13222f;border-top:1px solid #eef2f5}
.fe-fila:first-of-type{border-top:0}.fe-fila:hover{background:#f3f8fa}
.fe-fi{display:inline-flex;width:40px;height:40px;border-radius:11px;align-items:center;justify-content:center;background:#e8f4f6;color:#0F3C5C;font-style:normal}
.fe-ft b{display:block;font-size:15.5px}.fe-ft small{color:#6b7884;font-size:13px}
.fe-fn{font-size:12.5px;color:#1a8c80;white-space:nowrap}.fe-fg{font-weight:600;color:#0F3C5C;white-space:nowrap;font-size:14px}
.fe-pasos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 0;counter-reset:p}
.fe-pasos li{position:relative;padding:22px 20px 20px!important;border-radius:16px;background:#fff;border:1px solid #e3eaef;margin:0!important}
.fe-pasos li:not(:last-child)::after{content:"";position:absolute;right:-14px;top:40px;width:14px;height:2px;background:#bfd6de;display:block!important}
.fe-n{display:inline-flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:#0F3C5C;color:#fff;font-weight:700;margin-bottom:12px}
.fe-pasos b{display:block;font-size:16px;margin-bottom:6px}.fe-pasos p{margin:0;color:#55606b;font-size:14px;line-height:1.5}
.fe-curs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.fe-cur{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #e1e8ee;border-radius:14px;background:#fff;color:#13222f;transition:border-color .15s,background .15s}
.fe-cur:hover{border-color:#0F3C5C;background:#f7fbfc}
.fe-ci{display:inline-flex;width:42px;height:42px;flex:0 0 42px;border-radius:11px;align-items:center;justify-content:center;background:#e8f4f6;color:#0F3C5C;font-style:normal}
.fe-cur .fe-ct{flex:1}.fe-cur b{display:block;font-size:15px;line-height:1.3}.fe-cur small{color:#1a8c80;font-size:12.5px}.fe-cg{color:#93a6b3;font-size:18px}
.fe-por{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.fe-por div{padding:20px;border-radius:16px;background:#f5f8fa;border-left:4px solid #1aa797}.fe-por b{display:block;font-size:16px;margin-bottom:6px}.fe-por p{margin:0;color:#55606b;font-size:14px;line-height:1.5}
.fe-cta{margin:56px calc(50% - 50vw) 0;padding:56px max(24px,calc(50vw - 456px));background:radial-gradient(900px 300px at 85% 0%,rgba(38,198,180,.3),transparent 60%),linear-gradient(135deg,#0b2740,#0F3C5C);color:#fff;text-align:center}
.fe-cta h2{color:#fff;font-size:clamp(26px,3vw,36px);margin:0 0 10px;border:0;padding:0}.fe-cta p{color:#cfe0ea;max-width:620px;margin:0 auto 22px}
.fe-btn{display:inline-block;background:#26c6b4;color:#062433!important;font-weight:700;padding:14px 26px;border-radius:12px;text-decoration:none!important}

/* v0.36: página de Formación (diseño único) */
.fe{margin:0}
.fe-tiles .fe-panel{grid-column:1/-1;margin:2px 0 4px}
.fe-fm{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.fe-fila{grid-template-columns:auto 1fr auto auto}
@media(max-width:560px){.fe-fm{display:none}}
@media(max-width:900px){.fe-tiles{grid-template-columns:1fr 1fr}.fe-pasos{grid-template-columns:1fr 1fr}.fe-pasos li::after{display:none!important}.fe-por{grid-template-columns:1fr}.fe-curs{grid-template-columns:1fr}}
@media(max-width:560px){.fe-busca{padding:22px}.fe-tiles{grid-template-columns:1fr 1fr;gap:8px}.fe-tile{min-height:0;padding:14px}.fe-pasos{grid-template-columns:1fr}.fe-fila{grid-template-columns:auto 1fr}.fe-fg{display:none}}
@media (prefers-reduced-motion:reduce){.fe-tile,.fe-cur{transition:none}}
html{overflow-x:clip}

.fe-pasos h3,.fe-por h3{font-size:16px;margin:0 0 6px;line-height:1.3;font-weight:650;border:0;padding:0}
