/* Extra styles for CMS-built sections and dynamic lists. Everything else re-uses the site's own classes (wwa-*, wwc-*, wwp-*). */
.cms-page{display:grid;gap:clamp(40px,5vw,72px)}
.cms-richtext{max-width:62rem;margin-inline:auto;width:100%;line-height:1.75}
.cms-richtext h2,.cms-richtext h3{margin:1.2em 0 .5em}
.cms-richtext img{max-width:100%;height:auto;border-radius:var(--r-m,16px)}
.cms-richtext p{margin:0 0 1em}
.cms-faq{max-width:52rem;margin-inline:auto;width:100%;display:grid;gap:22px}
.cms-faq-list{display:grid;gap:10px}
.cms-faq details.acc .acc-body{padding:0 1.3em 1.1em;color:var(--text-2,#4a5270);line-height:1.7}
.cms-faq details.acc .acc-body p{margin:0}
.cms-cta .wwa-band{align-items:center;text-align:center;justify-items:center}
.cms-gallery{display:grid;gap:22px}
.cms-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--g,20px)}
.cms-gallery-grid figure{margin:0}
.cms-gallery-grid figcaption{padding:8px 12px;font-size:.85rem;color:var(--text-2,#4a5270);background:#fff}
.cms-video{display:grid;gap:22px;max-width:62rem;margin-inline:auto;width:100%}
.cms-video video{width:100%;display:block}
.cms-hero .wwa-split-text .btn,.cms-imgtext .wwa-split-text .btn{margin-top:6px}
.cms-custom{width:100%}
/* dynamic lists: <!--CMS:news--> <!--CMS:events--> <!--CMS:portfolio--> <!--CMS:careers--> */
.cms-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:var(--g,20px);margin:1.5em 0;list-style:none;padding:0}
.cms-card{display:grid;align-content:start;background:var(--glass-in,#fff);border:1px solid var(--glass-border,#e3e7f1);border-radius:var(--r-m,16px);overflow:hidden;box-shadow:var(--shadow-s,0 2px 8px rgba(20,30,62,.08))}
.cms-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.cms-card>div{padding:16px 18px 20px;display:grid;gap:6px}
.cms-card time{font-size:.8rem;color:var(--accent,#26397a);font-weight:600}
.cms-card h3{margin:0;font-size:1.1rem}.cms-card p{margin:0;color:var(--text-2,#4a5270);font-size:.93rem}
.cms-jobs li a{display:grid;gap:4px;padding:16px 18px;border:1px solid var(--glass-border,#e3e7f1);border-radius:var(--r-m,16px);background:var(--glass-in,#fff);text-decoration:none}
.cms-jobs small{color:var(--text-2,#4a5270)}
