.communication-page { background: #fff; }
.communication-page header { position: relative; }
.communication-page:has(.site-header) { padding-top: 0; }
.communication-page .nav { padding-top: 18px; padding-bottom: 18px; }
.communication-page .nav nav a { font-size: .82rem; }
.communication-nav-cta { padding: 10px 18px; border-radius: 5px; background: #FFC000; color: #fff; }
.communication-intro { max-width: 820px; margin: 0 auto; padding: 74px 7% 72px; text-align: center; }
.communication-intro .section-kicker { margin-bottom: 10px; }
.communication-intro h1 { margin-bottom: 22px; color: #5b1e68; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.12; }
.communication-intro p { color: #5a5660; font-size: 1.05rem; line-height: 1.52; }
.communication-intro .communication-lead { color: #332e35; font-size: 1.15rem; line-height: 1.42; }
.communication-services { padding: 48px 5% 100px; background: #f0f0f0; }
.communication-services-grid { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 31px; }
.communication-card { background: #fff; box-shadow: 0 7px 18px rgba(37,25,43,.06); }
.communication-card > img { display: block; width: 100%; height: 258px; object-fit: cover; }
.communication-card-body { min-height: 199px; padding: 25px 12px 24px; }
.communication-card h2 { margin-bottom: 12px; color: #5b1e68; font-size: 1.04rem; line-height: 1.25; text-transform: uppercase; }
.communication-card h2 small { font-size: .7em; text-transform: none; }
.communication-card p { color: #64616a; font-size: .83rem; line-height: 1.42; }
.communication-cta { padding: 86px 7%; text-align: center; }
.communication-cta h2 { margin-bottom: 13px; color: #5b1e68; font-size: clamp(2rem, 4vw, 3rem); }
.communication-cta p { margin-bottom: 28px; color: #64616a; }
.communication-cta .btn { display: inline-flex; align-items: center; gap: 8px; }
.communication-page footer { padding: 32px 20px; font-size: .86rem; }
.communication-page footer span { color: #FFC000; }
@media (max-width: 1000px) { .communication-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .communication-page .nav { padding: 17px 7%; } .communication-page .nav nav { display: none; } .communication-intro { padding: 65px 7% 58px; } .communication-intro .communication-lead { font-size: 1rem; } .communication-intro p { font-size: .95rem; } .communication-services { padding: 55px 7% 75px; } .communication-services-grid { grid-template-columns: 1fr; gap: 22px; } .communication-card > img { height: 230px; } }
