/* Contact page: one shared form beside the location, then compact latest posts. */
.ctb-contact-section.ctb-section { background: #f3f6fa; padding-block: clamp(36px, 5vw, 64px); }
.ctb-contact-grid.wp-block-group {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 align-items: stretch;
 gap: 28px;
 max-width: 1080px;
 margin: 0 auto;
}
.ctb-contact-location.wp-block-group,
.ctb-contact-form-panel.wp-block-group {
 min-width: 0;
 margin: 0;
 padding: clamp(24px, 3vw, 32px);
 border: 1px solid #dce7ef;
 border-radius: 16px;
 background: #fff;
 box-shadow: 0 8px 28px #071b300b;
}
.ctb-contact-location.wp-block-group { display: flex; flex-direction: column; }
.ctb-contact-location > h2,
.ctb-contact-form-panel > h2 { margin: 0 0 16px; color: #142e3c; font-size: clamp(24px, 2.4vw, 29px); line-height: 1.25; }
.ctb-contact-address { margin: 0 0 20px; color: #506575; font-size: 16px; line-height: 1.65; }
.ctb-contact-map { display: flex; flex-direction: column; flex: 1; min-width: 0; margin: 0; }
.ctb-contact-map iframe { display: block; flex: 1; width: 100%; min-height: 300px; border: 0; border-radius: 10px; background: #edf3f7; }
.ctb-contact-map-link { margin: 12px 0 0; font-size: 14px; font-weight: 650; }
.ctb-contact-map-link a { color: #087db5; }
.ctb-contact-visit.wp-block-group { margin: 20px 0 0; padding-top: 18px; border-top: 1px solid #e0eaf2; }
.ctb-contact-visit > .ctb-eyebrow { margin: 0 0 8px; color: #087db5; font-size: 11px; }
.ctb-contact-visit > p:not(.ctb-eyebrow) { margin: 0; color: #506575; font-size: 14px; line-height: 1.65; }
.ctb-contact-form-panel .ctb-contact-widget { margin: 0; }
.ctb-contact-form-panel .nf-form-title { display: none; }
.ctb-contact-form-panel .nf-form-cont { margin-bottom: 0; }
.ctb-contact-blog.ctb-section {
 position: relative;
 isolation: isolate;
 margin: 0;
 padding-block: clamp(40px, 5vw, 64px);
 background-color: #071b30;
 background-size: cover;
 background-position: center;
 color: #fff;
}
.ctb-contact-blog::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #071b30b3; pointer-events: none; }
.ctb-contact-blog-inner.wp-block-group { max-width: 1080px; margin: 0 auto; }
.ctb-contact-blog-inner > .ctb-eyebrow { margin: 0 0 10px; color: #b4e2fa; font-size: 12px; }
.ctb-contact-blog-inner > h2 { margin: 0 0 28px; color: #fff; font-size: clamp(27px, 3vw, 34px); }
.ctb-contact-blog-query { margin: 0; }
.ctb-contact-blog .ctb-contact-blog-feed { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.ctb-contact-blog-feed > li { min-width: 0; margin: 0; padding: 0; }
.ctb-contact-blog .ctb-home-blog-post { display: flex; flex-direction: column; height: 100%; border-radius: 10px; }
.ctb-contact-blog .wp-block-post-featured-image img { height: 112px; aspect-ratio: auto; object-fit: cover; }
.ctb-contact-blog .ctb-home-blog-post-body { display: flex; flex-direction: column; flex: 1; padding: 16px; }
.ctb-contact-blog .wp-block-post-date { margin-bottom: 8px; font-size: 11px; }
.ctb-contact-blog .wp-block-post-title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; margin: 0 0 12px; font-size: 17px; line-height: 1.35; }
.ctb-contact-blog .wp-block-post-excerpt { margin: 0 0 14px; }
.ctb-contact-blog .wp-block-post-excerpt__excerpt { font-size: 13px; line-height: 1.6; }
.ctb-contact-blog .wp-block-read-more { align-self: flex-start; margin-top: auto; font-size: 13px; }
.ctb-contact-blog-browse { margin: 24px 0 0; font-size: 14px; font-weight: 650; }
.ctb-contact-blog-browse a { color: #c9e7f7; }
/* The Contact page's main form replaces the footer form on this page. */
.page-id-27 .ctb-footer .ctb-footer-contact,
.page-id-27 .ctb-footer .ctb-footer-blog { flex-basis: calc(50% - 12px) !important; }
@media (max-width: 1100px) {
 .ctb-contact-blog .ctb-contact-blog-feed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
 .ctb-contact-grid.wp-block-group { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 .ctb-contact-map iframe { min-height: 300px; }
 .page-id-27 .ctb-footer .ctb-footer-contact,
 .page-id-27 .ctb-footer .ctb-footer-blog { flex-basis: 100% !important; }
}
@media (max-width: 600px) {
 .ctb-contact-blog .ctb-contact-blog-feed { grid-template-columns: minmax(0, 1fr); max-width: 420px; margin-inline: auto; }
 .ctb-contact-blog .wp-block-post-featured-image img { height: 120px; }
}
