
.page-id-29890 .et_pb_blog_grid .et_pb_ajax_pagination_container,
.page-id-29890 .et_pb_blog_0 .et_pb_ajax_pagination_container{display:grid !important;grid-template-columns:repeat(3,1fr);gap:28px;align-items:stretch}

.page-id-29890 .et_pb_post{display:flex !important;flex-direction:column;width:auto !important;margin:0 !important;padding:0 !important;background:#fff !important;border:1px solid #e3e7ee !important;border-radius:9px;overflow:hidden;position:relative;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}
.page-id-29890 .et_pb_post:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f7941d,#f7a943);transform:scaleX(0);transform-origin:left;transition:transform .28s ease;z-index:3}
.page-id-29890 .et_pb_post:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(17,33,63,.14);border-color:#d8dee8}
.page-id-29890 .et_pb_post:hover:before{transform:scaleX(1)}

/* featured image */
.page-id-29890 .et_pb_post .entry-featured-image-url{display:block;margin:0 !important;overflow:hidden;background:#063553;line-height:0}
.page-id-29890 .et_pb_post .entry-featured-image-url img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .5s ease}
.page-id-29890 .et_pb_post:hover .entry-featured-image-url img{transform:scale(1.05)}

/* title */
.page-id-29890 .et_pb_post .entry-title{margin:0 !important;padding:20px 22px 0 !important;font-family:Georgia,'Times New Roman',serif !important;font-size:19px !important;line-height:1.32 !important;text-align:left !important}
.page-id-29890 .et_pb_post .entry-title a{color:#084873 !important;text-decoration:none !important;transition:color .16s}
.page-id-29890 .et_pb_post:hover .entry-title a{color:#063553 !important}

/* approved byline: position only, its own inline styles are left alone */
.page-id-29890 .et_pb_post .post-meta{margin:10px 0 0 !important;padding:0 22px !important;color:#5c6773 !important}

/* excerpt */
.page-id-29890 .et_pb_post .post-content{flex:1 1 auto;padding:10px 22px 24px !important;margin:0 !important}
.page-id-29890 .et_pb_post .post-content-inner p{font-size:14px !important;line-height:1.6 !important;color:#5c6773 !important;margin:0 !important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* read more, styled like the team card link */
.page-id-29890 .et_pb_post .more-link{display:inline-flex !important;align-items:center;gap:8px;margin:16px 22px 20px !important;padding-bottom:3px !important;font-family:Montserrat,Arial,sans-serif !important;font-size:11.5px !important;letter-spacing:1.6px;text-transform:uppercase;font-weight:700;color:#084873 !important;text-decoration:none !important;border-bottom:2px solid #f7941d;transition:.18s;align-self:flex-start}
.page-id-29890 .et_pb_post .more-link:after{content:"\2192";font-family:Arial,sans-serif;letter-spacing:0;transition:transform .18s ease}
.page-id-29890 .et_pb_post .more-link:hover{color:#f7941d !important}
.page-id-29890 .et_pb_post .more-link:hover:after{transform:translateX(4px)}

@media (max-width:1100px){
 .page-id-29890 .et_pb_blog_0 .et_pb_ajax_pagination_container{grid-template-columns:repeat(2,1fr);gap:22px}
}
@media (max-width:780px){
 .page-id-29890 .et_pb_blog_0 .et_pb_ajax_pagination_container{grid-template-columns:1fr;gap:20px;justify-items:center}
 .page-id-29890 .et_pb_post{max-width:460px;width:100%}
 .page-id-29890 .et_pb_post .entry-featured-image-url img{height:220px}
}


/* Divi builds these columns with JavaScript (salvattore). WP Rocket delays that script until the
   visitor interacts, so on a fresh load the posts render stacked at full width. This lays them out
   in CSS so the result is identical with or without the script. The ::before instruction salvattore
   reads is deliberately left untouched — blanking it is what collapsed the grid to one column. */
.home .et_pb_blog_grid_wrapper .et_pb_salvattore_content{display:grid !important;grid-template-columns:repeat(3,1fr);gap:28px;align-items:stretch}
.home .et_pb_blog_grid_wrapper .et_pb_salvattore_content > .column{display:contents !important}
@media (max-width:1100px){.home .et_pb_blog_grid_wrapper .et_pb_salvattore_content{grid-template-columns:repeat(2,1fr);gap:22px}}
@media (max-width:780px){
 .home .et_pb_blog_grid_wrapper .et_pb_salvattore_content{grid-template-columns:1fr;gap:20px;justify-items:center}
 .home .et_pb_blog_grid_wrapper .et_pb_post{max-width:460px;width:100%}
 .home .et_pb_blog_grid_wrapper .entry-featured-image-url img{height:220px}
}
/* ---- Home page blog grid: same cards, adapted to Divi's grid markup (no meta, no read-more) ---- */
/* Divi hides these until its salvattore script finishes laying out columns
   (.et_pb_blog_grid .et_pb_salvattore_content[data-columns] .et_pb_post{opacity:0}).
   We replace that layout with CSS grid, so that reveal never fires and the cards stayed invisible. */
.home .et_pb_blog_grid_wrapper .et_pb_salvattore_content[data-columns] .et_pb_post,
.home .et_pb_blog_grid .et_pb_salvattore_content[data-columns] .et_pb_post{opacity:1 !important}
.home .et_pb_blog_grid_wrapper .et_pb_post{display:flex !important;flex-direction:column;margin:0 !important;padding:0 !important;background:#fff !important;border:1px solid #e3e7ee !important;border-radius:9px;overflow:hidden;position:relative;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}
.home .et_pb_blog_grid_wrapper .et_pb_post:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f7941d,#f7a943);transform:scaleX(0);transform-origin:left;transition:transform .28s ease;z-index:3}
.home .et_pb_blog_grid_wrapper .et_pb_post:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(17,33,63,.14);border-color:#d8dee8}
.home .et_pb_blog_grid_wrapper .et_pb_post:hover:before{transform:scaleX(1)}
.home .et_pb_blog_grid_wrapper .et_pb_image_container{margin:0 !important;overflow:hidden;background:#063553;line-height:0}
.home .et_pb_blog_grid_wrapper .entry-featured-image-url{display:block;margin:0 !important;padding:0 !important;line-height:0}
.home .et_pb_blog_grid_wrapper .entry-featured-image-url img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .5s ease}
.home .et_pb_blog_grid_wrapper .et_pb_post:hover .entry-featured-image-url img{transform:scale(1.05)}
.home .et_pb_blog_grid_wrapper .entry-title{margin:0 !important;padding:20px 22px 0 !important;font-family:Georgia,'Times New Roman',serif !important;font-size:19px !important;line-height:1.32 !important;text-align:left !important}
.home .et_pb_blog_grid_wrapper .entry-title a{color:#084873 !important;text-decoration:none !important;transition:color .16s}
.home .et_pb_blog_grid_wrapper .et_pb_post:hover .entry-title a{color:#063553 !important}
.home .et_pb_blog_grid_wrapper .post-content{flex:1 1 auto;padding:10px 22px 22px !important;margin:0 !important}
.home .et_pb_blog_grid_wrapper .post-content-inner{font-size:14px !important;line-height:1.6 !important;color:#5c6773 !important;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

/* FLOATING_CARDS_2026_10_05 (Andrew): blog cards float on a soft background, same shadow tokens as the newer blocks */
.page-id-29890 .et_pb_section:has(.et_pb_blog_0){background:#f4f6f9 !important}
.page-id-29890 .et_pb_blog_grid .et_pb_ajax_pagination_container,
.page-id-29890 .et_pb_blog_0 .et_pb_ajax_pagination_container{gap:32px}
.page-id-29890 .et_pb_post{border:0 !important;border-radius:14px;box-shadow:0 10px 26px rgba(8,72,115,.10)}
.page-id-29890 .et_pb_post:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(8,72,115,.18)}
.page-id-29890 .et_pb_post .entry-featured-image-url{border-radius:14px 14px 0 0}
@media (max-width:1100px){.page-id-29890 .et_pb_blog_0 .et_pb_ajax_pagination_container{gap:24px}}
