/* ===== Home pública, Análisis de coyuntura y Login ===== */

/* ---------- Hero Home ---------- */
.hero-home{background:linear-gradient(160deg,#052699 0%,#0D2B8C 70%,#0A2379 100%);color:#fff;}
.hero-home .inner{max-width:var(--maxw);margin:0 auto;padding:84px 28px 64px;
  display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.hero-home .eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan-500);}
.hero-home h1{font-size:clamp(38px,4.6vw,58px);line-height:1.04;letter-spacing:-.03em;font-weight:800;margin:18px 0 20px;max-width:14ch;}
.hero-home .lede{font-size:17.5px;line-height:1.6;color:#C7D3F5;max-width:52ch;margin:0 0 30px;}
.hero-home .ctas{display:flex;gap:12px;flex-wrap:wrap;}
.hero-home .ctas .btn{padding:13px 24px;font-size:14.5px;}
.hero-side{display:flex;flex-direction:column;gap:12px;}
.hero-note{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:20px 22px;}
.hero-note .tag{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-300);margin-bottom:4px;}
.hero-note .title{font-size:21px;font-weight:700;letter-spacing:-.01em;line-height:1.25;}
.hero-note .sub{font-size:13.5px;color:#C7D3F5;margin-top:8px;line-height:1.55;}
.hero-ticker{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.hero-ticker .cell{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:16px 18px;}
.hero-ticker .label{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-300);line-height:1.4;}
.hero-ticker .val{font-size:26px;font-weight:600;margin-top:6px;}
.hero-ticker .delta{font-size:11.5px;margin-top:3px;}
.hero-ticker .delta-flat{color:var(--blue-300);}
@media(max-width:900px){.hero-home .inner{grid-template-columns:1fr;padding:56px 28px 44px;}}

/* ---------- Sección "Qué incluye" ---------- */
.section{padding:78px 0 70px;}
.section-head{max-width:64ch;margin-bottom:38px;}
.section-head h2{font-size:clamp(28px,3.2vw,38px);font-weight:800;letter-spacing:-.02em;margin:10px 0 12px;}
.section-head p{font-size:16.5px;color:var(--muted);line-height:1.6;margin:0;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
@media(max-width:820px){.grid-2{grid-template-columns:1fr;}}
.feature-card{padding:28px;display:flex;flex-direction:column;gap:14px;color:var(--ink);}
.feature-card:hover{border-color:var(--blue-600);color:var(--ink);}
.feature-card .top{display:flex;justify-content:space-between;align-items:center;}
.feature-card .num{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-600);}
.feature-card .title{font-size:20px;font-weight:700;letter-spacing:-.01em;}
.feature-card p{font-size:14.5px;color:var(--muted);line-height:1.6;margin:0;}
.feature-card .visual{margin-top:auto;}
.mini-bars{display:flex;align-items:flex-end;gap:5px;height:56px;}
.mini-bars div{flex:1;border-radius:3px;}
.mini-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;}
.mini-grid div{aspect-ratio:1;border-radius:3px;}
.mini-chips{display:flex;gap:8px;align-items:center;}
.mini-chips span{font-size:11.5px;font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 12px;}
.mini-chips span.accent{color:#fff;background:var(--blue-600);border-color:var(--blue-600);}

/* ---------- Audiencias ---------- */
.audiencias{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.audiencias .inner{max-width:var(--maxw);margin:0 auto;padding:58px 28px;
  display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
.audiencias .quien{font-size:14.5px;font-weight:700;color:var(--blue-900);}
.audiencias .para{font-size:13px;color:var(--muted);line-height:1.55;margin-top:6px;}
@media(max-width:900px){.audiencias .inner{grid-template-columns:repeat(2,1fr);}}

/* ---------- Contacto ---------- */
.contacto{background:var(--ink);color:#fff;}
.contacto .inner{max-width:var(--maxw);margin:0 auto;padding:74px 28px;
  display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;}
.contacto h2{font-size:clamp(26px,3vw,36px);font-weight:800;letter-spacing:-.02em;margin:0 0 10px;}
.contacto p{font-size:16px;color:#B9BDC7;line-height:1.6;margin:0;max-width:56ch;}
.contacto .btn{padding:15px 30px;font-size:15px;white-space:nowrap;}

/* ---------- Análisis de coyuntura (artículo) ---------- */
.analisis-hero{background:var(--blue-900);color:#fff;}
.analisis-hero .inner{max-width:820px;margin:0 auto;padding:64px 28px 54px;}
.analisis-hero .eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan-500);}
.analisis-hero h1{font-size:clamp(34px,4.4vw,52px);line-height:1.06;letter-spacing:-.025em;font-weight:800;margin:16px 0;}
.analisis-hero .dek{font-size:18px;color:#C7D3F5;line-height:1.6;margin:0;}
.analisis-hero .meta{font-size:12.5px;color:var(--blue-300);margin-top:22px;}
.analisis-body{max-width:820px;margin:0 auto;padding:56px 28px 20px;background:#fff;}
.analisis-body p{font-size:17px;line-height:1.75;margin:0 0 22px;}
.page-analisis{background:#fff;}
.figure{margin:0 0 34px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:24px 26px;}
.figure .figtitle{font-size:14px;font-weight:700;margin-bottom:2px;}
.figure .figsub{font-size:12px;color:var(--muted);margin-bottom:16px;}
.figure .src{font-size:11.5px;color:var(--soft);margin-top:14px;}
.figure .chart-wrap{position:relative;height:240px;}
.prov-table{display:grid;grid-template-columns:1fr auto auto;font-size:13.5px;}
.prov-table .th{padding:8px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--soft);border-bottom:1px solid var(--line);}
.prov-table .td{padding:9px 10px;border-bottom:1px solid var(--line-soft);}
.prov-table .td.name{font-weight:600;}
.prov-table .td.num{text-align:right;font-weight:600;}
.analisis-note{font-size:12.5px;color:var(--soft);margin:28px 0 0;border-top:1px solid var(--line);padding-top:16px;}
.version-switch{max-width:820px;margin:0 auto;padding:18px 28px 0;font-size:13px;color:var(--muted);}

/* ---------- CTA premium del análisis ---------- */
.premium-cta{max-width:820px;margin:44px auto 72px;padding:0 28px;}
.premium-cta .box{background:var(--blue-900);border-radius:18px;padding:36px 38px;color:#fff;
  display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center;}
.premium-cta .tag{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan-500);margin-bottom:10px;}
.premium-cta .title{font-size:23px;font-weight:800;letter-spacing:-.015em;line-height:1.25;margin-bottom:10px;}
.premium-cta p{font-size:14.5px;color:#C7D3F5;line-height:1.6;margin:0 0 20px;}
.premium-cta ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13.5px;}
.premium-cta li::before{content:'✓';color:var(--cyan-500);font-weight:700;margin-right:10px;}
@media(max-width:760px){.premium-cta .box{grid-template-columns:1fr;}}

/* ---------- Login ---------- */
.login-page{min-height:100vh;background:linear-gradient(160deg,#052699,#0D2B8C);
  display:flex;align-items:center;justify-content:center;padding:40px 20px;}
.login-box{width:400px;max-width:100%;}
.login-brand{display:flex;align-items:center;gap:11px;justify-content:center;margin-bottom:26px;color:#fff;font-weight:800;font-size:17px;}
.login-brand .logo{width:34px;height:34px;border-radius:9px;background:var(--cyan-500);color:var(--blue-900);
  display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;}
.login-card{background:#fff;border-radius:18px;padding:34px 32px;box-shadow:0 24px 60px rgba(2,10,50,.35);}
.login-card h1{font-size:19px;font-weight:800;letter-spacing:-.01em;margin:0 0 4px;}
.login-card .sub{font-size:13.5px;color:var(--muted);margin-bottom:24px;}
.login-card label{display:block;font-size:12px;font-weight:700;margin-bottom:6px;}
.login-card input{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;
  font-size:14px;font-family:inherit;margin-bottom:16px;outline-color:var(--blue-600);}
.login-card .btn{width:100%;border-radius:10px;padding:13px;font-size:14.5px;font-weight:700;}
.login-card .aux{font-size:12.5px;color:var(--muted);text-align:center;margin-top:16px;}
.login-foot{text-align:center;font-size:12.5px;color:var(--blue-300);margin-top:20px;}
.login-foot a{color:var(--cyan-500);font-weight:600;}
