/* ==========================================================================
   AnalytiCZ — hoja de estilos de marca
   Negro tinta (#111) + rojo señal (#C8102E), IBM Plex, hairlines 0.5px.
   ========================================================================== */

:root{
  --acz-ink:#111111;
  --acz-ink-2:#1A1A1A;
  --acz-red:#C8102E;
  --acz-paper:#F4F4F2;
  --acz-sand:#F1EFE8;
  --acz-line:rgba(0,0,0,.10);
  --acz-text:#3a3a37;
  --acz-muted:#5F5E5A;
  --acz-mono-muted:#8A8A85;
  --acz-radius:12px;
  --acz-sans:'IBM Plex Sans',-apple-system,'Segoe UI',Roboto,sans-serif;
  --acz-mono:'IBM Plex Mono',ui-monospace,monospace;
  --acz-serif:'IBM Plex Serif',Georgia,serif;
}

*{box-sizing:border-box;}
body.acz{margin:0;background:var(--acz-paper);color:var(--acz-ink-2);font-family:var(--acz-sans);}

/* --- Logotipo --------------------------------------------------------- */
.acz-logo{font-family:var(--acz-sans);font-weight:600;letter-spacing:-0.5px;line-height:1;}
.acz-logo__cz{font-family:var(--acz-mono);font-weight:500;color:var(--acz-red);}
.acz-logo__dot{color:var(--acz-red);}

/* --- Navegación ------------------------------------------------------- */
.acz-nav{background:var(--acz-ink);border-bottom:3px solid var(--acz-red);padding:15px 36px;display:flex;align-items:center;justify-content:space-between;}
.acz-nav__brand{display:flex;align-items:baseline;gap:9px;text-decoration:none;}
.acz-nav__tld{font-family:var(--acz-mono);font-size:11px;color:var(--acz-mono-muted);}
.acz-nav__menu{display:flex;gap:24px;font-family:var(--acz-mono);font-size:13px;list-style:none;margin:0;padding:0;}
.acz-nav__menu a{color:#cfcfca;text-decoration:none;}
.acz-nav__menu a:hover{color:#fff;}
.acz-nav__menu .acz-accent a,.acz-nav__menu a.acz-accent{color:var(--acz-red);}
.acz-nav__toggle{display:none;background:none;border:0;color:#cfcfca;font-size:20px;cursor:pointer;}

/* --- Hero ------------------------------------------------------------- */
.acz-hero{background:var(--acz-ink);padding:62px 36px 54px;}
.acz-kicker{font-family:var(--acz-mono);color:var(--acz-red);font-size:11px;font-weight:500;letter-spacing:.7px;text-transform:uppercase;}
.acz-hero h1{font-family:var(--acz-sans);font-weight:500;font-size:42px;line-height:1.1;letter-spacing:-0.8px;color:#fff;margin:14px 0 0;max-width:720px;text-wrap:balance;}
.acz-hero p{font-size:16px;line-height:1.6;color:#b6b5b0;margin:16px 0 0;max-width:560px;}
.acz-hero__meta{display:flex;gap:10px;align-items:center;margin-top:22px;}
.acz-pill{display:inline-block;background:var(--acz-red);color:#fff;font-size:11px;font-family:var(--acz-mono);padding:4px 11px;border-radius:8px;}
.acz-stamp{font-family:var(--acz-mono);font-size:11px;color:#6f6f6b;}
.acz-stamp--demo{color:#9a9a96;border:1px dashed rgba(255,255,255,.25);font-style:italic;padding:2px 9px;border-radius:8px;}

/* --- Feed / tarjetas -------------------------------------------------- */
.acz-feed{padding:34px 36px 40px;}
.acz-card{background:#fff;border:0.5px solid var(--acz-line);border-radius:var(--acz-radius);overflow:hidden;text-decoration:none;color:inherit;display:block;}
.acz-card__thumb{height:128px;background:repeating-linear-gradient(45deg,#F1EFE8,#F1EFE8 9px,#ECEAE4 9px,#ECEAE4 18px);display:flex;align-items:center;justify-content:center;}
.acz-card__thumb img{width:100%;height:100%;object-fit:cover;}
.acz-ph{font-family:var(--acz-mono);font-size:10px;color:var(--acz-mono-muted);text-transform:uppercase;letter-spacing:.5px;}
.acz-card__body{padding:16px 18px 18px;}
.acz-cat{font-family:var(--acz-mono);color:var(--acz-red);font-size:10px;font-weight:500;letter-spacing:.6px;text-transform:uppercase;}
.acz-card__body h3{font-family:var(--acz-sans);font-weight:500;font-size:16px;line-height:1.3;color:var(--acz-ink-2);margin:9px 0 0;text-wrap:pretty;}
.acz-card__meta{font-family:var(--acz-mono);font-size:11px;color:var(--acz-mono-muted);margin-top:12px;}
.acz-badge-opinion{display:inline-block;background:#2a2a2a;color:#fff;border:1px solid var(--acz-red);font-size:10px;font-family:var(--acz-mono);padding:2px 9px;border-radius:8px;}

.acz-featured{display:grid;grid-template-columns:1.15fr 1fr;margin-bottom:22px;}
.acz-featured__body{padding:30px 32px;}
.acz-featured__body h2{font-family:var(--acz-sans);font-weight:500;font-size:26px;line-height:1.18;letter-spacing:-0.4px;color:var(--acz-ink-2);margin:12px 0 0;text-wrap:pretty;}
.acz-featured__body p{font-size:14px;line-height:1.6;color:var(--acz-muted);margin:12px 0 0;max-width:460px;}
.acz-featured__thumb{background:repeating-linear-gradient(45deg,#F1EFE8,#F1EFE8 9px,#ECEAE4 9px,#ECEAE4 18px);display:flex;align-items:center;justify-content:center;min-height:230px;}
.acz-featured__thumb img{width:100%;height:100%;object-fit:cover;}
.acz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}

/* --- Artículo --------------------------------------------------------- */
.acz-article{padding:28px 32px 36px;max-width:720px;margin:0 auto;}
.acz-article__meta{display:flex;align-items:center;gap:12px;margin-top:16px;font-family:var(--acz-mono);font-size:11px;color:var(--acz-mono-muted);flex-wrap:wrap;}
.acz-hero h1.acz-hero--sm{font-size:32px;}
.acz-prose h2{font-family:var(--acz-sans);font-weight:500;font-size:19px;color:var(--acz-ink-2);margin:0 0 10px;}
.acz-prose p{font-family:var(--acz-serif);font-size:16px;line-height:1.7;color:var(--acz-text);margin:0 0 14px;}

/* --- Ranking ---------------------------------------------------------- */
.acz-rank{background:#fff;border:0.5px solid var(--acz-line);border-radius:var(--acz-radius);padding:8px 20px 12px;margin-bottom:26px;}
.acz-rank__title{font-family:var(--acz-mono);color:var(--acz-red);font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;padding:14px 0 6px;}
.acz-row{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:0.5px solid var(--acz-line);}
.acz-row:last-child{border-bottom:0;}
.acz-row__pos{font-family:var(--acz-mono);font-size:14px;width:20px;color:var(--acz-muted);}
.acz-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--acz-mono);font-size:11px;color:var(--acz-muted);background:var(--acz-sand);flex-shrink:0;border:2.5px solid #6B7280;}
.acz-row__id{flex:1;min-width:0;}
.acz-row__name{display:block;font-size:14px;font-weight:500;color:var(--acz-ink-2);}
.acz-row__sub{display:block;font-size:11px;color:var(--acz-mono-muted);font-family:var(--acz-mono);}
.acz-bar{width:150px;}
.acz-bar__track{display:block;height:7px;background:var(--acz-sand);border-radius:4px;overflow:hidden;}
.acz-bar__fill{display:block;height:100%;background:#6B7280;width:0;transition:width .9s cubic-bezier(.2,.7,.2,1);}
.acz-row__val{font-family:var(--acz-mono);font-size:14px;font-weight:500;width:46px;text-align:right;font-variant-numeric:tabular-nums;}
.acz-trend{width:16px;text-align:center;}
.acz-trend--up{color:#3B6D11;}
.acz-trend--down{color:var(--acz-red);}

/* --- Ficha metodológica ---------------------------------------------- */
.acz-ficha{background:var(--acz-sand);border-radius:var(--acz-radius);padding:18px 20px;}
.acz-ficha__title{font-family:var(--acz-mono);color:var(--acz-red);font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;margin-bottom:6px;}
.acz-ficha dl{margin:0;font-size:12px;color:var(--acz-muted);}
.acz-ficha dt{font-family:var(--acz-mono);font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--acz-mono-muted);margin-top:8px;}
.acz-ficha dd{margin:1px 0 0;}

/* --- Estudio: métricas y gráfica ------------------------------------- */
.acz-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;}
.acz-metric{background:var(--acz-sand);border-radius:8px;padding:14px 16px;}
.acz-metric__label{font-size:12px;color:var(--acz-muted);}
.acz-metric__num{font-family:var(--acz-mono);font-size:22px;font-weight:500;margin-top:3px;color:var(--acz-ink-2);}
.acz-metric__sub{font-size:11px;color:var(--acz-mono-muted);font-family:var(--acz-mono);margin-top:2px;}
.acz-panel{background:#fff;border:0.5px solid var(--acz-line);border-radius:var(--acz-radius);padding:20px 22px;}
.acz-cols{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;}
.acz-chart-wrap{position:relative;height:240px;}

/* --- Asesoría --------------------------------------------------------- */
.acz-ribbon{background:var(--acz-sand);border-bottom:0.5px solid var(--acz-line);padding:9px 30px;font-family:var(--acz-mono);font-size:11px;color:var(--acz-muted);}
.acz-btn{display:inline-block;background:var(--acz-red);color:#fff;font-size:14px;font-weight:500;padding:11px 22px;border-radius:8px;text-decoration:none;font-family:var(--acz-sans);border:0;cursor:pointer;}
.acz-btn--ghost{background:transparent;color:var(--acz-ink);border:0.5px solid rgba(0,0,0,.25);}
.acz-svc{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.acz-svc__item{border:0.5px solid var(--acz-line);border-radius:var(--acz-radius);padding:22px 24px;}
.acz-field{font-family:var(--acz-sans);font-size:14px;padding:11px 14px;border:0.5px solid rgba(0,0,0,.20);border-radius:8px;background:#fff;color:var(--acz-ink-2);width:100%;}

/* --- Footer ----------------------------------------------------------- */
.acz-footer{background:var(--acz-ink);padding:30px 36px;display:flex;justify-content:space-between;align-items:flex-start;gap:30px;border-top:3px solid var(--acz-red);}
.acz-footer__tagline{font-family:var(--acz-mono);font-size:11px;color:var(--acz-mono-muted);margin-top:10px;line-height:1.7;max-width:320px;}
.acz-footer__cols{display:flex;gap:48px;}
.acz-footer__col{display:flex;flex-direction:column;gap:7px;font-family:var(--acz-mono);font-size:12px;}
.acz-footer__col a{color:#a8a6a0;text-decoration:none;}
.acz-footer__col span.h{color:#6f6f6b;font-size:10px;text-transform:uppercase;letter-spacing:.6px;}
.acz-colophon{background:#0c0c0c;padding:12px 36px;font-family:var(--acz-mono);font-size:10px;color:#6f6f6b;text-align:center;}

/* --- Responsive: la barra del ranking NUNCA se oculta ---------------- */
@media (max-width:680px){
  .acz-nav{padding:13px 18px;}
  .acz-nav__menu{display:none;}
  .acz-nav__toggle{display:block;}
  .acz-nav.is-open .acz-nav__menu{display:flex;flex-direction:column;position:absolute;top:54px;left:0;right:0;background:var(--acz-ink);padding:16px 18px;gap:14px;z-index:40;border-bottom:3px solid var(--acz-red);}
  .acz-hero{padding:24px 18px 22px;}
  .acz-hero h1{font-size:23px;}
  .acz-feed,.acz-article{padding:18px 16px 24px;}
  .acz-featured,.acz-grid,.acz-metrics,.acz-cols,.acz-svc{grid-template-columns:1fr;}
  /* Ranking compacto: la barra se reduce pero permanece visible. */
  .acz-bar{width:54px;flex-shrink:0;}
  .acz-row{gap:9px;}
  .acz-avatar{width:28px;height:28px;border-width:2px;}
}
