/* BGW page patterns. Loaded only on pages containing bgw-patterns. */
.bgw-patterns{--bgw-ink:#242622;--bgw-copy:#41463d;--bgw-paper:#f7f5ef;--bgw-line:#deded4;--bgw-gold:#d5bd91;background:var(--bgw-paper);color:var(--bgw-copy);font-family:Arial,Helvetica,sans-serif;gap:0;padding:0}
.bgw-patterns :where(*, *::before, *::after){box-sizing:border-box}
.bgw-patterns :is(.e-con,.elementor-widget){min-width:0}
.bgw-patterns .elementor-widget-heading :is(h1,h2,h3),.bgw-patterns .bgw-reviews-page :is(h1,h2,h3){font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em;text-transform:none;line-height:1.2;color:var(--bgw-ink)}
/* Match the existing migration's specificity only where legacy !important rules conflict. */
.elementor .bgw-patterns .bgw-pattern-hero h1,.elementor .bgw-patterns .bgw-reviews-page h1{font-size:clamp(36px,4.2vw,64px)!important;line-height:1.1!important;color:var(--bgw-ink)!important}
.bgw-patterns :is(p,.bgw-review-text){font:400 17px/1.7 Arial,Helvetica,sans-serif;color:var(--bgw-copy)}
.bgw-patterns a{overflow-wrap:anywhere}
.bgw-patterns :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #886517!important;outline-offset:4px!important}
.bgw-patterns .bgw-pattern-hero,.bgw-patterns .bgw-pattern-section{width:100%;max-width:1240px;margin:0 auto;padding:64px 32px;gap:24px}
.bgw-patterns .bgw-pattern-hero{padding-top:76px;padding-bottom:76px;border-bottom:1px solid var(--bgw-line)}
.bgw-patterns .bgw-pattern-hero-copy{gap:22px;padding:0;max-width:850px}
.bgw-patterns .bgw-pattern-hero-copy p{margin:0}
.elementor .bgw-patterns .bgw-pattern-eyebrow p{font:600 12px/1.5 Arial,Helvetica,sans-serif!important;letter-spacing:.14em;text-transform:uppercase;color:#74613f}
.bgw-patterns .bgw-pattern-hero-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px}
.bgw-patterns .bgw-pattern-hero-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
.bgw-patterns .bgw-pattern-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;padding:0}
.elementor .bgw-patterns .bgw-pattern-button .elementor-button{background:#d5bd91!important;color:#242622!important;border:1px solid #d5bd91!important;border-radius:3px;padding:14px 20px!important;font:600 15px/1.4 Arial,Helvetica,sans-serif!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;box-shadow:none}
.elementor .bgw-patterns .bgw-pattern-button .elementor-button:hover{background:#242622!important;color:#fff!important;border-color:#242622!important}
.bgw-patterns .bgw-pattern-apply{scroll-margin-top:110px}
.bgw-patterns .bgw-pattern-application iframe{display:block;width:100%;background:#fff;max-width:100%;border:1px solid var(--bgw-line)}
.bgw-patterns .bgw-pattern-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0}
.bgw-patterns .bgw-pattern-person{background:#fff;border:1px solid var(--bgw-line);padding:24px}
.bgw-patterns .bgw-pattern-person .elementor-image-box-img{display:block;width:100%!important;margin:0 0 22px!important}
.bgw-patterns .bgw-pattern-person img{display:block;width:100%;height:auto!important;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:0}
.elementor .bgw-patterns .bgw-pattern-person h3{font-size:25px!important}
.bgw-patterns .bgw-pattern-person .elementor-image-box-content{text-align:left}
/* One article-card system for the blog page and the archive template. */
.bgw-patterns .bgw-pattern-posts .elementor-posts-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 28px}
.bgw-patterns .bgw-pattern-posts .elementor-post__card{border:1px solid var(--bgw-line);border-radius:0;background:#fff;box-shadow:none;display:flex;flex-direction:column;height:100%;overflow:hidden}
.bgw-patterns .bgw-pattern-posts .elementor-post__thumbnail__link{margin:0;display:block;aspect-ratio:8/5;overflow:hidden}
.bgw-patterns .bgw-pattern-posts .elementor-post__thumbnail{height:100%;padding:0;position:relative}
.bgw-patterns .bgw-pattern-posts .elementor-post__thumbnail img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transform:none}
.bgw-patterns .bgw-pattern-posts .elementor-post__text{padding:24px;margin:0;display:flex;flex-direction:column;flex:1}
.elementor .bgw-patterns .bgw-pattern-posts h3{font:400 25px/1.25 Georgia,serif!important;letter-spacing:-.025em!important;margin:0 0 14px}
.bgw-patterns .bgw-pattern-posts h3 a{color:#242622;text-decoration:none}
.bgw-patterns .bgw-pattern-posts h3 a:hover{text-decoration:underline}
.bgw-patterns .bgw-pattern-posts .elementor-post__excerpt{margin-bottom:20px}
.bgw-patterns .bgw-pattern-posts .elementor-post__read-more{margin-top:auto;color:#574629;font:600 15px/1.4 Arial,sans-serif;text-decoration:underline}
.bgw-patterns .bgw-pattern-posts .elementor-pagination{margin-top:40px;line-height:2.8}
.bgw-patterns .bgw-pattern-posts .page-numbers{display:inline-block;padding:4px 12px;margin:3px;border:1px solid var(--bgw-line);color:#242622}
.bgw-patterns .bgw-pattern-posts .page-numbers.current{background:#242622;color:#fff}
/* Existing service layout and widgets remain native Elementor content. */
.bgw-patterns .bgw-pattern-service-section{width:100%;max-width:1240px;margin:0 auto;padding:48px 32px;gap:24px}
.bgw-patterns .bgw-pattern-service-row{align-items:center;gap:40px}
.bgw-patterns .bgw-pattern-service-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
.bgw-patterns .bgw-pattern-team-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
/* Reviews retains the original quotes and uses the same palette and spacing. */
.bgw-patterns .bgw-reviews-page{--bgw-navy:#242622;--bgw-blue:#574629;--bgw-gold:#d5bd91;--bgw-light:#f7f5ef;--bgw-text:#41463d;width:100%;color:#41463d}
.bgw-patterns .bgw-reviews-page .bgw-section{padding:56px 32px;border-bottom:1px solid var(--bgw-line)}
.bgw-patterns .bgw-reviews-page .bgw-section-inner{max-width:1176px;margin:0 auto}
.bgw-patterns .bgw-reviews-page .bgw-hero{background:#f7f5ef;padding-top:76px;padding-bottom:76px}
.bgw-patterns .bgw-reviews-page .bgw-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:center;gap:48px}
.bgw-patterns .bgw-reviews-page .bgw-eyebrow{font:600 12px/1.5 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#74613f;margin-bottom:18px}
.bgw-patterns .bgw-reviews-page h1{margin:0 0 24px}
.bgw-patterns .bgw-reviews-page .bgw-trust-panel{background:#fff;padding:30px;border:1px solid var(--bgw-line)}
.elementor .bgw-patterns .bgw-reviews-page .bgw-trust-panel h2{font-size:28px!important}
.bgw-patterns .bgw-reviews-page .bgw-trust-list{list-style:none;padding:0;margin:24px 0 0}
.bgw-patterns .bgw-reviews-page .bgw-trust-list li{display:flex;gap:12px;margin-top:16px;line-height:1.6}
.bgw-patterns .bgw-reviews-page .bgw-check{color:#74613f}
.bgw-patterns .bgw-reviews-page :is(.bgw-btn-row,.bgw-review-links){display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.bgw-patterns .bgw-reviews-page :is(.bgw-btn,.bgw-btn-outline,.bgw-btn-google,.bgw-btn-facebook){display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;background:#d5bd91;color:#242622;border:1px solid #d5bd91;border-radius:3px;font:600 15px/1.4 Arial,sans-serif;text-decoration:none}
.bgw-patterns .bgw-reviews-page .bgw-btn-outline{background:transparent;border-color:#74613f}
.bgw-patterns .bgw-reviews-page :is(.bgw-btn,.bgw-btn-outline,.bgw-btn-google,.bgw-btn-facebook):hover{background:#242622;color:#fff}
.bgw-patterns .bgw-reviews-page :is(.bgw-platform-grid,.bgw-project-grid){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bgw-patterns .bgw-reviews-page .bgw-platform-card strong,.bgw-patterns .bgw-reviews-page .bgw-platform-card span{display:block;line-height:1.6;margin-bottom:8px}
.bgw-patterns .bgw-reviews-page .bgw-section-heading{max-width:780px;margin-bottom:32px}
.bgw-patterns .bgw-reviews-page .bgw-reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.bgw-patterns .bgw-reviews-page :is(.bgw-review-card,.bgw-project-card){display:block;background:#fff;border:1px solid var(--bgw-line);padding:30px;color:#41463d;text-decoration:none}
.bgw-patterns .bgw-reviews-page .bgw-review-stars{color:#886517;letter-spacing:.1em;margin-bottom:16px}
.bgw-patterns .bgw-reviews-page .bgw-review-attribution{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;padding-top:18px;border-top:1px solid var(--bgw-line);font-size:14px}
.bgw-patterns .bgw-reviews-page .bgw-review-name{font-weight:700}
.bgw-patterns .bgw-reviews-page :is(.bgw-bbb-box,.bgw-cta-box){display:flex;align-items:center;gap:40px}
.bgw-patterns .bgw-reviews-page .bgw-bbb-rating{flex:0 0 200px;text-align:center;border:1px solid var(--bgw-line);padding:24px}
.bgw-patterns .bgw-reviews-page .bgw-bbb-rating span{display:block;font-size:13px}
.bgw-patterns .bgw-reviews-page .bgw-bbb-rating strong{display:block;font:400 64px/1.4 Georgia,serif}
.bgw-patterns .bgw-reviews-page .bgw-cta-box>div:first-child{flex:1}
.bgw-patterns .bgw-reviews-page .bgw-cta-band{background:#e9e5d9}
@media(max-width:1024px){.bgw-patterns .bgw-pattern-people,.bgw-patterns .bgw-pattern-posts .elementor-posts-container{grid-template-columns:repeat(2,minmax(0,1fr))}.bgw-patterns .bgw-pattern-hero-split,.bgw-patterns .bgw-reviews-page .bgw-hero-grid{gap:28px}}
@media(max-width:767px){.bgw-patterns .bgw-pattern-hero,.bgw-patterns .bgw-pattern-section,.bgw-patterns .bgw-pattern-service-section,.bgw-patterns .bgw-reviews-page .bgw-section{padding:40px 20px}.bgw-patterns .bgw-pattern-hero-split,.bgw-patterns .bgw-pattern-people,.bgw-patterns .bgw-pattern-posts .elementor-posts-container,.bgw-patterns .bgw-reviews-page :is(.bgw-hero-grid,.bgw-platform-grid,.bgw-project-grid,.bgw-reviews-grid){grid-template-columns:minmax(0,1fr)}.bgw-patterns .bgw-reviews-page :is(.bgw-bbb-box,.bgw-cta-box){flex-direction:column;align-items:stretch}.bgw-patterns .bgw-reviews-page .bgw-bbb-rating{flex-basis:auto}.bgw-patterns .bgw-reviews-page :is(.bgw-review-card,.bgw-project-card,.bgw-trust-panel){padding:24px}.bgw-patterns .bgw-pattern-service-row{gap:24px}}

/* Scoped bridge for global Additional CSS typography; applies only to migrated page content. */
.elementor .bgw-patterns :is(h1,h2,h3){font-family:Georgia,"Times New Roman",serif!important;font-weight:400!important;text-transform:none!important;text-shadow:none!important;letter-spacing:-.025em!important}
.elementor .bgw-patterns h2{font-size:clamp(28px,3vw,44px)!important;line-height:1.2!important}
.elementor .bgw-patterns h3{font-size:26px!important;line-height:1.25!important}
/* Explicit container display avoids legacy page-level flex overrides. */
.elementor .bgw-patterns{display:flex;flex-direction:column}
.bgw-patterns .bgw-pattern-hero-copy,.bgw-patterns .bgw-pattern-section{display:flex;flex-direction:column}

/* Service refinements: fixed photo alignment, explicit dark-gallery contrast. */
.bgw-pattern-service .bgw-pattern-hero-split{align-items:start}
.bgw-pattern-service .bgw-pattern-hero-image{align-self:start;margin:0;padding:0}
.elementor .bgw-patterns .bgw-pattern-gallery-dark :is(h2,h3){color:#f7f5ef!important}
.bgw-patterns .bgw-pattern-gallery-dark p{color:#f7f5ef}
.bgw-pattern-gallery-dark .swiper-pagination-bullet{background:#f7f5ef;opacity:.5}
.bgw-pattern-gallery-dark .swiper-pagination-bullet-active{opacity:1}
.bgw-patterns .bgw-pattern-testimonials :is(h2,p,.elementor-testimonial){text-align:center}
.bgw-pattern-testimonials .elementor-testimonial__header{justify-content:center}
.bgw-pattern-testimonials .elementor-testimonial__cite{align-items:center}
.bgw-pattern-testimonials .elementor-testimonial__text{color:#41463d;font-size:17px;line-height:1.7}
.bgw-pattern-testimonials .elementor-star-rating{display:flex;justify-content:center;gap:3px;margin:8px auto}
/* Full rating stars use a CSS shape, independent of the missing eicons font. */
.bgw-pattern-testimonials .elementor-star-rating i.elementor-star-full{display:inline-block;width:18px;height:18px;font-size:0;background:#886517;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 92%,50% 71%,21% 92%,32% 57%,2% 35%,39% 35%)}
.bgw-pattern-testimonials .elementor-star-rating i.elementor-star-full::before{display:none}
.bgw-pattern-testimonials .elementor-testimonial__icon:empty{display:none}
.bgw-pattern-service :is(.elementor-swiper-button-prev,.elementor-swiper-button-next) i{font-size:0}
.bgw-pattern-service .elementor-swiper-button-prev i::before{content:'‹';font:36px/1 Arial,sans-serif}
.bgw-pattern-service .elementor-swiper-button-next i::before{content:'›';font:36px/1 Arial,sans-serif}
.bgw-pattern-testimonials :is(.elementor-swiper-button-prev,.elementor-swiper-button-next){color:#574629}
.bgw-patterns .bgw-pattern-comparison{display:flex;flex-direction:column;gap:20px}
.bgw-pattern-comparison .elementor-widget-shortcode{width:100%;max-width:900px;align-self:center}
.bgw-pattern-comparison p{margin:0}
/* Atomic paragraph widgets otherwise shrink to their text inside the legacy flex wrapper. */
.bgw-patterns .bgw-pattern-testimonials p.e-paragraph-base{width:100%;max-width:none;flex-basis:100%;padding-inline:24px}
.elementor .bgw-patterns .bgw-pattern-testimonials .elementor-swiper-button{color:#574629}
.elementor .bgw-patterns .bgw-pattern-comparison .elementor-widget-shortcode{max-width:900px;width:100%;align-self:center}
.elementor .bgw-patterns .bgw-pattern-comparison :is(h2,p){text-align:center}
.elementor .bgw-patterns .bgw-pattern-testimonials .elementor-swiper-button svg{fill:currentColor}
/* Override the legacy section's explicit zero side margins, centering the block itself. */
.elementor .bgw-patterns .bgw-pattern-testimonials{margin-left:auto!important;margin-right:auto!important}

/* Elementor stretch-section JavaScript applies a negative left offset to legacy sections. */
.elementor .bgw-patterns .bgw-pattern-testimonials{left:auto!important;right:auto!important}
/* Keep complete comparison collages readable without enlarging them to full page width. */
.elementor .bgw-patterns .bgw-pattern-comparison .elementor-widget-image img{width:min(100%,760px);height:auto;object-fit:contain}
.bgw-pattern-comparison .elementor-widget-image{text-align:center}

/* September 11 Remodeling pages: additions scoped to this migration. */
.elementor .bgw-remodeling-round .bgw-remodeling-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0}
.elementor .bgw-remodeling-round .bgw-remodeling-card{display:flex;flex-direction:column;gap:18px;padding:28px;background:#fff;border:1px solid #deded4}
.bgw-remodeling-card h3 a{color:#242622;text-decoration:none}
.bgw-remodeling-card h3 a:hover{text-decoration:underline}
.bgw-remodeling-card p{margin:0}
.bgw-remodeling-card .bgw-remodeling-card-link{margin-top:auto}
.elementor .bgw-remodeling-round .bgw-remodeling-card-link .elementor-button{background:transparent;color:#574629;border:0;border-radius:0;padding:0;text-align:left;font:600 15px/1.5 Arial,sans-serif;text-transform:none;letter-spacing:0;text-decoration:underline;box-shadow:none}
.elementor .bgw-remodeling-round .bgw-pattern-artwork img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.elementor .bgw-remodeling-round .bgw-pattern-hero-art{padding:0;gap:12px;align-self:start}
.elementor .bgw-remodeling-round .bgw-pattern-hero-art img{aspect-ratio:4/3;object-fit:contain;background:#fff}
.bgw-remodeling-round .bgw-pattern-caption p{font-size:14px;line-height:1.5;margin:0;color:#574629}
.bgw-remodeling-round .bgw-pattern-service-row{margin-block:24px}
@media(max-width:1024px){.elementor .bgw-remodeling-round .bgw-remodeling-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.elementor .bgw-remodeling-round .bgw-remodeling-grid{grid-template-columns:minmax(0,1fr)}.elementor .bgw-remodeling-round .bgw-remodeling-card{padding:24px}.bgw-remodeling-round .bgw-pattern-service-row{grid-template-columns:minmax(0,1fr);margin-block:16px}}
.bgw-remodeling-round .bgw-remodeling-card-link a{color:#574629;font:600 15px/1.5 Arial,sans-serif;text-decoration:underline}
