/* Refinamiento visual NuevoCNAE */
:root{--ink:#1a334d;--muted:#66798c}

/* Cabecera y logo */
.nc-logo-full{display:block;width:260px;max-width:32vw;height:auto;max-height:66px;object-fit:contain;object-position:left center}
.nc-header-inner{min-height:82px}

/* Tipografía más editorial, menos pesada */
.nc-brand{font-weight:680}
.nc-logo-full{display:block;width:auto;height:48px;max-width:220px;object-fit:contain}
.nc-brand-copy small{font-weight:600}
.nc-nav a{font-weight:600}
.nc-eyebrow,.nc-heading .nc-kicker,.nc-panel-kicker,.nc-section-letter,.nc-badge{font-weight:700}
.nc-button{font-weight:650}
.nc-hero h1,.nc-search-page h1,.nc-prose h1{font-weight:600;color:#17324d}
.nc-heading h2,.nc-tool h3,.nc-feature h3,.nc-callout h2,.nc-prose h2,.nc-prose h3{font-weight:600;color:#1c3a55}
.nc-code-demo,.nc-result-code{font-weight:650}
.nc-panel-title,.nc-section-name,.nc-faq summary,.nc-form label{font-weight:600}
.nc-icon{font-weight:700}

/* Home: un poco más de aire y menos sensación de bloque */
.nc-hero{padding-top:78px}
.nc-hero h1{font-size:clamp(42px,5.7vw,70px);line-height:1.03;letter-spacing:-.038em}
.nc-hero-lead strong,.nc-heading p strong,.nc-feature p strong,.nc-tool p strong,.nc-callout p strong{font-weight:650;color:#294c68}
.nc-feature,.nc-tool,.nc-section-card{box-shadow:none}
.nc-feature{padding:27px 26px}
.nc-section-card{border-color:#d7e3ec}
.nc-hero-panel{box-shadow:0 22px 60px rgba(13,39,68,.16)}

/* Buscador: más herramienta y menos cartel */
.nc-search-page{padding:60px 0 82px;background:linear-gradient(180deg,#f7fafc 0,#fff 330px)}
.nc-search-page h1{font-size:clamp(34px,4.2vw,50px);line-height:1.08;letter-spacing:-.025em;max-width:920px;margin:18px 0 12px;font-weight:600;color:#193954}
.nc-search-page-lead{max-width:840px;font-size:17px;line-height:1.7;color:#61778b}
.nc-search-page-lead strong{font-weight:650;color:#294c68}
.nc-search-page .nc-searchbox{margin-top:25px;max-width:860px;box-shadow:0 12px 38px rgba(20,52,79,.08)}
.nc-search-page .nc-search-layout{margin-top:36px}
.nc-search-page .nc-sidebar-box h3{font-weight:600;color:#23435d}
.nc-search-page .nc-sidebar-box p strong{font-weight:650;color:#31526b}

/* Artículos y guías */
.nc-article-page{background:linear-gradient(180deg,#f8fbfd 0,#fff 360px)}
.nc-article-hero{padding:64px 0 56px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 88% 10%,rgba(23,105,170,.10),transparent 28%),linear-gradient(180deg,#fff 0,#f6f9fb 100%)}
.nc-article-hero-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:58px;align-items:center}
.nc-article-label{display:inline-flex;margin:0 0 18px;padding:7px 11px;border:1px solid #cfe0ec;border-radius:999px;background:#fff;color:#2a6288;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.nc-article-hero h1{font-size:clamp(40px,5vw,64px);line-height:1.04;letter-spacing:-.035em;margin:0;max-width:850px;font-weight:600;color:#17324d}
.nc-article-meta{margin:18px 0 0;color:#6a7d90;font-size:14px}
.nc-article-thumb{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:16/10;background:#e8eef3;border:1px solid #d8e3eb;box-shadow:0 16px 42px rgba(29,65,94,.10)}
.nc-article-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.nc-article-visual{aspect-ratio:16/10;border-radius:24px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(145deg,#eaf4f8,#dcebf3);border:1px solid #cfe0e9;color:#1f526f}
.nc-article-visual span{font-size:14px;letter-spacing:.14em;text-transform:uppercase}
.nc-article-visual strong{font-size:58px;line-height:1;font-weight:600;letter-spacing:-.04em;margin:5px 0 8px}
.nc-article-visual small{color:#557187}
.nc-article-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(240px,300px);gap:68px;align-items:start}
.nc-article-content{width:auto;margin:0;padding:62px 0 24px;font-size:17px;line-height:1.78}
.nc-article-content>#ez-toc-container{display:none!important}
.nc-article-content h2{font-size:30px;line-height:1.2;letter-spacing:-.018em;margin:54px 0 17px;padding-left:15px;border-left:3px solid #87b8c9}
.nc-article-content h3{font-size:21px;line-height:1.3;letter-spacing:-.008em;margin:36px 0 12px}
.nc-article-content p{margin:0 0 19px;color:#40566b}
.nc-article-content p strong{font-weight:650;color:#294a64}
.nc-article-content ul,.nc-article-content ol{padding-left:23px;margin:0 0 22px}
.nc-article-content li{margin-bottom:8px;color:#40566b}
.nc-article-content a{color:#155f98;text-decoration-thickness:1px;text-underline-offset:3px}
.nc-article-content figure{margin:30px 0}
.nc-article-content figure img{border-radius:18px}
.nc-article-content table{border-radius:14px;overflow:hidden}
.nc-article-aside{padding-top:62px}
.nc-article-aside .nc-sidebar-box{position:sticky;top:96px;padding:22px}
.nc-side-kicker{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#39708f;font-weight:700;margin-bottom:8px}
.nc-article-aside h2{font-size:20px;line-height:1.25;margin:0 0 9px;font-weight:600;color:#1e3e58}
.nc-article-aside p{margin:0 0 16px}
.nc-button-small{padding:10px 13px;font-size:13px}
.nc-side-links{display:grid;gap:0;margin-top:16px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.nc-side-links a{padding:13px 15px;border-bottom:1px solid var(--line);text-decoration:none;color:#36536a;font-size:13px}
.nc-side-links a:last-child{border-bottom:0}
.nc-side-links a:hover{background:#f5f9fb;color:#155f98}

/* Evitar estilos viejos de índices automáticos dentro de la nueva interfaz */
.nc-article-page .ez-toc-container{display:none!important}

@media(max-width:980px){
  .nc-article-hero-grid,.nc-article-layout{grid-template-columns:1fr}
  .nc-article-thumb,.nc-article-visual{max-width:720px}
  .nc-article-aside{padding-top:0;padding-bottom:42px}
  .nc-article-aside .nc-sidebar-box{position:static}
}

@media(max-width:760px){
  .nc-logo-full{width:190px;max-width:58vw;max-height:52px}
  .nc-header-inner{min-height:68px}
  .nc-hero{padding-top:50px}
  .nc-hero h1{font-size:44px}
  .nc-article-hero{padding:46px 0 38px}
  .nc-article-hero h1{font-size:40px}
  .nc-article-hero-grid{gap:30px}
  .nc-article-content{padding-top:42px;font-size:16.5px}
  .nc-article-content h2{font-size:26px;margin-top:44px}
  .nc-article-content h3{font-size:20px}
}

@media(max-width:520px){
  .nc-hero h1{font-size:39px}
  .nc-article-hero h1{font-size:36px}
  .nc-article-label{font-size:11px}
  .nc-article-thumb,.nc-article-visual{border-radius:18px}
}
