.cms-page {padding:64px 0 80px;background:#fafbf9;color:#25332d;min-height:65vh}
.cms-heading {text-align:center;margin-bottom:36px}
.cms-eyebrow {font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#71846a}
.cms-heading h1 {font-size:clamp(30px,4vw,52px);letter-spacing:-.035em;margin:12px 0 20px;line-height:1.15}
.cms-intro {max-width:820px;margin:18px auto;line-height:1.75;overflow-wrap:anywhere}
.cms-subtitle {font-size:21px;font-weight:600}.cms-summary {font-size:17px}
.cms-prose {white-space:normal;line-height:1.8;overflow-wrap:anywhere;margin-top:16px}
.cms-cover {width:100%;max-height:360px;object-fit:contain;border-radius:18px;margin:20px auto;display:block}
.cms-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.cms-card {background:white;border:1px solid #e5e9e2;border-radius:20px;overflow:hidden;box-shadow:0 8px 30px #20382008;min-width:0}
.cms-card-image {display:block;width:100%;height:220px;object-fit:cover}
.cms-card-body {padding:24px}.cms-card h2 {font-size:23px;margin:14px 0 10px;line-height:1.3}
.cms-card h3 {font-size:16px;color:#667762;margin:0 0 12px}.cms-card p {line-height:1.75;color:#637069;overflow-wrap:anywhere}
.cms-tags,.cms-meta {display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#62765a}
.cms-tags span {padding:6px 10px;background:#f0f4eb;border-radius:20px}.cms-meta {margin:12px 0;font-size:14px}
.cms-link {display:inline-flex;gap:8px;margin-top:16px;font-weight:700;color:inherit}.cms-empty {grid-column:1/-1;padding:40px;text-align:center;color:#69776c;border:1px dashed #ccd4c8;border-radius:18px}
.cms-announcement-images {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:30px 0}
.cms-announcement-images img {width:100%;height:220px;object-fit:cover;border-radius:14px}
.cms-slide-caption {position:absolute;bottom:0;left:0;right:0;padding:24px;background:linear-gradient(transparent,#101a16e6);color:white;z-index:2}
.cms-slide-caption h2 {font-size:24px;margin:12px 0}.cms-slide-caption p {line-height:1.4;margin:8px 0}.cms-slide-caption a {color:white;text-decoration:underline}
@media(max-width:900px){.cms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cms-page{padding:40px 0}.cms-grid,.cms-announcement-images{grid-template-columns:minmax(0,1fr)}.cms-card-body{padding:20px}.cms-empty{padding:25px}.cms-slide-caption{padding:18px}}
