/* Shared styles for all article/insight pages */
.article-layout { display:grid; grid-template-columns:1fr 300px; gap:56px; align-items:start; }
.article-body h2 { font-size:var(--text-2xl); color:var(--navy); margin:36px 0 14px; padding-top:20px; border-top:1px solid var(--border); }
.article-body h2:first-of-type { border-top:none; margin-top:0; padding-top:0; }
.article-body h3 { font-size:var(--text-xl); color:var(--navy); margin:24px 0 10px; }
.article-body p { font-size:var(--text-base); color:var(--grey-mid); line-height:1.8; margin-bottom:16px; }
.article-body ul, .article-body ol { padding-left:22px; margin-bottom:16px; }
.article-body li { font-size:var(--text-base); color:var(--grey-mid); line-height:1.75; margin-bottom:7px; }
.article-body strong { color:var(--grey); }
.callout { background:var(--cream); border-left:4px solid var(--gold); border-radius:0 8px 8px 0; padding:16px 20px; margin:24px 0; }
.callout p { margin:0; font-size:var(--text-sm); color:var(--grey-mid); font-style:italic; line-height:1.7; }
.callout strong { color:var(--navy); font-style:normal; }
.key-insight { background:var(--navy); border-radius:10px; padding:20px 24px; margin:28px 0; }
.key-insight p { color:rgba(255,255,255,0.85); margin:0; font-size:var(--text-sm); line-height:1.7; }
.key-insight strong { color:var(--gold-light); }
.comparison-table { width:100%; border-collapse:collapse; margin:24px 0; font-size:var(--text-sm); }
.comparison-table th { background:var(--navy); color:#fff; padding:10px 14px; text-align:left; font-size:var(--text-xs); letter-spacing:0.04em; }
.comparison-table td { padding:10px 14px; border-bottom:1px solid var(--border); color:var(--grey-mid); vertical-align:top; }
.comparison-table tr:nth-child(even) td { background:var(--cream); }
.comparison-table tr:last-child td { border-bottom:none; }
.article-sidebar { position:sticky; top:90px; }
.sidebar-card { background:var(--white); border:1px solid var(--border); border-radius:12px; padding:24px; margin-bottom:20px; }
.sidebar-card h4 { font-size:var(--text-sm); font-weight:700; color:var(--navy); margin-bottom:12px; }
.sidebar-card ul { list-style:none; }
.sidebar-card ul li { font-size:var(--text-sm); color:var(--muted); margin-bottom:8px; padding-left:14px; position:relative; }
.sidebar-card ul li::before { content:'→'; position:absolute; left:0; color:var(--gold); font-size:11px; top:2px; }
.sidebar-card a { color:var(--navy); text-decoration:none; }
.sidebar-card a:hover { color:var(--green); }
.article-meta { display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin-bottom:32px; padding-bottom:24px; border-bottom:1px solid var(--border); }
.meta-tag { background:rgba(46,125,50,0.08); color:var(--green); font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; padding:4px 12px; border-radius:100px; }
.meta-item { font-size:var(--text-sm); color:var(--muted); }
.author-block { display:flex; align-items:center; gap:14px; background:var(--cream); border-radius:10px; padding:18px 20px; margin-top:40px; }
.author-avatar { width:48px; height:48px; background:var(--navy); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Lora',serif; font-weight:700; color:var(--gold-light); font-size:18px; flex-shrink:0; }
.author-name { font-weight:700; color:var(--navy); font-size:var(--text-sm); }
.author-role { font-size:11px; color:var(--muted); margin-top:2px; line-height:1.5; }

/* Checklist page specific */
.checklist-section { background:var(--white); border:1px solid var(--border); border-radius:14px; padding:32px; margin-bottom:24px; }
.checklist-section h2 { font-size:var(--text-2xl); color:var(--navy); margin-bottom:6px; }
.checklist-section .section-intro { font-size:var(--text-sm); color:var(--muted); margin-bottom:24px; line-height:1.65; }
.check-item { display:flex; gap:14px; align-items:flex-start; padding:12px 0; border-bottom:1px solid var(--border); }
.check-item:last-child { border-bottom:none; }
.check-box { width:22px; height:22px; border:2px solid var(--border-dark); border-radius:5px; flex-shrink:0; margin-top:1px; cursor:pointer; transition:all 0.15s; display:flex; align-items:center; justify-content:center; }
.check-box.checked { background:var(--green); border-color:var(--green); color:#fff; font-size:13px; }
.check-text h4 { font-size:var(--text-base); font-weight:600; color:var(--grey); margin-bottom:3px; }
.check-text p { font-size:var(--text-sm); color:var(--muted); line-height:1.6; margin:0; }
.check-text .check-note { font-size:11px; color:var(--gold); font-weight:600; margin-top:3px; }
.progress-bar-wrap { background:var(--border); border-radius:100px; height:8px; margin-bottom:6px; overflow:hidden; }
.progress-bar-fill { height:100%; background:var(--green); border-radius:100px; transition:width 0.3s ease; }
.progress-label { font-size:11px; color:var(--muted); text-align:right; }

/* ─── MOBILE RESPONSIVE (article pages) ──────────────────────────────────── */

@media (max-width: 900px) {
  .article-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .article-sidebar {
    position: static;
    top: auto;
  }
}

@media (max-width: 768px) {
  .article-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .article-body h2 { font-size: 1.25rem; margin: 24px 0 10px; }
  .article-body h3 { font-size: 1.1rem; margin: 18px 0 8px; }
  .article-meta { gap: 10px; }
  .author-block { flex-direction: column; text-align: center; gap: 10px; }
  .checklist-section { padding: 20px 16px; }
  .comparison-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .key-insight { padding: 14px 16px; }
}

@media (max-width: 480px) {
  .article-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .sidebar-card { padding: 16px; }
  .check-item { gap: 10px; padding: 10px 0; }
}
