/* Layout for CMS-only content, using the original site's typography and colors.
   Original restored documents do not load this stylesheet. */
.cms-content { padding: 70px 5%; min-height: 60vh; }
.cms-content .wrap, .cms-content .prose { max-width: 1100px; margin-inline: auto; }
.cms-content .page-heading { margin-bottom: 45px; }
.cms-content h1 { font-family: "Palatino Linotype", serif; font-size: clamp(36px, 4vw, 64px); }
.cms-content h2 { font-family: "Palatino Linotype", serif; }
.cms-content .eyebrow { text-transform: uppercase; font-size: 14px; }
.cms-content .prose { line-height: 1.7; padding-block: 35px; }
.cms-content .prose p { margin-bottom: 1.5em; }
.cms-content img { max-width: 100%; height: auto; }
.cms-content .button { display: inline-block; border: 1px solid #445345; color: #445345; padding: 12px 24px; }
.cms-content .article-cta { padding-block: 35px; }
.cms-content .preview-bar { background: #eff0ee; padding: 15px; margin-bottom: 25px; }
.cms-content .news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.cms-content .news-card img { width: 100%; aspect-ratio: 1.6; object-fit: cover; }
.cms-content .news-card small { display: block; margin-block: 15px; }
@media(max-width:767px) { .cms-content { padding: 45px 20px; } .cms-content .news-grid { grid-template-columns: 1fr; } }
