/* Ascenso / Explorador — sistema visual compartido */
@font-face{font-family:"Bricolage Grotesque";src:url("../fonts/BricolageGrotesque-Variable.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url("../fonts/Inter-Variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--bg:#fff;--bg-alt:#f6f7fb;--wrap:1376px;--header-h:88px;--radius:12px;--radius-lg:16px;--line:#dde2ec;--cobalt:#2f4bf5}
:root[data-theme="dark"]{--bg:#0a0e1a;--bg-alt:#101728}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0a0e1a;--bg-alt:#101728}}
body{line-height:1.65}
h1,h2,h3{letter-spacing:-.035em;text-wrap:balance}
h2{font-size:clamp(1.75rem,1.2rem + 1.65vw,2.65rem);font-weight:800}
h3{letter-spacing:-.02em}
.wrap{padding-inline:24px}
.section{padding-block:64px}
.section-head{margin-bottom:32px;gap:18px 32px}
.section-intro{color:var(--muted);font-size:1rem;margin-top:8px!important}
.section-intro a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line-2)}
.eyebrow-plain{font-size:.72rem;letter-spacing:.13em;margin-bottom:10px}
.link-arrow{font-size:.93rem}
.btn{border-radius:9px;box-shadow:none}
.btn-primary{box-shadow:none}
.chip{border-radius:6px;font-size:.73rem}
[hidden]{display:none!important}

/* La marca y la navegación comparten el mismo azul en todas las páginas. */
.site-header{background:var(--cobalt);border:0;backdrop-filter:none;-webkit-backdrop-filter:none;color:#fff}
.header-inner{gap:24px}
.brand-logo{display:block;width:264px;height:auto;max-height:48px}
.site-header .brand{flex-shrink:0}
.site-header .nav-link{color:#fff;padding:12px 10px;border-radius:7px;font-size:.9rem}
.site-header .nav-link:hover,.site-header .nav-link.is-active,.site-header .nav-link[aria-expanded="true"]{background:#ffffff18;color:#fff}
.site-header .icon-btn{color:#fff;width:42px}
.site-header .icon-btn:hover{color:#fff;background:#ffffff18}
.header-actions{gap:7px;padding-left:18px;border-left:1px solid #ffffff38}
.site-header :focus-visible{outline-color:white}
.site-header .mega :focus-visible,.site-header .search-drawer :focus-visible{outline-color:var(--brand)}
.mega{border-radius:12px;padding:16px}
.mega-link{border-radius:7px}
.mega-link strong{font-size:.9rem}
.mega-ic{background:var(--brand-soft)!important;color:var(--brand)!important;border-radius:8px}
.search-drawer{box-shadow:0 12px 20px #0d132414}
.search-drawer .search-form{padding-block:4px}
.search-drawer .btn{color:#fff;background:var(--cobalt)}
.site-footer{background:#0d1324;color:#bcc5dc;border:0;padding-top:64px}
.site-footer .brand-logo{width:260px}
.site-footer .brand,.site-footer p,.site-footer .footer-links a,.site-footer .footer-disclosure{color:#bcc5dc}
.site-footer .footer-title{color:#fff;letter-spacing:.08em;font-size:.78rem}
.site-footer a,.site-footer .footer-links a:hover{color:#fff}
.site-footer .footer-bottom,.site-footer .footer-disclosure{border-color:#ffffff20}

/* Portada: búsqueda, áreas y ranking en una sola lectura. */
.explore-hero{position:relative;overflow:hidden;background:var(--cobalt);color:#fff;isolation:isolate}
.explore-hero-inner{position:relative;text-align:center;padding-block:24px 48px}
.explore-eyebrow{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#e0e5ff;margin:0 0 18px;font-weight:600}
.explore-hero h1{color:#fff;font-size:clamp(3.3rem,5.6vw,6rem);font-weight:800;line-height:.98;letter-spacing:-.045em;margin:0 auto 20px;max-width:850px}
.explore-sub{font-size:clamp(1rem,1.6vw,1.5rem);color:#fff;margin:0 0 26px}
.explore-search{display:flex;align-items:center;gap:18px;max-width:950px;margin:0 auto 22px;padding:8px 8px 8px 26px;background:#fff;border:1px solid #fff;border-radius:15px;color:#646d84;box-shadow:0 10px 30px #1424a214}
.explore-search>.ic{width:24px;height:24px}
.explore-search input{min-width:0;flex:1;border:0;background:transparent;font:400 1.05rem/1.4 var(--font);padding:10px 0;color:#0d1324}
.explore-search input::placeholder{color:#646d84;opacity:1}
.explore-search input:focus{outline:none}
.explore-search:focus-within{outline:3px solid #cbd3ff;outline-offset:5px}
.explore-search button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:60px;padding:14px 30px;border:0;border-radius:9px;background:#0d1324;color:white;cursor:pointer;font:700 1rem var(--font)}
.explore-search button:hover{background:#1d2944}
.explore-search button:focus-visible{outline-color:#0d1324;outline-offset:3px}
.explore-topics{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;list-style:none;padding:0;margin:0}
.explore-topics a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:7px 20px;border:1px solid #ffffff90;border-radius:11px;color:#fff;font-size:.81rem;font-weight:500;text-decoration:none;transition:background .15s}
.explore-topics a:hover{background:#ffffff1c;border-color:#fff}
.explore-topics a:focus-visible{outline-color:white}
.ascenso-steps{position:absolute;bottom:-1px;right:0;width:245px;height:244px;opacity:.22;background:#fff;clip-path:polygon(68% 0,100% 0,100% 100%,0 100%,0 76%,32% 76%,32% 39%,68% 39%);z-index:-1}
.home-ranking{padding-block:42px 44px}
.home-ranking .section-head{margin-bottom:20px}
.home-ranking h2{font-size:clamp(2rem,3.5vw,3.4rem);letter-spacing:-.045em}
.home-ranking-labels{display:grid;grid-template-columns:78px 1fr 172px;padding:0 20px 10px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.home-course-list{padding:0;margin:0;list-style:none}
.home-course{display:grid;grid-template-columns:54px 192px minmax(0,1fr) 116px 40px;gap:24px;align-items:center;min-height:132px;padding:18px 20px;text-decoration:none;color:var(--ink);border-top:1px solid var(--line)}
.home-course-list li:first-child .home-course{border:1px solid var(--line);background:var(--brand-soft);border-radius:7px}
.home-course-list li:last-child .home-course{border-bottom:1px solid var(--line)}
.home-course:hover{color:var(--ink);background:var(--surface-2)}
.home-course:hover h3{color:var(--brand)}
.home-course-position{font:800 2.1rem/1 var(--font-display);letter-spacing:-.04em}
.home-course-list li:first-child .home-course-position{color:var(--brand)}
.home-course-media{overflow:hidden;border-radius:5px;border:1px solid var(--line)}
.home-course-info{min-width:0}
.home-course-category{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;display:block;margin-bottom:4px}
.home-course-info h3{font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.2;margin:0 0 6px;text-wrap:pretty}
.home-course-info p{font-size:.84rem;color:var(--muted);margin:0}
.home-course-score{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.home-course-score strong{font:800 2.9rem/1 var(--font-display);letter-spacing:-.06em}
.home-course-score small{font-size:.72rem;color:var(--muted)}
.home-course-score small span{display:block;font-size:.6rem}
.home-course-arrow{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;color:var(--brand);background:var(--surface)}
.home-ranking-foot{display:flex;justify-content:space-between;gap:12px 24px;align-items:center;margin-top:22px;font-size:.79rem;color:var(--muted)}
.home-ranking-foot p{margin:0}
.home-ranking-foot a{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);text-decoration:none;flex-wrap:wrap}
.home-ranking-foot strong{color:var(--brand)}
.page-home>.site-footer{margin-top:0}
.page-home .cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.cat-card{position:relative;padding:22px;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:64px minmax(0,1fr);padding-right:46px;background:var(--surface)}
.cat-ic,.guide-ic,.page-hero-ic{color:var(--brand)!important;background:var(--brand-soft)!important;border-radius:10px}
.category-art{--category-art-size:64px;display:grid;place-items:center;flex:none;width:var(--category-art-size);height:var(--category-art-size);background:none;border:0;border-radius:0;color:var(--brand);line-height:0}
.category-art--hero{--category-art-size:96px}
.category-art__image{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.category-art>.ic{width:36px;height:36px}
.category-art--hero>.ic{width:48px;height:48px}
.cat-card>.category-art{grid-row:span 2}
.cat-card:hover{border-color:var(--brand);box-shadow:none}
.cat-arrow{position:absolute;right:20px;top:calc(50% - 8px);color:var(--muted)}
.cat-name{min-width:0;font-size:1.03rem;overflow-wrap:anywhere;hyphens:auto}
.guide-card{border-radius:12px;box-shadow:none;padding:26px;background:var(--surface)}
.guide-card:hover{box-shadow:none;border-color:var(--brand)}
.guide-card h3{font-size:1.3rem}
.guide-meta{color:var(--brand);font-weight:600}
.guide-card-lg{border-radius:16px;padding:34px}
.page-home .guide-card-lg:first-child{background:var(--cobalt);color:white;border-color:var(--cobalt)}
.page-home .guide-card-lg:first-child :is(h2,p,.guide-meta){color:white}
.page-home .guide-card-lg:first-child .guide-ic{color:white!important;background:#ffffff20!important}
.method-grid{gap:64px}
.method-grid h2{max-width:20ch}
.weights{border:0;background:none;padding:12px 0}
.weights li{padding-block:16px}
.about-teaser{max-width:1050px}
.avatar{background:var(--cobalt);border-radius:12px}

/* Banners originales: proporción completa, sin recorte ni filtros. */
.cover.course-image{position:relative;display:block;width:100%;aspect-ratio:750/422;padding:0;background:#eef0f6;overflow:hidden;border-radius:0}
.cover.course-image::before,.cover.course-image::after{content:none;display:none}
.course-image-img{display:block;width:100%;height:100%;aspect-ratio:750/422;object-fit:contain;object-position:center;filter:none}
.course-image-missing{display:flex;align-items:center;justify-content:center;height:100%;min-height:70px;padding:12px;text-align:center;font:500 .82rem/1.4 var(--font);color:#646d84}
.card{border-radius:12px;box-shadow:none}
.card:hover{box-shadow:0 8px 22px #0d13240a;transform:translateY(-3px);border-color:var(--brand)}
.card-body{padding:20px;gap:9px}
.card-title{font-size:1.18rem;line-height:1.25}
.card-inst{font-size:.82rem}
.card-badge,.card-rank{position:static;align-self:flex-start;margin:12px 20px 0;padding:5px 9px;border-radius:5px;font-size:.7rem;background:var(--brand-soft);color:var(--brand-ink);backdrop-filter:none}
.card-rank+.card-badge{margin-top:6px}
.card-meta{font-size:.75rem;gap:7px 12px}
.card-verdict{font-size:.875rem}
.score{background:var(--brand-soft);border-radius:9px}
.score::before{display:none}
.score-num{font-size:calc(var(--sz) * .43)}
.score-lg{--sz:84px}
.podium .card:nth-child(1){border-color:var(--brand)}
.rows{gap:0}
.row{grid-template-columns:42px 180px minmax(0,1fr) 160px 90px;align-items:center;gap:20px;padding:24px 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.row:hover{background:var(--surface-2);box-shadow:none}
.row-rank,.row:nth-child(-n+3) .row-rank{font:800 1.7rem/1 var(--font-display);color:var(--muted)}
.row:first-child .row-rank{color:var(--brand)}
.row-cover{display:block;overflow:hidden;border-radius:6px;border:1px solid var(--line)}
.row-title{font-size:1.14rem}
.row-verdict{font-size:.84rem;line-height:1.5}
.row-data,.row-score{grid-column:auto;margin:0;flex-direction:column}
.row-data{font-size:.75rem}
.row-score{gap:9px}
.row-score .btn{font-size:.73rem;min-height:32px}
.page-hero,.review-hero{background:var(--bg-alt)!important;border-bottom:1px solid var(--line);padding-block:32px 46px}
.page-hero h1{max-width:1050px;font-size:clamp(2.15rem,3.9vw,3.7rem);line-height:1.08}
.page-hero .lead{max-width:75ch;font-size:1.08rem;margin-bottom:0}
.crumbs{font-size:.76rem;margin-bottom:24px}
.review-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px;align-items:center}
.review-hero h1{font-size:clamp(2rem,3vw,3.15rem);max-width:26ch;line-height:1.08}
.review-hero .lead{font-size:1.02rem}
.review-hero-media{width:100%;max-width:520px;justify-self:end;border-radius:12px;overflow:hidden;box-shadow:0 16px 45px #0d13241a;border:1px solid var(--line)}
.review-grid{padding-top:48px;grid-template-columns:minmax(0,1fr) 350px;gap:64px}
.review-body{min-width:0}
.review-body.prose{font-size:1.02rem}
.scorecard{box-shadow:none;border-radius:12px}
.review-aside{position:sticky;top:calc(var(--header-h) + 20px);order:2;align-self:start}
.review-body{order:1}
.inline-course-media{max-width:240px;overflow:hidden;border-radius:7px;margin-bottom:16px}
.course-list-link{display:flex!important;gap:16px!important;align-items:center!important;min-width:0;flex:1}
.course-list-media{width:140px;flex-shrink:0;overflow:hidden;border-radius:5px}
.course-list-copy{min-width:0}
.course-list-copy strong{display:block;font-size:.95rem;line-height:1.3}
.course-list-copy small{display:block;margin-top:5px}
.step-courses .course-list-item{align-items:center;gap:16px;padding-block:16px}
.step-courses .course-list-item .score{flex:none}
.step{grid-template-columns:40px minmax(0,1fr)}
.step-body{min-width:0}
.course-list-copy{overflow-wrap:anywhere}
.mini-course{display:flex;flex-direction:column;gap:8px;min-width:0}
.mini-course-media{width:120px;border-radius:5px;overflow:hidden}
.mini-rank-item{align-items:center!important;padding-block:14px!important}
.cat-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cat-block{border-radius:12px;padding:24px}
.cat-block-head{display:grid;grid-template-columns:64px minmax(0,1fr) 20px;gap:14px}
.cat-block-head>div{min-width:0}
.cat-block-head h2{overflow-wrap:anywhere;hyphens:auto}
.cat-block-head>.ic{margin-left:0}
.filters{padding:18px;background:var(--bg-alt);border:1px solid var(--line);border-radius:12px;margin-bottom:20px}
.filters input,.filters select{font-size:.85rem}
.prose h2{font-size:clamp(1.55rem,2.4vw,2.15rem)}
.res-card,.cert-facts,.toc{border-radius:12px}
@media(min-width:1440px){.wrap{padding-inline:32px}.explore-hero-inner{padding-block:32px 48px}}
@media(max-width:1100px){
  .brand-logo{width:232px}.header-inner{gap:16px}.site-header .nav-link{padding-inline:7px;font-size:.81rem}.header-actions{padding-left:10px;gap:2px}
  .home-course{grid-template-columns:40px 170px minmax(0,1fr) 108px 32px;gap:18px}
  .home-course-score strong{font-size:2.5rem}
  .row{grid-template-columns:32px 148px minmax(0,1fr) 84px;gap:16px}
  .row-data{grid-column:3;grid-row:2;flex-direction:row;gap:12px}
  .row-score{grid-column:4;grid-row:1/span 2}.row-rank,.row-cover{grid-row:1/span 2}
  .review-hero-grid{gap:32px}.review-grid{gap:32px;grid-template-columns:minmax(0,1fr) 320px}
  .cat-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:899px){
  :root{--header-h:76px}
  .site-header .main-nav{background:var(--surface)}
  .site-header .main-nav .nav-link{color:var(--ink);font-size:1rem;padding:14px 12px}
  .site-header .main-nav .nav-link:hover,.site-header .main-nav .nav-link[aria-expanded="true"]{background:var(--surface-2);color:var(--ink)}
  .site-header .main-nav :focus-visible{outline-color:var(--brand)}
  .header-actions{border:0;padding:0}
  .brand-logo{width:244px}
  .explore-hero-inner{padding-block:28px 38px}
  .explore-hero h1{font-size:4.5rem}
  .explore-topics a{padding-inline:14px}
  .section{padding-block:48px}
  .home-course{grid-template-columns:32px 144px minmax(0,1fr) 80px;gap:16px;padding:16px 12px}
  .home-course-arrow{display:none}
  .home-ranking-labels{grid-template-columns:48px 1fr 84px;padding-inline:12px}
  .home-course-score{gap:4px}.home-course-score strong{font-size:2.2rem}
  .home-course-info h3{font-size:1.08rem}
  .home-course-info p{font-size:.77rem}
  .home-ranking-foot{align-items:flex-start;flex-direction:column}
  .page-home .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-hero-grid{grid-template-columns:1fr}.review-hero-media{justify-self:start;max-width:600px}
  .review-hero h1{max-width:30ch}.review-grid{grid-template-columns:1fr}
  .review-aside{position:static;max-height:none;overflow:visible;order:0}.review-body{order:1}
  .scorecard{max-width:none}.review-hero .lead{max-width:70ch}
  .method-grid{gap:32px}
}
@media(max-width:600px){
  :root{--header-h:68px}
  .wrap{padding-inline:20px}
  .brand-logo{width:196px}
  .header-inner{gap:10px}
  .site-header .header-actions{gap:0}
  .site-header .icon-btn{width:34px;height:38px}
  .header-actions .icon-btn[data-search-toggle]{display:grid}
  .explore-hero-inner{padding-block:24px 32px}
  .explore-eyebrow{font-size:.58rem;letter-spacing:.11em;margin-bottom:20px}
  .explore-hero h1{font-size:clamp(2.9rem,11.7vw,4.3rem);line-height:1.02;margin-bottom:18px}
  .explore-sub{font-size:1rem;max-width:30ch;margin:0 auto 24px;line-height:1.5}
  .explore-search{gap:10px;border-radius:12px;padding:6px 6px 6px 12px;margin-bottom:18px}
  .explore-search>.ic{width:18px;height:18px}
  .explore-search input{font-size:.85rem;padding-block:9px}
  .explore-search button{min-height:48px;padding:10px 14px;gap:8px;font-size:.83rem}
  .explore-search button .ic{display:none}
  .explore-topics{gap:8px}
  .explore-topics a{font-size:.72rem;min-height:36px;border-radius:8px;padding:6px 11px}
  .ascenso-steps{width:142px;height:164px;opacity:.12}
  .section{padding-block:40px}
  .section-head{margin-bottom:24px;gap:14px}
  .home-ranking h2{font-size:2.05rem}
  .section-intro{font-size:.84rem}
  .home-ranking-labels{display:none}
  .home-course{grid-template-columns:24px 112px minmax(0,1fr);gap:12px;align-items:start;padding:18px 10px}
  .home-course-position{font-size:1.35rem;grid-row:1/span 2;padding-top:4px}
  .home-course-media{grid-column:2;grid-row:1}
  .home-course-info{grid-column:3;grid-row:1/span 2}
  .home-course-category{font-size:.55rem;margin-bottom:5px}
  .home-course-info h3{font-size:.94rem;line-height:1.25;margin-bottom:6px}
  .home-course-info p{font-size:.69rem;line-height:1.4}
  .home-course-score{grid-column:2;grid-row:2;align-items:baseline;margin-top:0}
  .home-course-score strong{font-size:1.8rem}
  .home-course-score small span{display:inline}
  .home-ranking-foot{font-size:.74rem;margin-top:18px}
  .home-ranking-foot a{gap:4px 6px}
  .page-home .cat-grid,.cat-list{grid-template-columns:1fr}
  .cat-card{grid-template-columns:56px minmax(0,1fr);padding:18px 44px 18px 18px}
  .category-art:not(.category-art--hero){--category-art-size:56px}
  .cat-block-head{grid-template-columns:56px minmax(0,1fr) 20px;gap:12px}
  .grid-3{grid-template-columns:1fr}
  .card-body{padding:18px}
  .card-title{font-size:1.22rem}
  .guide-card,.cat-block{padding:22px}
  .page-hero,.review-hero{padding-block:22px 32px}
  .page-hero h1{font-size:2.15rem}
  .page-hero .lead{font-size:.98rem}
  .review-hero h1{font-size:2.1rem}
  .review-hero-grid{gap:24px}
  .review-hero .lead{font-size:.98rem}
  .review-grid{padding-top:32px;gap:32px}
  .byline{gap:10px}.byline p{font-size:.76rem}
  .row{grid-template-columns:26px 112px minmax(0,1fr);gap:12px;padding:22px 0;align-items:start}
  .row-rank{grid-column:1;grid-row:1;font-size:1.35rem}
  .row-cover{grid-column:2;grid-row:1}
  .row-main{grid-column:3;grid-row:1/span 2}
  .row-title{font-size:1rem;line-height:1.25}
  .row-sub{font-size:.69rem;gap:6px}
  .row-verdict{display:none}
  .row-data{grid-column:2/span 2;grid-row:3;flex-direction:row;gap:6px 14px;font-size:.72rem}
  .row-score{grid-column:2;grid-row:2;flex-direction:row;gap:8px}
  .row-score .score{--sz:42px}
  .row-score .btn{padding:5px 8px;font-size:.66rem}
  .filters{padding:12px}
  .course-list-media{width:160px;max-width:100%}
  .course-list-link{gap:10px!important;flex-direction:column;align-items:flex-start!important}
  .course-list-copy strong{font-size:.84rem}
  .course-list-copy small{font-size:.71rem!important}
  .step-courses .course-list-item{gap:10px;align-items:flex-start}
  .step-courses .course-list-item .score{--sz:34px}
  .mini-course{flex-direction:row;align-items:center;gap:10px;font-size:.85rem}
  .mini-course-media{width:96px;flex-shrink:0}
  .footer-brand .brand-logo{width:230px}
  .site-footer{padding-top:44px}
}
@media(max-width:360px){
  .wrap{padding-inline:16px}.brand-logo{width:152px}
  .explore-hero h1{font-size:2.55rem}
  .home-course{grid-template-columns:20px 96px minmax(0,1fr);gap:10px;padding-inline:8px}
  .home-course-info h3{font-size:.87rem}
  .row{grid-template-columns:20px 100px minmax(0,1fr);gap:10px}
  .mini-course-media{width:80px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

