/* La misma familia y jerarquía acompañan al visitante en todo el sitio. */
body { font-weight: 400; }
h1, h2 { font-weight: 800; }
h3, strong { font-weight: 700; }
.main-nav { font-weight: 600; gap: 20px; }
.nav-login { color: var(--brand-dark); }
.module-guide { margin: 18px 0 0; font-size: .875rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-bottom: 32px; color: var(--muted); font-size: .875rem; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 4px; }
.editorial-intro { padding: 32px 0 54px; background: var(--soft); border-bottom: 1px solid var(--line); }
.editorial-intro h1 { max-width: 950px; }
.editorial-intro .hero-lead { max-width: 760px; margin-bottom: 24px; }
.blog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.blog-card { display: flex; flex-direction: column; align-items: flex-start; padding: 32px; border: 1px solid var(--line); border-radius: 16px; background: white; min-width: 0; }
.blog-card h2 { font-size: clamp(1.45rem, 2.3vw, 1.85rem); line-height: 1.25; letter-spacing: -.025em; }
.blog-card h3 { font-size: 1.4rem; line-height: 1.3; }
.blog-card h2 a:hover, .blog-card h3 a:hover { color: var(--brand-dark); text-decoration: underline; text-underline-offset: 5px; }
.blog-card > p:not(.eyebrow) { color: var(--text); }
.blog-card .eyebrow { font-size: .875rem; margin-bottom: 18px; }
.blog-card-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; width: 100%; padding-top: 20px; margin-top: auto; border-top: 1px solid var(--line); font-size: .875rem; }
.blog-card-bottom > span { color: var(--muted); }
.blog-card > .text-link { margin-top: auto; }
.article-width { max-width: 900px; }
.article-intro h1 { font-size: clamp(2.1rem, 4vw, 3.15rem); line-height: 1.15; }
.article-meta { font-size: .875rem; line-height: 1.85; color: var(--muted); margin: 24px 0 0; }
.article-meta a { text-decoration: underline; text-underline-offset: 3px; }
.article-layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(200px, 280px); gap: 70px; align-items: start; padding-top: 56px; padding-bottom: 76px; }
.article-body { min-width: 0; font-size: 1rem; line-height: 1.85; }
.article-body p, .article-body li { color: var(--text); }
.article-body .article-lead { font-size: 1.1rem; color: var(--ink); }
.article-body h2 { font-size: clamp(1.45rem, 2.8vw, 1.8rem); margin-top: 40px; margin-bottom: 18px; line-height: 1.3; letter-spacing: -.025em; }
.article-body h3 { font-size: 1.25rem; margin-top: 28px; line-height: 1.35; }
.article-body li { padding-left: 4px; margin-bottom: 14px; }
.article-body a:not(.button) { color: var(--brand-dark); text-decoration: underline; text-underline-offset: 4px; }
.article-body a:not(.button):hover { color: var(--blue); }
.article-table-wrap { overflow-x: auto; margin: 28px 0; border: 1px solid var(--line); border-radius: 12px; }
.article-body table { border-collapse: collapse; width: 100%; font-size: .925rem; line-height: 1.6; text-align: left; }
.article-body caption { padding: 15px 18px; text-align: left; font-weight: 600; color: var(--text); }
.article-body th, .article-body td { padding: 13px 18px; border-top: 1px solid var(--line); vertical-align: top; }
.article-body thead th { background: var(--soft); font-weight: 700; }
.article-body tbody th { font-weight: 500; }
.article-aside { border-left: 2px solid var(--line); padding-left: 25px; font-size: .925rem; }
.article-aside > a { display: block; padding: 17px 0; border-bottom: 1px solid var(--line); line-height: 1.6; }
.article-aside > a:hover { color: var(--brand-dark); text-decoration: underline; }
.article-aside > a > span { float: right; margin-left: 5px; }
.article-body .editorial-note { font-size: .875rem; margin: 36px 0; padding-top: 22px; border-top: 1px solid var(--line); color: var(--muted); }
.article-cta { padding: 30px; background: var(--soft); border: 1px solid var(--line); border-radius: 16px; }
.article-cta h2 { margin-top: 0; }
.article-cta .eyebrow { color: var(--brand-dark); }
.product-intro .hero-actions > .button { flex-basis: auto; max-width: none; }
.product-content { padding-bottom: 40px; }
.product-section { padding: 58px 0; border-bottom: 1px solid var(--line); }
.product-section:last-child { border: 0; padding-bottom: 30px; }
.product-section > p { max-width: 850px; color: var(--text); }
.product-section .module-card { box-shadow: none; }
.product-section .module-card h3 { font-size: 1.35rem; }
.product-workflow { display: grid; grid-template-columns: 1.15fr .85fr; gap: 65px; align-items: center; }
.product-workflow p { color: var(--text); }
.product-workflow .example-label { font-size: .875rem; color: var(--muted); }
.calculation-card { background: var(--soft); border: 1px solid #bfd9d0; border-radius: 16px; padding: 28px; font-variant-numeric: tabular-nums; min-width: 0; }
.calculation-card > span { display: block; color: var(--text); font-size: .95rem; }
.calculation-card > strong { display: block; font-size: 2.35rem; letter-spacing: -.04em; margin: 4px 0 24px; }
.calculation-card > div { display: flex; justify-content: space-between; align-items: baseline; gap: 15px; padding: 15px 0; border-top: 1px solid #c9dfd6; font-size: .925rem; }
.calculation-card b { white-space: nowrap; }
.calculation-card .calculation-total { padding-bottom: 0; color: var(--brand-dark); }
.product-steps { padding-left: 24px; max-width: 850px; }
.product-steps li { margin-bottom: 16px; color: var(--text); padding-left: 6px; }
.home-blog { border-top: 1px solid var(--line); }
.home-blog .section-heading { max-width: 850px; }
@media (max-width: 1050px) { .main-nav { gap: 13px; font-size: .875rem; } .article-layout { gap: 34px; grid-template-columns: minmax(0, 1fr) 230px; } .product-workflow { gap: 32px; } }
@media (max-width: 820px) { .editorial-intro { padding: 24px 0 38px; } .breadcrumbs { margin-bottom: 25px; } .article-layout { grid-template-columns: 1fr; gap: 38px; padding-top: 38px; padding-bottom: 52px; } .article-aside { border-left: 0; border-top: 1px solid var(--line); padding: 28px 0 0; } .product-workflow { grid-template-columns: 1fr; } .product-section { padding: 38px 0; } .blog-card { padding: 25px; } }
@media (max-width: 600px) { .blog-grid { grid-template-columns: 1fr; gap: 20px; } .article-intro h1 { font-size: 2rem; } .article-cta { padding: 24px 20px; } .article-body th, .article-body td { padding: 12px; } .calculation-card { padding: 23px 20px; } .calculation-card > div { flex-wrap: wrap; gap: 6px 14px; } .product-intro .hero-actions > .button { width: 100%; } }
@media print { .article-aside, .article-cta, .breadcrumbs { display: none; } .article-layout { display: block; padding: 0; } .editorial-intro { background: white; padding: 15px 0; } .article-body h2 { break-after: avoid; } .article-table-wrap { overflow: visible; } }
