/* ── ARTICLE LAYOUT ── */
.article-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 4rem;
  align-items: start;
}
.article-main { background: var(--white); border-radius: 4px; padding: 3rem; box-shadow: 0 4px 30px rgba(0,0,0,.06); }
.article-meta { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.article-date { font-size: .78rem; color: var(--muted); letter-spacing: .08em; }
.article-h2 { font-family: 'Frank Ruhl Libre', Georgia, serif; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 400; color: var(--dark); margin-bottom: 1.2rem; line-height: 1.25; }
.article-lead { font-size: 1.08rem; color: var(--text); line-height: 1.9; margin-bottom: 2rem; border-right: 3px solid var(--gold); padding-right: 1.2rem; font-style: italic; }
.article-main h3 { font-family: 'Frank Ruhl Libre', Georgia, serif; font-size: 1.3rem; font-weight: 500; color: var(--dark); margin: 2.2rem 0 .8rem; }
.article-main p { font-size: .95rem; color: var(--muted); line-height: 1.9; margin-bottom: 1rem; }
.article-main strong { color: var(--dark); }
.article-img { width: 100%; border-radius: 4px; margin: 1.5rem 0; aspect-ratio: 16/7; object-fit: cover; }
.article-img-mid { aspect-ratio: 16/8; }
.article-cta-box { margin-top: 3rem; background: var(--warm); border: 1px solid var(--border); border-top: 3px solid var(--gold); border-radius: 4px; padding: 2rem; text-align: center; }
.article-cta-box p { font-size: 1.05rem; color: var(--dark); margin-bottom: 1rem; }

/* ── SIDEBAR ── */
.article-sidebar { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 1.5rem; }
.sidebar-contact { background: var(--white); border-top: 2px solid var(--gold); padding: 2rem; box-shadow: 0 4px 20px rgba(0,0,0,.06); border-radius: 4px; }
.sidebar-contact h3 { font-family: 'Frank Ruhl Libre', Georgia, serif; font-size: 1.4rem; font-weight: 400; color: var(--dark); margin-bottom: .4rem; }
.sidebar-contact p { font-size: .85rem; color: var(--muted); margin-bottom: 1.2rem; }
.sidebar-related { background: var(--dark); padding: 1.8rem; border-radius: 4px; }
.sidebar-related h4 { font-size: .72rem; letter-spacing: .25em; text-transform: uppercase; color: var(--gold); margin-bottom: 1rem; }
.sidebar-related a { display: block; font-size: .88rem; color: rgba(255,255,255,.7); padding: .6rem 0; border-bottom: 1px solid rgba(255,255,255,.07); transition: color .2s, padding-right .2s; }
.sidebar-related a:last-child { border-bottom: none; }
.sidebar-related a:hover { color: var(--gold); padding-right: 6px; }
.sidebar-contact-info { background: var(--white); border: 1px solid var(--border); padding: 1.5rem; border-radius: 4px; display: flex; flex-direction: column; gap: .8rem; }
.sidebar-contact-info a { display: flex; align-items: center; gap: .7rem; font-size: .9rem; color: var(--dark); transition: color .2s; }
.sidebar-contact-info a:hover { color: var(--gold); }
.sidebar-contact-info svg { width: 16px; height: 16px; flex-shrink: 0; stroke: var(--gold); }

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .article-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .article-sidebar { position: static; }
}
@media (max-width: 600px) {
  .article-main { padding: 1.8rem 1.5rem; }
}
