/* Reagendar — hoja de estilos del sitio */

@font-face{font-family:"Bricolage Grotesque";src:url(/assets/fonts/bricolage-grotesque-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url(/assets/fonts/bricolage-grotesque-800.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible Next";src:url(/assets/fonts/atkinson-hyperlegible-next-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible Next";src:url(/assets/fonts/atkinson-hyperlegible-next-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible Next";src:url(/assets/fonts/atkinson-hyperlegible-next-700.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --navy:#102F60;
  --navy-900:#092853;
  --blue:#126DAA;
  --cyan:#0FB7E6;
  --red:#CB2D3A;
  --red-700:#A82633;
  --sky:#0FB7E6;
  --paper:#F2F7FB;
  --line:#D7E3EE;
  --card-line:#9FD6EE;
  --wa-green:#17C766;
  --ink:#14213D;
  --muted:#4B5A78;
  --white:#fff;
  --wa:#1E8E4E;
  --display:"Bricolage Grotesque","Arial Narrow",Arial,sans-serif;
  --text:"Atkinson Hyperlegible Next",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1180px;
  --gutter:clamp(20px,4vw,40px);
  --section:clamp(64px,9vw,112px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--white);color:var(--ink);font:400 1.125rem/1.6 var(--text);text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--navy);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--red)}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;line-height:1.08;letter-spacing:-.015em;color:var(--navy);margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2.25rem,4.8vw,3.75rem)}
h2{font-size:clamp(1.75rem,3.2vw,2.5rem)}
h3{font-size:1.3rem;font-weight:700;letter-spacing:0;line-height:1.2}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.25em}
strong{font-weight:700}
.wrap{width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto}
.narrow{max-width:760px}
.section{padding-block:var(--section)}
.section--paper{background:var(--paper)}
.section-head{max-width:640px;margin-bottom:clamp(32px,5vw,56px)}
.section-head p{color:var(--muted);font-size:1.15rem;margin:0}
.lead{font-size:clamp(1.15rem,1.6vw,1.3rem);color:var(--muted);max-width:56ch}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--navy);color:var(--white);padding:10px 16px;border-radius:8px}
.skip-link:focus{top:12px;color:var(--white)}
.icon{width:1.15em;height:1.15em;fill:currentColor;flex:none}

/* Migas de pan */
.breadcrumb{font-size:.95rem;color:var(--muted);margin-bottom:18px}
.breadcrumb ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.breadcrumb li+li::before{content:"/";margin-right:6px;color:var(--line)}
.breadcrumb a{color:var(--muted)}

/* Lista con verificación */
.checklist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.checklist li{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.checklist .icon{color:var(--cyan);margin-top:.25em}
.checklist--single{grid-template-columns:1fr}
@media (max-width:760px){.checklist{grid-template-columns:1fr}}

/* Sedes */
.sedes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,32px)}
.sede{display:flex;flex-direction:column}
.sede img{border-radius:16px;aspect-ratio:4/3;object-fit:cover;width:100%;margin-bottom:18px}
.sede h3{margin-bottom:6px}
.sede address{font-style:normal;color:var(--muted);margin-bottom:14px}
.sede .links{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px 18px}
.hours{margin-top:32px;color:var(--muted)}
@media (max-width:860px){.sedes{grid-template-columns:1fr}}

/* Guías */
.guides{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px}
.guides li{border-top:1px solid var(--line);padding:22px 0 26px}
.guides a{text-decoration:none}
.guides h3{font-size:1.2rem;margin-bottom:8px}
.guides a:hover h3{color:var(--red)}
.guides p{color:var(--muted);margin:0;font-size:1rem}
@media (max-width:900px){.guides{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.guides{grid-template-columns:1fr}}

/* Preguntas frecuentes */
.faq{border-top:2px solid var(--navy)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font:700 1.15rem/1.35 var(--text);color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 1.8rem/1 var(--text);color:var(--red);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details>div{padding:0 0 22px;color:var(--muted);max-width:68ch}
.faq details>div p:last-child{margin:0}

/* Franja de cierre */
.cta-band{background:var(--navy);color:var(--white);padding-block:clamp(56px,8vw,96px)}
.cta-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.cta-band h2{color:var(--white);margin-bottom:.3em}
.cta-band p{color:#C9D4EA;margin:0;max-width:52ch;font-size:1.15rem}

/* Páginas de servicio y sedes */
.page-hero{padding-block:clamp(32px,5vw,64px) clamp(48px,6vw,80px);background:var(--paper)}
.page-hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center}
.page-hero img{border-radius:20px;width:100%;aspect-ratio:4/3;object-fit:cover}
.page-hero--plain .wrap{grid-template-columns:1fr}
@media (max-width:860px){.page-hero .wrap{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.prose{max-width:68ch}
.prose h2{margin-top:1.6em}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:1.4em}
.prose li{margin-bottom:.4em}
.info-card{background:linear-gradient(135deg,#092853 0%,#0C3B7A 100%);color:#CFDDF0;border:0;border-radius:16px;padding:30px;box-shadow:0 24px 44px -28px rgba(9,40,83,.75)}
.info-card h2,.info-card h3{margin-top:0;color:var(--white)}
.info-card address{font-style:normal;margin-bottom:12px;color:var(--white)}
.info-card strong{color:var(--white)}
.info-card p{color:#CFDDF0}
.info-card p:last-child{margin-bottom:0}
.info-card a:not(.btn){color:var(--white)}
.info-card .btn--ghost{border-color:rgba(255,255,255,.55);color:var(--white);background-color:rgba(255,255,255,.08)}
.info-card .btn--ghost:hover{background-color:var(--white);color:var(--navy)}
.notice{background:var(--paper);border-radius:14px;padding:22px 26px;color:var(--ink)}
.notice p:last-child{margin:0}
.related-links{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.related-links a{display:inline-block;padding:10px 16px;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-weight:700;background:var(--white)}
.related-links a:hover{border-color:var(--red)}

/* Video bajo demanda */
.video{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:var(--navy)}
.video button{position:absolute;inset:0;width:100%;border:0;background:radial-gradient(circle at 50% 50%,#1b3d7d 0,var(--navy) 70%);color:var(--white);font:700 1.15rem var(--text);cursor:pointer;display:grid;place-items:center;gap:12px;align-content:center}
.video button span.play{width:76px;height:76px;border-radius:50%;background:var(--red);display:grid;place-items:center}
.video button span.play::before{content:"";border-left:22px solid var(--white);border-block:13px solid transparent;margin-left:6px}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Blog */
.blog-head{background:var(--paper);padding-block:clamp(32px,5vw,56px) clamp(96px,12vw,150px)}
.blog-head h1{margin-bottom:.3em}
.blog-head .lead{margin:0}
.badge{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--red);color:var(--white);font:700 .75rem/1.4 var(--text);letter-spacing:.04em;text-transform:none;margin-right:10px;vertical-align:middle}
.badge--soft{background:#E3F5FC;color:var(--blue);margin:0 0 0 8px}
.post-cat{display:block;font:700 .82rem/1.3 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}

/* Destacadas (carrusel) */
.feat{margin-top:clamp(-120px,-9vw,-72px)}
.feat-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:20px;box-shadow:0 30px 60px -36px rgba(9,40,83,.55)}
.feat-track::-webkit-scrollbar{display:none}
.feat-slide{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:.95fr 1.05fr;background:var(--white);min-height:420px}
.feat-text{padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.feat-text h2{font-size:clamp(1.7rem,3vw,2.6rem);margin-bottom:.45em}
.feat-text h2 a{color:var(--navy);text-decoration:none}
.feat-text h2 a:hover{color:var(--blue)}
.feat-text>p:not(.post-cat){color:var(--muted);margin-bottom:24px}
.feat-media{display:block;overflow:hidden}
.feat-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.feat-slide:hover .feat-media img{transform:scale(1.04)}
.feat-dots{display:flex;justify-content:center;gap:10px;margin-top:20px}
.feat-dots button{width:10px;height:10px;padding:0;border-radius:999px;border:0;background:#C5D3E2;cursor:pointer;transition:width .3s,background .3s}
.feat-dots button[aria-current="true"]{width:30px;background:var(--blue)}
@media (max-width:860px){.feat-slide{grid-template-columns:1fr;min-height:0}.feat-media{order:-1;aspect-ratio:3/2}}

/* Temas */
.section-tight{padding-block:clamp(40px,6vw,64px) 0}
.topic-cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.topic-cards li{border:1px solid var(--line);border-radius:16px;padding:26px;display:flex;flex-direction:column;align-items:flex-start;background:var(--white)}
.topic-cards h2{font-size:1.35rem;margin-bottom:8px}
.topic-cards p{color:var(--muted);font-size:1rem;margin-bottom:16px}
.topic-cards .text-link{margin-top:auto;border:0;background:none;padding:0;font-size:1rem;color:var(--navy);cursor:pointer;text-decoration:underline;text-underline-offset:.18em}
.topic-cards .text-link:hover{color:var(--blue)}
.topic-cards .btn{margin-top:auto}
.topic-help{background:linear-gradient(135deg,#092853,#0C3B7A)!important;border-color:transparent!important}
.topic-help h2{color:var(--white)}
.topic-help p{color:#CFDDF0!important}
@media (max-width:860px){.topic-cards{grid-template-columns:1fr}}

/* Rejilla de guías */
.list-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px;margin-bottom:32px}
.list-head h2{margin:0}
.list-head p{color:var(--muted);margin:6px 0 0}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tabs button{border:1px solid var(--line);background:var(--white);color:var(--navy);border-radius:999px;padding:9px 18px;font:700 .95rem var(--text);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.tabs button:hover{border-color:var(--cyan)}
.tabs button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--white)}
.post-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,40px) clamp(20px,2.5vw,32px)}
.post-card a{display:block;text-decoration:none;color:inherit}
.post-thumb{display:block;aspect-ratio:2/1;border-radius:14px;overflow:hidden;margin-bottom:16px;background:var(--paper)}
.post-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.post-card a:hover .post-thumb img{transform:scale(1.05)}
.post-card h3{font-size:1.2rem;line-height:1.25;margin-bottom:10px;color:var(--navy)}
.post-card a:hover h3{color:var(--blue)}
.post-card time{font-size:.9rem;color:var(--muted)}
.post-card[hidden]{display:none}
@media (max-width:980px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.post-grid{grid-template-columns:1fr}}

/* Historias */
.stories{background:var(--navy-900);color:var(--white);padding-block:var(--section)}
.stories h2{color:var(--white)}
.stories .list-head p{color:#C9D9F0}
.story-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.story a{position:relative;display:block;border-radius:18px;overflow:hidden;aspect-ratio:16/10;color:var(--white);text-decoration:none}
.story img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.story a:hover img{transform:scale(1.05)}
.story a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,40,83,0) 30%,rgba(9,40,83,.92))}
.story-text{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:10px}
.story-text .post-cat{color:var(--cyan);margin:0}
.story-text strong{font:800 clamp(1.25rem,2.2vw,1.65rem)/1.2 var(--display)}
.story-text .text-link{color:var(--white)}
@media (max-width:760px){.story-grid{grid-template-columns:1fr}}

/* Portada de artículo */
.article-cover{margin:0 0 clamp(32px,5vw,56px);border-radius:20px;overflow:hidden;aspect-ratio:16/9;max-height:620px}
.article-cover img{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.article-cover{aspect-ratio:3/2}}

/* Artículos */
.article-head{padding-block:clamp(32px,5vw,64px) 32px}
.article-head h1{font-size:clamp(2rem,4vw,3.1rem);max-width:22ch}
.article-meta{color:var(--muted);font-size:1rem;display:flex;flex-wrap:wrap;gap:4px 18px}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,6vw,72px);padding-bottom:var(--section)}
.article-body{max-width:70ch;font-size:1.15rem;line-height:1.7}
.article-body h2{font-size:clamp(1.5rem,2.6vw,1.95rem);margin:1.8em 0 .55em}
.article-body h3{font-size:1.25rem;margin:1.5em 0 .5em}
.article-body li{margin-bottom:.5em}
.article-body blockquote{margin:1.5em 0;padding-left:20px;border-left:4px solid var(--red);font-style:italic}
.article-body .faq{margin-top:12px}
.article-body .faq summary{font-size:1.1rem}
.article-body .faq details>div{font-size:1.1rem}
.cta-box{margin:1.6em 0;padding:24px 26px;background:var(--paper);border-radius:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.cta-box p{margin:0;font-weight:700;color:var(--navy);max-width:40ch}
.toc{position:sticky;top:100px;align-self:start;font-size:1rem}
.toc h2{font-size:1.05rem;font-family:var(--text);letter-spacing:0;margin-bottom:12px}
.toc ol{list-style:none;padding:0;margin:0 0 28px;border-left:2px solid var(--line)}
.toc li a{display:block;padding:7px 0 7px 16px;margin-left:-2px;border-left:2px solid transparent;text-decoration:none;color:var(--muted);line-height:1.35}
.toc li a:hover{color:var(--navy);border-left-color:var(--red)}
.toc .info-card{padding:24px}
.toc .info-card .btn{width:100%;padding-inline:1em}
.toc .info-card p{font-size:1rem}
.toc-mobile{display:none;margin-bottom:28px;border:1px solid var(--line);border-radius:12px;padding:0 18px}
.toc-mobile summary{cursor:pointer;padding:14px 0;font-weight:700;color:var(--navy)}
.toc-mobile ol{padding-left:1.2em;margin:0 0 14px;font-size:1rem}
.toc-mobile li{margin-bottom:6px}
@media (max-width:980px){.article-layout{grid-template-columns:1fr}.toc{display:none}.toc-mobile{display:block}}
/* Plantilla de guía */
.byline{display:flex;align-items:center;gap:14px;margin-top:6px}
.byline img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.byline p{margin:0;font-size:1rem;color:var(--ink);display:flex;flex-wrap:wrap;column-gap:16px;row-gap:2px}
.byline p>a{font-weight:700;margin-left:4px}
.byline p span{color:var(--muted);flex-basis:auto}
.byline p span:first-of-type{flex-basis:100%}
@media (min-width:700px){.byline p span:first-of-type{flex-basis:auto}}
.quick-answer{background:#E8F6FC;border-left:5px solid var(--cyan);border-radius:12px;padding:20px 24px;margin-bottom:28px}
.quick-answer .qa-title{font:800 1.05rem var(--display);color:var(--navy);margin-bottom:6px}
.quick-answer p:last-child{margin:0}
.learn-box{background:var(--paper);border:1px solid #DCE7F1;border-radius:16px;padding:24px 26px;margin:28px 0}
.learn-box .lb-title{font:800 1.25rem var(--display);color:var(--navy);margin-bottom:12px}
.learn-box ul{list-style:none;padding:0;margin:0 0 16px}
.learn-box li{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px;font-size:1.05rem}
.learn-box li .icon{color:var(--cyan);margin-top:.3em}
.learn-box li a{color:var(--ink);text-decoration:none;font-weight:700}
.learn-box li a:hover{color:var(--blue)}
.lb-meta{display:flex;flex-wrap:wrap;gap:6px 24px;margin:0;padding-top:14px;border-top:1px solid #DCE7F1;font-size:.98rem;color:var(--muted)}
.article-fig{margin:28px 0}
.article-fig img{width:100%;border-radius:14px;border:1px solid var(--line)}
.article-fig figcaption{font-size:.92rem;color:var(--muted);margin-top:8px;text-align:center}
.topics{margin-top:40px;font-size:1rem}
.share{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:22px 0;border-block:1px solid var(--line);margin:18px 0 32px}
.share p{margin:0;font:800 1.15rem var(--display);color:var(--navy)}
.share-links{display:flex;gap:10px}
.share-links a,.ab-social a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--white);transition:background .2s,transform .2s}
.share-links a:hover,.ab-social a:hover{background:var(--blue);color:var(--white);transform:translateY(-2px)}
.share-links .icon,.ab-social .icon{width:20px;height:20px}
.author-box{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:start;background:var(--paper);border-radius:18px;padding:28px;font-size:1rem}
.author-box img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid var(--white);box-shadow:0 10px 24px -14px rgba(9,40,83,.6)}
.ab-label{font:700 .8rem var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:4px}
.ab-name{font:800 1.4rem var(--display);color:var(--navy);margin-bottom:2px}
.ab-role{color:var(--muted);margin-bottom:12px}
.ab-social{display:flex;gap:10px}
@media (max-width:600px){.author-box{grid-template-columns:1fr;text-align:left}.author-box img{width:96px;height:96px}}

/* Textos legales */
.legal{font-size:1.05rem}
.legal h2{font-size:1.45rem;margin-top:1.8em}
.legal h3{font-size:1.15rem;margin-top:1.4em}
.legal table{border-collapse:collapse;width:100%;margin:1em 0}
.legal td,.legal th{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}

/* Aviso de privacidad para medición */
.consent{position:fixed;left:18px;bottom:18px;z-index:70;max-width:420px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 18px 40px -18px rgba(10,28,64,.45);font-size:.98rem}
.consent p{margin-bottom:14px}
.consent .btn{min-height:44px;font-size:.98rem}

/* Página 404 */
.nf{background:linear-gradient(180deg,#EAF6FD 0%,#FFFFFF 70%);padding-block:clamp(32px,5vw,64px) var(--section);overflow:hidden}
.nf-art{margin:0 auto;max-width:900px}
.nf-art img{width:100%;height:auto}
.nf-text{text-align:center;max-width:640px;margin:8px auto 0}
.nf-text h1{margin-bottom:.25em}
.nf-text .lead{margin:0 auto 28px}
.nf-text .btn-row{justify-content:center}
.nf-sub{text-align:center;font-size:clamp(1.3rem,2.2vw,1.6rem);margin:clamp(48px,7vw,72px) 0 24px}
.nf-links{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.nf-links a{position:relative;display:flex;flex-direction:column;gap:4px;height:100%;padding:20px 52px 20px 22px;background:var(--white);border:2px solid var(--card-line);border-radius:14px;text-decoration:none;color:var(--navy);transition:transform .25s,border-color .25s,box-shadow .25s}
.nf-links a:hover{transform:translateY(-4px);border-color:var(--cyan);box-shadow:0 18px 32px -22px rgba(18,109,170,.6)}
.nf-links strong{font:700 1.08rem/1.3 var(--text)}
.nf-links span{color:var(--muted);font-size:.95rem}
.nf-links .icon{position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--cyan)}
@media (max-width:900px){.nf-links{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.nf-links{grid-template-columns:1fr}}
@media (prefers-reduced-motion:no-preference){
  .nf-art img{animation:nf-fly 1.1s cubic-bezier(.2,.8,.2,1) both, nf-float 5s ease-in-out 1.1s infinite}
  @keyframes nf-fly{from{opacity:0;transform:translate(-14%,8%) rotate(-3deg)}to{opacity:1;transform:none}}
  @keyframes nf-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
}

@media print{.site-header,.site-footer,.wa-float,.toc,.cta-band{display:none}}

/* Tarjeta de atención virtual */
.sede--virtual{background:var(--paper);border-radius:16px;padding:28px;justify-content:center}
.sede--virtual p{color:var(--muted)}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:50px;padding:.75em 1.6em;border-radius:16px;border:1px solid rgba(255,255,255,.24);box-shadow:0 4px 30px rgba(0,0,0,.1);-webkit-backdrop-filter:blur(5.6px);backdrop-filter:blur(5.6px);background-origin:border-box;background-clip:border-box;font:700 1.02rem/1.1 var(--text);text-decoration:none;cursor:pointer;transition:transform .2s,box-shadow .2s,background-color .2s,color .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,0,0,.16)}
.btn--primary{background-color:var(--blue);background-image:linear-gradient(90deg,var(--cyan),var(--blue));color:var(--white)}
.btn--primary:hover{color:var(--white)}
.btn--ghost{border-color:var(--navy);color:var(--navy);background-color:rgba(255,255,255,.35)}
.btn--ghost:hover{background-color:var(--navy);color:var(--white)}
.btn--light{background-color:rgba(255,255,255,.92);color:var(--navy)}
.btn--light:hover{background-color:var(--white);color:var(--navy)}
.btn--sm{min-height:42px;padding:.55em 1.25em;font-size:.95rem}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.text-link{font-weight:700;display:inline-flex;align-items:center;gap:.35em}

/* Cabecera */
.site-header{position:sticky;top:0;z-index:50;background:var(--navy-900);color:var(--white)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.brand img{width:200px;height:auto}
.nav{display:flex;align-items:center;gap:4px}
.nav>a:not(.btn),.nav .sub>button{padding:10px 12px;border:0;background:none;border-radius:8px;text-decoration:none;color:var(--white);font:700 1rem/1.2 var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.nav>a:not(.btn):hover,.nav .sub>button:hover,.nav>a[aria-current="page"]{color:var(--cyan)}
.nav .sub{position:relative}
.nav .sub>button::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.nav .sub>button[aria-expanded="true"]::after{transform:translateY(1px) rotate(-135deg)}
.sub-menu{position:absolute;left:0;top:calc(100% + 8px);min-width:300px;white-space:nowrap;background:var(--white);border-radius:12px;padding:8px;box-shadow:0 20px 40px -18px rgba(9,40,83,.55);list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s}
.sub.is-open .sub-menu,.sub:focus-within .sub-menu{opacity:1;visibility:visible;transform:none}
@media (hover:hover){.sub:hover .sub-menu{opacity:1;visibility:visible;transform:none}}
.sub-menu a{display:block;padding:10px 12px;border-radius:8px;color:var(--navy);text-decoration:none;font-weight:700}
.sub-menu a:hover{background:var(--paper);color:var(--blue)}
.nav .btn{margin-left:10px;min-height:44px;padding:.55em 1.2em}
.nav-toggle{display:none;align-items:center;justify-content:center;width:46px;min-height:44px;padding:0;border:2px solid rgba(255,255,255,.5);border-radius:10px;background:transparent;color:var(--white);font:700 1rem var(--text);cursor:pointer}
.nav-toggle .bars{width:18px;height:12px;position:relative;border-block:2px solid currentColor}
.nav-toggle .bars::after{content:"";position:absolute;left:0;right:0;top:3px;border-top:2px solid currentColor}
@media (max-width:980px){
  .brand img{width:160px}
  .nav-toggle{display:inline-flex}
  .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gutter) 22px;background:var(--navy-900);max-height:calc(100vh - 84px);overflow:auto}
  .nav>a:not(.btn),.nav .sub>button{padding:15px 2px;border-bottom:1px solid rgba(255,255,255,.12);border-radius:0;width:100%;justify-content:space-between;font-size:1.1rem}
  .sub-menu{white-space:normal;position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;padding:0 0 8px 12px;display:none}
  .sub.is-open .sub-menu{display:block}
  .sub-menu a{color:#CFE4F5;padding:11px 6px}
  .sub-menu a:hover{background:transparent;color:var(--cyan)}
  .nav .btn{margin:18px 0 0}
  .js .nav:not(.is-open){display:none}
}

/* Animaciones de entrada */
@media (prefers-reduced-motion:no-preference){
  .js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
  .js [data-reveal="left"]{transform:translateX(-36px)}
  .js [data-reveal="right"]{transform:translateX(36px)}
  .js [data-reveal="zoom"]{transform:scale(.92)}
  .js [data-reveal].is-visible{opacity:1;transform:none}
  .home-hero .kicker,.home-hero h1,.home-hero .lead,.home-hero .btn-row{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
  .home-hero h1{animation-delay:.12s}.home-hero .lead{animation-delay:.24s}.home-hero .btn-row{animation-delay:.36s}
  .stats{animation:rise .8s cubic-bezier(.2,.7,.2,1) .45s both}
  @keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
}

/* Portada: hero */
.home-hero{position:relative;color:var(--white);background:var(--navy-900);overflow:hidden}
.home-hero picture,.home-hero .bg{position:absolute;inset:0}
.home-hero .bg img{width:100%;height:100%;object-fit:cover;object-position:72% 30%}
.home-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,17,64,.97) 0%,rgba(5,17,64,.86) 36%,rgba(5,17,64,.25) 70%,rgba(5,17,64,.1))}
.home-hero .wrap{position:relative;z-index:1;display:flex;align-items:center;min-height:clamp(650px,72vh,760px);padding-block:40px 120px}
.home-hero .content{max-width:660px}
.kicker{font:800 1.05rem/1.3 var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--cyan);margin-bottom:14px}
.home-hero h1{color:var(--white);font-size:clamp(2.2rem,4.6vw,3.6rem);margin-bottom:.45em}
.home-hero .lead{color:#E3EEFA;margin-bottom:30px}
.home-hero .lead a{color:var(--white)}
@media (max-width:760px){
  .home-hero::after{background:linear-gradient(180deg,rgba(5,17,64,.15) 0%,rgba(5,17,64,.55) 30%,rgba(5,17,64,.95) 58%,rgba(5,17,64,.98))}
  .home-hero .bg img{object-position:60% 20%}
  .home-hero .wrap{min-height:0;display:block;padding-top:260px;padding-bottom:120px}
}

/* Portada: cifras */
.stats-wrap{position:relative;z-index:2;margin-top:-72px}
.stats{list-style:none;margin:0 auto;padding:22px 12px;max-width:900px;background:var(--red);color:var(--white);border-radius:10px;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:0 22px 40px -22px rgba(120,10,20,.8)}
.stats li{text-align:center;padding:6px 12px;border-right:1px solid rgba(255,255,255,.45)}
.stats li:last-child{border-right:0}
.stats strong{display:block;font:800 clamp(1.9rem,4vw,2.9rem)/1.05 var(--display);font-variant-numeric:tabular-nums}
.stats span{font-size:1rem}
@media (max-width:560px){.stats{padding:14px 4px}.stats li{padding:4px 6px}.stats span{font-size:.82rem;display:block;line-height:1.25}}

/* Títulos de sección centrados */
.title-center{text-align:center;margin-inline:auto;max-width:720px;margin-bottom:clamp(32px,5vw,52px)}
.title-center p{color:var(--muted);font-size:1.15rem;margin:0}

/* Portada: servicios */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
.svc{display:flex;flex-direction:column;background:var(--white);border:2px solid var(--card-line);border-radius:12px;padding:26px 24px;transition:transform .25s,box-shadow .25s,border-color .25s}
.svc:hover{transform:translateY(-6px);border-color:var(--cyan);box-shadow:0 22px 40px -24px rgba(18,109,170,.55)}
.svc-icon{width:44px;height:44px;color:var(--navy);margin:0 auto 14px}
.svc-icon svg{width:100%;height:100%;fill:currentColor}
.svc h3{margin-bottom:6px}
.svc p{color:var(--muted);font-size:1rem;margin-bottom:12px}
.svc ul{list-style:none;padding:0;margin:0 0 20px;font-size:.98rem}
.svc li{display:flex;align-items:center;gap:8px;padding:3px 0}
.svc li .icon{width:18px;height:18px;padding:2px;border-radius:50%;border:1.5px solid var(--cyan);color:var(--cyan)}
.svc .btn{margin-top:auto;align-self:flex-start}
@media (max-width:980px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.svc-grid{grid-template-columns:1fr}}

/* Reseñas (desplazamiento infinito) */
.reviews-band{background:linear-gradient(180deg,#F4F6F9,#FFFFFF);padding-block:clamp(48px,6vw,72px);overflow:hidden}
.reviews-band .wrap{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:center}
.rating{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;text-decoration:none;color:var(--ink)}
.rating strong{font:800 1.3rem var(--display);color:var(--ink);letter-spacing:.04em}
.rating-count{font-size:.95rem;color:var(--ink)}
.g-stars{display:inline-flex;gap:2px}
.g-stars svg{width:22px;height:22px}
.rating .g-stars svg{width:28px;height:28px}
.g-logo{width:110px;height:auto;margin-top:4px}
.marquee{position:relative;min-width:0;overflow:hidden;contain:paint}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:48px;z-index:1;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,#F7F9FB,rgba(247,249,251,0))}
.marquee::after{right:0;background:linear-gradient(270deg,#F7F9FB,rgba(247,249,251,0))}
.reviews{list-style:none;margin:0;padding:8px 0 14px;display:flex;gap:18px;width:max-content;animation:marquee 42s linear infinite}
.js .reviews.is-js{animation:none}
@keyframes marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-50% - 9px),0,0)}}
@media (prefers-reduced-motion:reduce){.reviews{animation:none}.marquee{overflow-x:auto}}
.reviews li{flex:0 0 300px;background:var(--white);border:1px solid #E6EAF0;border-radius:12px;padding:18px 20px;box-shadow:0 8px 22px -18px rgba(9,40,83,.55)}
.review-top{position:relative;display:flex;align-items:center;gap:12px;margin-bottom:10px;padding-right:26px}
.avatar-i{position:relative;flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--white);font:800 1.05rem var(--display);background:var(--blue);overflow:hidden}
.avatar-i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.review-top b{display:block;color:var(--ink);font-size:.98rem;line-height:1.2}
.review-top small{color:var(--muted);font-size:.85rem}
.g-icon{position:absolute;right:0;top:2px;width:20px;height:20px}
.review-stars{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.review-stars .g-stars svg{width:18px;height:18px}
.verified{width:16px;height:16px;border-radius:50%;background:#1A73E8;color:var(--white);display:grid;place-items:center}
.verified .icon{width:12px;height:12px}
.reviews blockquote{margin:0;font-size:.98rem;color:var(--ink);line-height:1.5}
.reviews blockquote p{margin:0}
@media (max-width:760px){.reviews-band .wrap{grid-template-columns:1fr}.reviews li{flex-basis:270px}}

/* Portada: cómo funciona */
.how-home{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,80px);align-items:center}
.how-home figure{margin:0}
.how-home figure img{margin-inline:auto;max-height:520px;width:auto}
.step-cards{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:16px}
.step-cards li{position:relative;display:grid;grid-template-columns:64px 1fr;gap:4px 18px;align-items:center;background:var(--paper);border:1px solid #E1ECF5;border-radius:14px;padding:18px 22px 18px 18px;transition:transform .25s,box-shadow .25s}
.step-cards li:hover{transform:translateX(6px);box-shadow:0 16px 30px -22px rgba(9,40,83,.6)}
.step-cards img,.step-cards .si{grid-row:span 2;width:64px;height:64px;border-radius:50%}
.step-cards .si{background:var(--navy);color:var(--white);display:grid;place-items:center}
.step-cards .si svg{width:32px;height:32px;fill:currentColor}
.step-cards .n{position:absolute;left:10px;top:8px;width:24px;height:24px;border-radius:50%;background:var(--cyan);color:var(--white);display:grid;place-items:center;font:800 .8rem var(--display)}
.step-cards h3{margin:0}
.step-cards p{margin:0;color:var(--muted);font-size:1rem}
@media (max-width:860px){.how-home{grid-template-columns:1fr}.how-home figure{order:2}.how-home figure img{max-height:380px}}

/* Portada: puntos importantes */
.points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0}
.points li{position:relative;display:flex;align-items:center;gap:16px;background:var(--white);border-radius:12px;padding:24px 22px;min-height:120px;box-shadow:0 14px 30px -24px rgba(9,40,83,.5);transition:transform .25s,box-shadow .25s}
.points li:hover{transform:translateY(-4px);box-shadow:0 20px 36px -22px rgba(9,40,83,.55)}
.points .pi{flex:none;width:52px;height:52px;border-radius:50%;background:var(--navy);color:var(--white);display:grid;place-items:center}
.points .pi svg{width:28px;height:28px;fill:currentColor}
.points p{margin:0;font-size:.98rem;color:var(--ink)}
.points .num{position:absolute;top:10px;right:14px;font:800 .8rem var(--display);color:var(--cyan)}
.points-cta{text-align:center;margin-top:34px}
@media (max-width:980px){.points{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.points{grid-template-columns:1fr}}

/* Portada: recursos */
.resources-head{max-width:760px;margin-bottom:clamp(32px,5vw,52px)}
.resources-head .eyebrow{font:700 .85rem var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.resources-head h2{font-size:clamp(2rem,4vw,3.1rem)}
.resources{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,48px)}
.resources li{display:flex;flex-direction:column}
.res-thumb{display:block;aspect-ratio:2/1;border-radius:14px;overflow:hidden;margin-bottom:16px;background:var(--paper)}
.res-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.resources li:hover .res-thumb img{transform:scale(1.05)}
.resources .by{font:700 .82rem var(--text);color:var(--blue);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.resources h3{font-size:1.3rem;margin-bottom:10px}
.resources h3 a{color:var(--navy)}
.resources h3 a:hover{color:var(--blue)}
.resources p{color:var(--muted);font-size:1rem}
.resources .go{margin-top:auto;width:42px;height:42px;border-radius:50%;background:linear-gradient(90deg,var(--cyan),var(--blue));color:var(--white);display:grid;place-items:center;transition:transform .2s}
.resources .go:hover{transform:translateX(4px);color:var(--white)}
@media (max-width:860px){.resources{grid-template-columns:1fr}}

/* Portada: contacto con sedes y mapa */
.locations{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,48px);align-items:start}
.loc-tabs{display:grid;gap:6px}
.loc-tabs button{font:inherit;display:block;width:100%;text-align:left;padding:20px 24px;border-radius:16px;border:1px solid transparent;background:transparent;color:var(--ink);cursor:pointer;transition:background .25s,color .25s,box-shadow .25s,transform .25s}
.loc-tabs button:hover{background:var(--white);transform:translateX(4px)}
.loc-tabs button[aria-selected="true"]{background:var(--navy);color:var(--white);border-color:rgba(255,255,255,.24);box-shadow:0 4px 30px rgba(0,0,0,.12);transform:none}
.loc-tabs b{display:block;font:800 1.2rem/1.25 var(--display);margin-bottom:4px}
.loc-tabs small{display:block;font-size:1rem;color:var(--muted)}
.loc-tabs button[aria-selected="true"] small{color:#CFDDF0}
.loc-side{display:grid;gap:20px}
.loc-map{border-radius:18px;overflow:hidden;background:var(--white);box-shadow:0 20px 40px -30px rgba(9,40,83,.6);aspect-ratio:16/9}
.map-frame{position:relative;overflow:hidden;background:#E6EEF6}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-frame .map-ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-weight:700}
.loc-map .map-frame{width:100%;height:100%}
.loc-panel{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:26px 30px}
.loc-panel h3{font-size:1.35rem;margin-bottom:8px}
.loc-panel p{color:var(--muted);margin-bottom:14px}
.loc-panel strong{color:var(--ink)}
.loc-addr{font-size:1.08rem}
.loc-hours{display:flex;gap:10px;align-items:flex-start}
.loc-hours .icon,.loc-contact .icon{width:20px;height:20px;color:var(--blue);flex:none;margin-top:2px}
.loc-panel .btn-row{align-items:center;gap:16px}
.loc-panel hr{border:0;border-top:1px solid var(--line);margin:22px 0 16px}
.loc-contact{display:flex;flex-wrap:wrap;gap:10px 28px}
.loc-contact a{display:inline-flex;align-items:center;gap:8px;color:var(--muted);text-decoration:none}
.loc-contact a:hover{color:var(--blue)}
@media (prefers-reduced-motion:no-preference){.loc-panel:not([hidden]){animation:rise .45s ease both}}
@media (max-width:900px){.locations{grid-template-columns:1fr}}

/* Portada: preguntas frecuentes */
.faq-home{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,72px);align-items:center}
.faq-home figure{margin:0}
.faq-home figure img{margin-inline:auto;max-height:440px;width:auto}
.faq-boxes details{border:1.5px solid var(--line);border-radius:12px;margin-bottom:14px;background:var(--white);transition:border-color .2s,box-shadow .2s}
.faq-boxes details[open]{border-color:var(--card-line);box-shadow:0 14px 30px -24px rgba(9,40,83,.55)}
.faq-boxes summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font:700 1.08rem/1.35 var(--text);color:var(--navy)}
.faq-boxes summary::-webkit-details-marker{display:none}
.faq-boxes summary::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--navy);display:grid;place-items:center;font:400 1.2rem/1 var(--text);transition:transform .25s}
.faq-boxes details[open] summary::after{content:"–"}
.faq-boxes details>div{padding:0 20px 18px;color:var(--muted)}
.faq-boxes details>div p{margin:0}
@media (max-width:860px){.faq-home{grid-template-columns:1fr}.faq-home figure img{max-height:300px}}

/* Franja de cierre con imagen */
.closing{position:relative;color:var(--white);text-align:center;padding-block:clamp(72px,10vw,120px);overflow:hidden;background:var(--navy-900)}
.closing .bg{position:absolute;inset:0}
.closing .bg img{width:100%;height:100%;object-fit:cover}
.closing::after{content:"";position:absolute;inset:0;background:rgba(9,40,83,.82)}
.closing .wrap{position:relative;z-index:1;max-width:760px}
.closing h2{color:var(--white)}
.closing p{color:#DCE8F7;font-size:1.2rem;margin-bottom:28px}

/* Pie de página */
.site-footer{background:linear-gradient(135deg,#092853 0%,#0C3B7A 60%,#126DAA 100%);color:#D6E4F5;padding-block:64px 26px;font-size:1rem}
.site-footer a{color:var(--white);text-decoration:none}
.site-footer a:hover{color:var(--cyan)}
.footer-grid{display:grid;grid-template-columns:1.15fr 1.1fr 1fr .9fr;gap:40px}
.footer-grid h2{font:800 1.15rem var(--display);color:var(--white);margin-bottom:18px;letter-spacing:0}
.footer-grid ul{list-style:none;padding:0;margin:0}
.f-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;line-height:1.45}
.f-item .icon{width:20px;height:20px;color:var(--cyan);margin-top:2px}
.f-item small{display:block;color:#AFC6E3;font-size:.9rem}
.footer-brand img{width:190px;margin-bottom:16px}
.footer-brand p{max-width:34ch}
.social{display:flex;gap:12px;margin-top:18px}
.social a{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);display:grid;place-items:center;transition:background .2s,border-color .2s}
.social a:hover{background:var(--white);border-color:var(--white);color:var(--navy)}
.social .icon{width:20px;height:20px}
.f-links li{margin-bottom:10px}
.f-links a{display:inline-flex;align-items:center;gap:8px}
.f-links .icon{width:14px;height:14px;color:var(--cyan)}
.footer-cta{margin-top:6px}
.footer-bottom{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.92rem}
.footer-bottom nav{display:flex;gap:18px}
@media (max-width:980px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}

/* WhatsApp flotante con efecto morphing */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;align-items:center;height:60px;padding:0 16px;border-radius:30px;background:var(--wa-green);color:var(--white);font-weight:700;text-decoration:none;white-space:nowrap;box-shadow:0 12px 26px -8px rgba(10,60,30,.55);transition:background-color .2s}
.wa-float .icon{flex:none;width:28px;height:28px}
.wa-float span{display:block;max-width:0;overflow:hidden;opacity:0;margin-left:0;transition:max-width .45s cubic-bezier(.2,.8,.2,1),opacity .3s,margin .45s}
.wa-float:hover,.wa-float:focus-visible,.wa-float.is-open{color:var(--white);background:#13B95D}
.wa-float:hover span,.wa-float:focus-visible span,.wa-float.is-open span{max-width:200px;opacity:1;margin-left:12px}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:inherit;animation:wa-pulse 2.4s infinite;pointer-events:none}
@keyframes wa-pulse{0%{box-shadow:0 0 0 0 rgba(23,199,102,.55)}70%{box-shadow:0 0 0 16px rgba(23,199,102,0)}100%{box-shadow:0 0 0 0 rgba(23,199,102,0)}}
@media (max-width:767px){
  .wa-float{right:10px;bottom:10px;width:58px;height:58px;padding:0;justify-content:center}
  .wa-float span{display:none}
}
@media (prefers-reduced-motion:reduce){.wa-float span{transition:none}.wa-float::before{animation:none}}

/* Segundo turno: dudas flotantes */
.doubts{position:relative;margin:0 auto;max-width:543px;padding:24px 0}
.doubts img{width:100%;height:auto}
.doubt{position:absolute;z-index:1;padding:10px 16px;border-radius:12px;background:var(--navy-900);color:var(--white);font:800 .95rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.02em;text-decoration:none;white-space:nowrap;box-shadow:0 12px 26px -12px rgba(9,40,83,.7);border:1px solid rgba(255,255,255,.24);transition:background .2s,transform .2s}
.doubt:hover,.doubt:focus-visible{background:var(--blue);color:var(--white)}
.doubt::after{content:"";position:absolute;width:12px;height:12px;background:inherit;transform:rotate(45deg);bottom:-5px;left:24px;border-radius:2px}
.d1{top:6%;left:-6%}.d2{top:2%;right:-4%}.d3{top:34%;right:-8%}.d4{top:52%;left:-10%}.d5{bottom:12%;right:-6%}
.d2::after,.d3::after,.d5::after{left:auto;right:24px}
@media (max-width:760px){.doubt{font-size:.78rem;padding:8px 12px}.d1{left:0}.d2{right:0}.d3{right:0}.d4{left:0}.d5{right:0}}
@media (prefers-reduced-motion:no-preference){
  .doubt{animation:doubt-in .6s cubic-bezier(.2,1.4,.4,1) both,doubt-float 4s ease-in-out infinite;animation-delay:calc(var(--i) * .35s + .4s),calc(var(--i) * .35s + 1s)}
  @keyframes doubt-in{from{opacity:0;transform:scale(.4) translateY(20px)}to{opacity:1;transform:none}}
  @keyframes doubt-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
}
.section--paper .step-cards li{background:var(--white)}

/* Página de reagendamiento */
.hero-facts{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px 24px;font-size:1rem}
.hero-facts li{display:flex;align-items:center;gap:8px}
.hero-facts .icon{color:var(--cyan)}
.option-cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.option-cards li{background:var(--white);border:2px solid var(--card-line);border-radius:16px;padding:26px;transition:transform .25s,border-color .25s}
.option-cards li:hover{transform:translateY(-4px);border-color:var(--cyan)}
.option-cards h3{font-size:1.4rem;margin-bottom:8px}
.option-cards p{color:var(--muted);margin:0}
@media (max-width:860px){.option-cards{grid-template-columns:1fr}}

/* Hero de páginas de ciudad */
.city-hero .breadcrumb{color:#C9D9F0;margin-bottom:14px}
.city-hero .breadcrumb a{color:#E3EEFA}
.city-hero .breadcrumb li+li::before{color:rgba(255,255,255,.4)}
.city-hero .bg img{object-position:70% 40%}
.city-hero .lead strong{color:var(--white)}

/* Sección de sede con tarjetas */
.sede-cards{background:linear-gradient(180deg,#0B2A5E 0%,#092853 100%);color:#CFDDF0;padding-block:var(--section);overflow:hidden}
.sede-cards h2{color:var(--white)}
.sede-cards .title-center p{color:#C9D9F0}
.sede-cards .title-center strong{color:var(--white)}
.sc-stage{--p:1;--q:1;display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,27vw,390px) minmax(0,1fr);gap:20px;align-items:stretch}
.sc-col{display:grid;gap:20px;position:relative;z-index:2;will-change:transform}
.sc-col--l{transform:translateX(calc((1 - var(--p)) * (clamp(260px,27vw,390px) + 20px) / 2))}
.sc-col--r{transform:translateX(calc((var(--p) - 1) * (clamp(260px,27vw,390px) + 20px) / 2))}
.sc-media{position:relative;z-index:1;margin:0;border-radius:24px;overflow:hidden;opacity:var(--q);transform:scale(calc(.45 + .55 * var(--q)));transform-origin:center;background:rgba(255,255,255,.06)}
.sc-media img{width:100%;height:100%;object-fit:cover;display:block}
.sc-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:300px;padding:30px 32px;border-radius:22px;background:rgba(19,43,96,.92);border:1px solid rgba(255,255,255,.12);transition:background .3s,border-color .3s}
.sc-card:hover{background:rgba(26,54,112,.96);border-color:rgba(15,183,230,.55)}
.sc-icon{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:var(--white);margin-bottom:auto}
.sc-icon svg{width:26px;height:26px;fill:currentColor}
.sc-card h3{color:var(--white);font-size:1.45rem;margin:44px 0 10px}
.sc-card p{margin:0 0 16px;max-width:40ch}
.sc-card strong{color:var(--white)}
.sc-link{display:inline-flex;align-items:center;gap:8px;color:var(--cyan);font-weight:700;text-decoration:none}
.sc-link:hover{color:var(--white)}
.sc-link .icon{transition:transform .2s}
.sc-link:hover .icon{transform:translateX(4px)}
@media (max-width:900px){
  .sc-stage{grid-template-columns:1fr}
  .sc-col--l,.sc-col--r{transform:none}
  .sc-media{order:-1;opacity:1;transform:none;aspect-ratio:4/5;max-width:340px;width:100%;margin:0 auto}
  .sc-card{min-height:0}
  .sc-card h3{margin-top:22px}
}
.intro-photo{margin:28px 0 0;max-width:360px}
.intro-photo img{width:100%;height:auto}
.sc-foot{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 16px;margin-top:40px}
.sc-foot p{margin:0;color:var(--white);font-weight:700}
.sc-links{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.sc-links a{display:inline-block;padding:9px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.24);color:var(--white);text-decoration:none;font-weight:700;font-size:.95rem;transition:background .2s,color .2s}
.sc-links a:hover{background:var(--white);color:var(--navy)}
.sc-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:22px}
.sc-contact a{display:inline-flex;align-items:center;gap:8px;color:#CFDDF0;text-decoration:none}
.sc-contact a:hover{color:var(--white)}
.sc-contact .icon{color:var(--cyan)}
@media (max-width:900px){
  .sc-list{grid-template-columns:1fr;gap:14px}
  .sc-photo{position:static;transform:none;margin:0 auto 24px;width:min(260px,70vw)}
  .sc-grid{display:flex;flex-direction:column-reverse}
  .sc-card{min-height:0}
  .sc-card h3{margin-top:22px}
}

/* Hero con elemento lateral (video) */
.home-hero.has-side .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,56px);align-items:center}
.hero-side{position:relative;z-index:1}
.hero-note{margin:14px 0 0;color:#C9D9F0;font-size:1rem}
.video--hero{border-radius:20px;border:1px solid rgba(255,255,255,.24);box-shadow:0 30px 60px -28px rgba(0,0,0,.7);background:#000}
.video--hero button{background:none;padding:0}
.video--hero button img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.video--hero button:hover img{transform:scale(1.03)}
.video--hero button::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,40,83,0) 45%,rgba(9,40,83,.75))}
.video--hero .play{position:relative;z-index:1;box-shadow:0 0 0 10px rgba(203,45,58,.25)}
.video--hero .video-label{position:absolute;left:20px;bottom:16px;z-index:1;color:var(--white);font-weight:700}
@media (prefers-reduced-motion:no-preference){.video--hero .play{animation:wa-pulse 2.4s infinite}}
@media (max-width:860px){.home-hero.has-side .wrap{grid-template-columns:1fr}}

/* Franja informativa con imagen de fondo */
.closing--info .wrap{max-width:820px}
.closing--info p{font-size:1.12rem;margin-bottom:16px}
.closing--info p strong{color:var(--white)}
.closing--info .btn{margin-top:12px}

/* Fotos de apoyo en secciones */
.team-photo{margin:28px 0 0;border-radius:18px;overflow:hidden;box-shadow:0 24px 44px -30px rgba(9,40,83,.6)}
.team-photo img{width:100%;height:auto;display:block}

/* Tarjetas de opciones con icono */
.option-cards .svc-icon{width:48px;height:48px;color:var(--navy);margin:0 auto 16px;display:block}
.option-cards .svc-icon svg{width:100%;height:100%;fill:currentColor}

/* Razones de negación */
.reasons{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(28px,5vw,64px);align-items:center}
.reasons-photo{margin:0}
.reasons-photo img{margin-inline:auto;max-height:520px;width:auto}
.reasons .lead{margin-bottom:26px}
.reason-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.reason-list a{position:relative;display:flex;gap:14px;align-items:flex-start;height:100%;padding:18px 44px 18px 18px;background:var(--white);border:1px solid #DCE7F1;border-radius:16px;text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s,border-color .25s}
.reason-list a:hover{transform:translateY(-4px);border-color:var(--cyan);box-shadow:0 18px 32px -24px rgba(18,109,170,.6)}
.reason-list .rn{flex:none;width:40px;height:40px;border-radius:12px;background:var(--navy);color:var(--white);display:grid;place-items:center;font:800 .95rem var(--display)}
.reason-list strong{display:block;color:var(--navy);font-size:1.05rem;line-height:1.3;margin-bottom:4px}
.reason-list small{display:block;color:var(--muted);font-size:.95rem;line-height:1.45}
.reason-list .icon{position:absolute;right:16px;top:20px;color:var(--cyan);transition:transform .2s}
.reason-list a:hover .icon{transform:translateX(4px)}
@media (max-width:980px){.reason-list{grid-template-columns:1fr}}
@media (max-width:860px){.reasons{grid-template-columns:1fr}.reasons-photo img{max-height:340px}}

/* Foto de asesoras en la introducción de ciudades */
@media (prefers-reduced-motion:no-preference){
  .cutout.is-visible img{animation:sc-float 6s ease-in-out 1.2s infinite}
}
.city-hero .bg img[src*="hero-bucaramanga-2"]{object-position:70% 12%}

/* Ajustes responsive */
.locations{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
@media (max-width:900px){.locations{grid-template-columns:minmax(0,1fr)}}
.loc-contact a,.f-item a,.f-item span,.sc-contact a,.byline p{overflow-wrap:anywhere;min-width:0}
.footer-grid>*{min-width:0}
.loc-tabs button small{overflow-wrap:anywhere}
.faq summary::after{color:var(--cyan)}
@media (max-width:760px){
  .city-hero .bg img[src*="hero-canada"]{object-position:78% 50%}
  .story a{aspect-ratio:4/5}
  .article-fig--grafica a{display:block;position:relative}
  .article-fig--grafica a::after{content:"Toca para ampliar";position:absolute;right:10px;bottom:10px;padding:4px 10px;border-radius:999px;background:rgba(9,40,83,.85);color:#fff;font-size:.8rem;font-weight:700}
}
@media (min-width:601px) and (max-width:900px){
  .sc-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .sc-media{grid-column:1/-1;max-width:320px}
  .resources li{display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:24px;align-items:start}
  .resources li>*{grid-column:2}
  .resources .res-thumb{grid-column:1;grid-row:1 / span 4;margin:0}
  .resources .go{margin-top:8px}
}

/* Gráficas del blog en HTML */
.ig-defs{position:absolute;width:0;height:0;overflow:hidden}
.ig{margin:34px 0;padding:clamp(20px,3vw,32px);border:1px solid #D9E8F4;border-radius:22px;background:linear-gradient(180deg,#FBFDFF,#F2F8FD);font-size:1rem;line-height:1.45}
.ig-svg,.ig-svg *{fill:url(#igGrad)}
.ig-head{text-align:center;margin-bottom:22px}
.ig-head--icon{display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:left}
.ig-title{font:800 clamp(1.35rem,2.6vw,1.9rem)/1.15 var(--display);color:var(--navy);margin:0 0 8px;letter-spacing:-.01em}
.ig-hl{background:linear-gradient(90deg,var(--cyan),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.ig-sub{color:var(--muted);margin:0;font-size:1.02rem}
.ig-ic{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#FFFFFF,#E3F2FC);box-shadow:inset 0 0 0 1px #D6EAF7;margin:0 auto 12px}
.ig-ic .ig-svg{width:38px;height:38px}
.ig-ic--lg{width:96px;height:96px;flex:none;margin:0}
.ig-ic--lg .ig-svg{width:50px;height:50px}
.ig-n{position:absolute;left:12px;top:12px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font:800 .9rem var(--display);background:linear-gradient(135deg,var(--cyan),var(--blue))}
.ig strong{color:var(--navy);display:block;line-height:1.25}
.ig-d{display:block;color:var(--muted);font-size:.93rem;margin-top:6px}
/* pasos */
.ig-steps,.ig-grid{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ig-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ig-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ig-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ig-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.ig-steps li,.ig-grid li{position:relative;background:#fff;border:1px solid #E1EEF8;border-radius:16px;padding:44px 14px 18px;text-align:center}
.ig-steps li:not(:last-child)::after{content:"";position:absolute;right:-12px;top:50%;width:10px;height:10px;border-top:2px solid var(--cyan);border-right:2px solid var(--cyan);transform:translateY(-50%) rotate(45deg);z-index:1}
.ig-time{display:inline-block;margin:0 auto 10px;padding:6px 14px;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--navy));color:#fff;font:800 .92rem var(--display)}
.ig-time--last{background:linear-gradient(90deg,#16B8B0,#0E9C96)}
.ig-grid--check li{display:flex;align-items:center;gap:14px;text-align:left;padding:16px}
.ig-grid--check .ig-ic{width:60px;height:60px;margin:0;flex:none}
.ig-grid--check strong{flex:1}
.ig-check{width:26px;height:26px;flex:none}
/* aviso y nota */
.ig-warn,.ig-note{display:flex;align-items:center;gap:14px;margin-top:16px;padding:14px 18px;border-radius:14px;background:#EAF4FB}
.ig-warn{background:#FFF6E6}
.ig-warn .ig-svg,.ig-note .ig-svg{width:30px;height:30px;flex:none}
.ig-warn p,.ig-note p{margin:0;font-size:.95rem;color:var(--ink)}
.ig-warn strong,.ig-note strong{display:inline}
/* comparación */
.ig-compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ig-col-h{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 12px;padding:12px 16px;border-radius:14px;color:#fff;font:800 1.02rem/1.2 var(--display);background:linear-gradient(90deg,var(--navy),#1B4F94)}
.ig-col--r .ig-col-h,.ig-col-h--r{background:linear-gradient(90deg,var(--blue),var(--cyan))}
.ig-col-h .ig-svg,.ig-col-h .ig-svg *{fill:#fff;width:22px;height:22px}
.ig-list,.ig-cards{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ig-list li{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid #E1EEF8;border-radius:14px;padding:12px 14px}
.ig-list .ig-ic{width:60px;height:60px;margin:0;flex:none}
.ig-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.ig-cards li{background:#fff;border:1px solid #E1EEF8;border-radius:14px;padding:16px 10px;text-align:center}
.ig-cards .ig-ic{width:64px;height:64px}
/* pares vago-claro */
.ig-pairs-h{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-bottom:4px}
.ig-pairs{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ig-pairs li{display:grid;grid-template-columns:1fr 44px 1fr;align-items:center;gap:6px}
.ig-vague,.ig-clear{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #E1EEF8;border-radius:14px;padding:14px 16px;min-height:76px}
.ig-vague .ig-svg,.ig-clear .ig-svg{width:40px;height:40px;flex:none}
.ig-vague q{font:800 1.05rem var(--display);color:var(--navy)}
.ig-arrow{width:34px;height:34px;margin:auto;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--blue));position:relative}
.ig-arrow::after{content:"";position:absolute;left:11px;top:12px;width:8px;height:8px;border-top:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg)}
/* barras */
.ig-chart{position:relative;display:grid;grid-template-columns:44px 1fr;height:300px;margin-top:10px;padding-bottom:58px}
.ig-axis{position:relative;border-right:1px solid #C9DAE8}
.ig-axis span{position:absolute;right:8px;transform:translateY(50%);font-size:.85rem;color:var(--muted)}
.ig-bars{list-style:none;margin:0;padding:0 0 0 14px;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(8px,2vw,22px);align-items:end;height:100%;border-bottom:1px solid #C9DAE8;background:repeating-linear-gradient(0deg,transparent 0,transparent calc(25% - 1px),#E3EDF6 calc(25% - 1px),#E3EDF6 25%)}
.ig-bars li{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.ig-bar{display:block;height:var(--h);border-radius:10px 10px 0 0;background:linear-gradient(180deg,var(--cyan),var(--blue));position:relative}
.ig-bars li:nth-child(1) .ig-bar{background:linear-gradient(180deg,#1B4F94,var(--navy))}
.ig-bars li:nth-child(4) .ig-bar,.ig-bars li:nth-child(5) .ig-bar{background:linear-gradient(180deg,#9FD9F5,#62BDEB)}
.ig-bar b{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);font:800 clamp(.95rem,2vw,1.35rem) var(--display);color:var(--navy);white-space:nowrap}
.ig-bar-l{position:absolute;top:calc(100% + 8px);left:-6px;right:-6px;text-align:center;font-size:.86rem;line-height:1.25;color:var(--ink)}
/* animación de entrada */
@media (prefers-reduced-motion:no-preference){
  .js [data-ig] .ig-head,.js [data-ig] li,.js [data-ig] .ig-note,.js [data-ig] .ig-warn,.js [data-ig] .ig-col-h{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0) * .14s + .15s)}
  .js [data-ig] .ig-ic{transform:scale(.6);transition:transform .7s cubic-bezier(.3,1.6,.5,1);transition-delay:calc(var(--i,0) * .14s + .35s)}
  .js [data-ig] .ig-steps li::after{opacity:0;transition:opacity .4s ease;transition-delay:calc(var(--i,0) * .14s + .6s)}
  .js [data-ig] .ig-note,.js [data-ig] .ig-warn{transition-delay:.9s}
  .js [data-ig] .ig-bar{height:0;transition:height 1.1s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0) * .15s + .3s)}
  .js [data-ig] .ig-arrow{transform:scale(0);transition:transform .5s cubic-bezier(.3,1.6,.5,1);transition-delay:calc(var(--i,0) * .14s + .5s)}
  .js [data-ig].is-in .ig-head,.js [data-ig].is-in li,.js [data-ig].is-in .ig-note,.js [data-ig].is-in .ig-warn,.js [data-ig].is-in .ig-col-h{opacity:1;transform:none}
  .js [data-ig].is-in .ig-ic{transform:none}
  .js [data-ig].is-in .ig-steps li::after{opacity:1}
  .js [data-ig].is-in .ig-bar{height:var(--h)}
  .js [data-ig].is-in .ig-arrow{transform:none}
}
/* gráficas en pantallas pequeñas */
@media (max-width:900px){
  .ig-cols-4,.ig-cols-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ig-cols-3.ig-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ig-cards{grid-template-columns:1fr}
  .ig-cards li{display:flex;align-items:center;gap:14px;text-align:left}
  .ig-cards .ig-ic{margin:0;flex:none;width:56px;height:56px}
  .ig-steps li::after{display:none}
}
@media (max-width:640px){
  .ig-steps,.ig-cols-2,.ig-cols-3,.ig-cols-4,.ig-cols-5{grid-template-columns:1fr}
  .ig-steps li,.ig-grid li{display:grid;grid-template-columns:64px 1fr;column-gap:14px;text-align:left;padding:16px 16px 16px 16px;align-items:center}
  .ig-steps li .ig-ic,.ig-grid li .ig-ic{grid-row:span 3;width:60px;height:60px;margin:0}
  .ig-steps .ig-n,.ig-grid .ig-n{left:auto;right:12px;top:12px}
  .ig-steps .ig-time{justify-self:start;margin:0 0 6px}
  .ig-grid--check li{display:flex}
  .ig-compare{grid-template-columns:1fr}
  .ig-pairs-h{grid-template-columns:1fr;gap:8px}
  .ig-pairs li{grid-template-columns:1fr;gap:6px}
  .ig-arrow{transform:rotate(90deg)!important}
  .ig-head--icon .ig-ic--lg{display:none}
  .ig-chart{height:260px}
  .ig-bar-l{font-size:.72rem}
}

/* Fotos recortadas con círculo celeste: entrada de izquierda a derecha */
@media (prefers-reduced-motion:no-preference){
  .js .cutout[data-reveal]{opacity:0;transform:translateX(-90px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
  .js .cutout[data-reveal].is-visible{opacity:1;transform:none}
}
/* gráficas: ajustes finos */
@media (min-width:901px){
  .ig-grid.ig-cols-4{display:flex;flex-wrap:wrap;justify-content:center}
  .ig-grid.ig-cols-4>li{flex:0 1 calc(25% - 10.5px)}
}
@media (max-width:640px){
  .ig-grid.ig-cols-2,.ig-grid.ig-cols-3,.ig-grid.ig-cols-4,.ig-grid.ig-cols-5{grid-template-columns:1fr}
  .ig-steps .ig-n,.ig-grid .ig-n{left:8px;right:auto;top:8px;width:24px;height:24px;font-size:.75rem;z-index:1}
  .ig-chart{display:block;height:auto;padding:0}
  .ig-axis{display:none}
  .ig-bars{display:grid;grid-template-columns:1fr;gap:14px;height:auto;border:0;background:none;padding:0}
  .ig-bars li{height:auto;display:flex;flex-direction:column;gap:6px}
  .ig-bar-l{position:static;text-align:left;font-size:.92rem}
  .ig-bars li .ig-bar{height:28px;width:calc(var(--h) * .82);border-radius:0 8px 8px 0;order:2}
  .ig-bar b{left:calc(100% + 8px);bottom:auto;top:50%;transform:translateY(-50%);font-size:1rem}
}
@media (max-width:640px) and (prefers-reduced-motion:no-preference){
  .js [data-ig] .ig-bars li .ig-bar{height:28px;width:0;transition:width 1.1s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0) * .15s + .3s)}
  .js [data-ig].is-in .ig-bars li .ig-bar{height:28px;width:calc(var(--h) * .82)}
}
/* Iconos de las gráficas con los colores del home */
.ig-svg,.ig-svg *{fill:var(--navy)}
.ig-check,.ig-check *{fill:var(--cyan)}
.ig-col-h .ig-svg,.ig-col-h .ig-svg *{fill:#fff}
.ig-note .ig-svg,.ig-note .ig-svg *{fill:var(--blue)}
.ig-warn .ig-svg,.ig-warn .ig-svg *{fill:#D98A00}
.ig-ic{background:var(--paper);box-shadow:inset 0 0 0 1px #DCE7F1}
.ig-n{background:var(--cyan)}
.ig-hl{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--blue)}
