/* Divi 5.17 native markup; controls/presets remain free to override these defaults. */
.et_pb_blog_posts:where(body.pei-native #main-content .et_pb_blog .et_pb_blog_posts) {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch;
}
.et_pb_blog_posts:where(body.pei-native #main-content .et_pb_blog .et_pb_blog_posts)>article {min-width:0;}
.pagination:where(body.pei-native #main-content .et_pb_blog .pagination) {width:100%;margin-top:28px;}
.et_pb_row_nested:where(body.pei-native .pei-home-portfolio-gallery .et_pb_row_nested) {width:100%;max-width:none;}
.et_pb_toggle_content:where(body.pei-native .pei-guides-toggle .et_pb_toggle_content) {display:block;}
.et_pb_contact_form_label:where(body.pei-native .et_pb_contact_form_label) {line-height:1.5;}
.pei-header-primary:where(body.pei-native .pei-header-primary) .et-menu li.pei-d5-dismissed>.sub-menu {visibility:hidden;opacity:0;pointer-events:none;}
.pei-header-primary:where(body.pei-native .pei-header-primary) .et-menu li.pei-d5-open>.sub-menu {visibility:visible;opacity:1;}
.pei-header-primary:where(body.pei-native .pei-header-primary) .mobile_menu_bar:focus-visible {outline:2px solid #00727c;outline-offset:6px;}
.pei-header-primary:where(body.pei-native .pei-header-primary) .et_mobile_menu .mobile-toggle {color:#00727c;background:transparent;border:0;}
@media(max-width:980px){.et_pb_blog_posts:where(body.pei-native #main-content .et_pb_blog .et_pb_blog_posts){grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}}
@media(max-width:700px){.et_pb_blog_posts:where(body.pei-native #main-content .et_pb_blog .et_pb_blog_posts){grid-template-columns:1fr;gap:24px;}}

/* The D5 equal-height block-row utility uses flex; these named components
   explicitly use grid at every breakpoint, with their template in defaults.css. */
.pi-home-hero-row.et_pb_row,
.pi-home-intro-row.et_pb_row,
.pei-home-portfolio-gallery>.et_pb_row,
.pei-v4-hero--split>.et_pb_row,
.pei-v4-hero--split-background>.et_pb_row,
.pei-home-stat-grid.et_pb_row{display:grid;}

/* The old clearfix pseudo becomes an extra grid item in D5. */
.pi-home-hero-row.et_pb_row::before,.pi-home-hero-row.et_pb_row::after,
.pi-home-intro-row.et_pb_row::before,.pi-home-intro-row.et_pb_row::after,
.pei-home-portfolio-gallery>.et_pb_row::before,.pei-home-portfolio-gallery>.et_pb_row::after,
.pei-v4-hero--split>.et_pb_row::before,.pei-v4-hero--split>.et_pb_row::after,
.pei-v4-hero--split-background>.et_pb_row::before,.pei-v4-hero--split-background>.et_pb_row::after,
.pei-home-stat-grid.et_pb_row::before,.pei-home-stat-grid.et_pb_row::after{display:none;}

/* Component grids replace D5 block-gutter percentage tracks only in these
   named layouts. Four classes match the native structural rule, without an
   important flag or any override of generated editor width controls. */
.pi-home-hero-row.et_pb_row.et_block_row>.et_pb_column,
.pi-home-intro-row.et_pb_row.et_block_row>.et_pb_column,
.pei-home-portfolio-gallery>.et_pb_row.et_block_row>.et_pb_column,
.pei-v4-hero--split>.et_pb_row.et_block_row>.et_pb_column,
.pei-v4-hero--split-background>.et_pb_row.et_block_row>.et_pb_column,
.pei-home-stat-grid.et_pb_row.et_block_row>.et_pb_column{width:auto;min-width:0;margin-right:0;float:none;}
.pi-home-team-photo.et_pb_column.et_pb_column_empty:where(body.pei-native .pi-home-team-photo){display:block;}
/* The approved offer is rich text; these leaf defaults don't change its text. */
.pei-home-offer p:first-child{font-size:25px;}
.pei-home-offer p:first-child strong{font-family:Archivo,'Open Sans',Arial,sans-serif;font-size:36px;letter-spacing:-.035em;}
.pei-home-offer p:last-child{font-size:13px;line-height:1.7;}
@media(max-width:980px){.pei-home-offer p:first-child{font-size:22px;}}

.pi-home-hero .et_pb_text a:where(:not(.et_pb_button)){color:inherit;}

@media(max-width:700px){.pei-home-offer p:first-child strong{font-size:32px;}}


/* D5 archives keep the editable native search/category column, now as a full
   width toolbar above the cards. Match only the named blog layout and its
   native four-class gutter rule, leaving arbitrary editor rows untouched. */
.et_pb_row.pei-row:has(.pei-blog-grid){display:flex;flex-direction:column;gap:28px;}
.et_pb_row.pei-row:has(.pei-blog-grid)::before,
.et_pb_row.pei-row:has(.pei-blog-grid)::after{display:none;}
.et_pb_row.pei-row:has(.pei-blog-grid)>.et_pb_column{width:100%;min-width:0;float:none;margin:0;padding:0;}
.et_pb_row.pei-row:has(.pei-blog-grid)>.et_pb_column:last-child{order:-1;display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.et_pb_row.pei-row:has(.pei-blog-grid)>.et_pb_column:last-child>.et_pb_search{flex:1 1 300px;max-width:430px;min-width:0;margin:0;}
.et_pb_row.pei-row:has(.pei-blog-grid)>.et_pb_column:last-child>.et_pb_text{flex:2 1 560px;min-width:0;margin:0;}
.et_pb_row.pei-row:has(.pei-blog-grid)>.et_pb_column:last-child>.et_pb_divider{display:none;}
.pei-blog-grid .et_pb_blog_posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch;}
.pei-blog-grid .et_pb_post{position:relative;display:flex;flex-direction:column;width:auto;min-width:0;float:none;margin:0;padding:0 0 25px;overflow:hidden;border:1px solid #dedede;border-radius:18px;background:#fff;box-shadow:none;}
.pei-blog-grid .et_pb_post .entry-title{padding:0 24px;margin:0 0 16px;font-family:Archivo,'Open Sans',Arial,sans-serif;font-size:23px;font-weight:600;line-height:1.23;letter-spacing:-.028em;text-align:left;}
.pei-blog-grid .et_pb_post .entry-title a{color:#171717;font-size:inherit;line-height:inherit;}
.pei-blog-grid .et_pb_post .entry-featured-image-url{display:block;width:100%;margin:0 0 23px;overflow:hidden;border-radius:0;}
.pei-blog-grid .et_pb_post .entry-featured-image-url img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;}
.pei-blog-grid .et_pb_post .post-meta{padding:0 24px;margin:0 0 15px;font-size:12px;line-height:1.6;color:#626262;}
.pei-blog-grid .et_pb_post .post-content{padding:0 24px;font-size:14px;line-height:1.7;color:#575757;}
.pei-blog-grid .et_pb_post .post-content-inner{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.pei-blog-grid .et_pb_post .pei-v4-read{margin:auto 24px 0;padding-top:22px;font-size:14px;line-height:1.5;font-weight:600;}
@media(max-width:980px){.pei-blog-grid .et_pb_blog_posts{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}.et_pb_row.pei-row:has(.pei-blog-grid)>.et_pb_column:last-child>.et_pb_search{max-width:none;}}
@media(max-width:700px){.pei-blog-grid .et_pb_blog_posts{grid-template-columns:1fr;gap:24px;}.pei-blog-grid .et_pb_post .entry-title{font-size:24px;}.et_pb_row.pei-row:has(.pei-blog-grid)>.et_pb_column:last-child{gap:18px;}}

/* Category chips are native list links; neutralize the theme list markers. */
.et_pb_row.pei-row:has(.pei-blog-grid) .cat-item{list-style:none;padding:0;margin:0;}
.et_pb_row.pei-row:has(.pei-blog-grid) .cat-item::before{content:none;}
.et_pb_row.pei-row:has(.pei-blog-grid) .cat-item::marker{content:'';}
.et_pb_row.pei-row:has(.pei-blog-grid) .et_pb_search .et_pb_searchsubmit{background:#00727c;color:#fff;border-color:#00727c;border-radius:0;font-size:13px;font-weight:600;}
