:root { color: #1f1d1b; background: #fffaf5; font-family: Arial, sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; }
.article-shell { width: min(720px, calc(100% - 48px)); margin: 0 auto; padding: 56px 0 80px; }
article { font-size: 18px; line-height: 1.65; }
h1 { margin: 0 0 18px; font-size: clamp(34px, 7vw, 52px); line-height: 1.08; }
h2 { margin: 44px 0 16px; font-size: clamp(25px, 5vw, 34px); line-height: 1.2; }
.category { color: #8e5426; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: 13px; }
.lead { font-size: 22px; line-height: 1.45; }
figure { margin: 28px 0; }
figure img { display: block; width: 100%; height: auto; border-radius: 18px; }
figcaption { margin-top: 10px; color: #625b55; font-size: 14px; line-height: 1.45; }
.author-photo { max-width: 420px; margin-inline: auto; }
.case-slide img { border-radius: 8px; }
.main-cta { margin-top: 40px; font-size: 21px; font-weight: 700; }
a { color: #a84a0a; }
.article-index { padding: 0; list-style: none; }
.article-index li { margin: 20px 0; }
.article-index a { display: grid; gap: 6px; color: inherit; text-decoration: none; padding: 20px; background: #fff; border-radius: 16px; }
.article-index span { font-size: 16px; }
@media (max-width: 600px) { .article-shell { width: min(100% - 48px, 720px); padding-top: 32px; } article { font-size: 18px; } .lead { font-size: 20px; } }
