/* October 21: photo-led customer stories and the centered estimate layout. */
.review-story-slider{position:relative;overflow:hidden;background:#14271d;color:#fff;border-radius:18px;isolation:isolate;min-height:510px;touch-action:pan-y}
.review-story-slide{position:relative;min-height:510px;padding:64px 64px 92px;display:flex;align-items:center}
.review-story-slide[hidden]{display:none}
.review-story-photo{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;object-position:center 45%;z-index:-2}
.review-story-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,30,19,.94),rgba(7,30,19,.83) 48%,rgba(7,30,19,.43));z-index:-1}
.review-story-copy{max-width:900px}
.review-story-rating{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.review-story-rating strong{font-size:32px;line-height:1;font-weight:700;letter-spacing:.02em}
.review-story-rating .google-stars{font-size:26px;--star-color:#d8e7aa;color:#d8e7aa;background:none;-webkit-text-fill-color:currentColor}
.review-story-copy blockquote{font-size:clamp(24px,2.6vw,38px);line-height:1.45;font-weight:500;letter-spacing:-.035em;margin:0 0 28px;padding:0;border:0;color:#fff;display:block;-webkit-line-clamp:unset;max-height:none}
.review-story-copy>a{font-size:17px;font-weight:600;color:#fff;text-underline-offset:5px}
.review-story-credit{display:block;font-size:12px;color:#e2e9dd;margin-top:10px}
.review-story-pagination{position:absolute;bottom:30px;left:64px;right:64px;display:flex;gap:8px;max-width:600px}
.review-story-pagination button{height:30px;padding:12px 0;flex:1;min-width:8px;border:0;background:transparent;cursor:pointer;border-radius:0}
.review-story-pagination button span{display:block;height:3px;background:rgba(255,255,255,.35);width:100%}
.review-story-pagination button[aria-pressed=true] span{background:#fff}
.review-story-pagination button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.review-story-slider:focus-visible{outline:3px solid #a95008;outline-offset:4px}
.estimate-intro{padding-top:54px!important;padding-bottom:56px!important}
.contact-page .estimate-intro>h1{text-align:left;margin-bottom:32px;font-size:clamp(32px,4vw,48px);line-height:1.2}
.contact-page .estimate-centered{display:block;max-width:640px;margin:0 auto}
.contact-page .estimate-form{width:100%;box-sizing:border-box;padding:32px;background:#fff;border:1px solid #dddcd3;border-radius:14px;box-shadow:0 12px 36px #162a1d08}
.contact-page .estimate-form .phone-first{display:grid;gap:20px}
.contact-page .estimate-form .phone-first .btn{width:100%;min-height:52px}
.contact-page .estimate-form input,.contact-page .estimate-form select{font-size:16px;min-height:52px}
.contact-page .contact-callout{padding:0;margin:20px 0 0;text-align:center;background:transparent;border:0}
.contact-page .contact-callout .btn{width:100%;min-height:50px}
.estimate-proof{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 12px;margin:0 0 20px;color:#253528;text-decoration:none;font-size:14px}
.estimate-proof strong{font-size:20px}.estimate-proof .google-stars{font-size:20px}
.contact-page .estimate-reviews-below{margin:0 auto;max-width:var(--wrap,1200px);width:calc(100% - 80px);padding-top:42px;padding-bottom:72px;border-top:1px solid #e6e6dd}
.estimate-reviews-below h2{font-size:clamp(27px,3vw,38px);margin:0 0 24px;line-height:1.3}
.estimate-reviews-below .google-rating-row{margin-bottom:24px}
.estimate-reviews-below .review-story-copy{max-width:900px}
.project-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:28px}
.project-photo-grid figure{margin:0;min-width:0}
.project-photo-grid img{width:100%;height:320px;object-fit:cover;border-radius:12px;display:block}
.project-photo-grid figure:first-child img{object-position:center 35%}
.project-photo-grid figcaption{font-size:14px;line-height:1.5;margin-top:12px;color:#4c584d}
.project-gallery .section-heading p{max-width:650px}
@media(min-width:761px){.contact-page .site-header .header-inner{justify-content:flex-start}.contact-page .site-header .desktop-nav{margin-left:auto}}
@media(max-width:760px){
.review-story-slider,.review-story-slide{min-height:520px;border-radius:12px}
.review-story-slide{padding:32px 24px 82px;align-items:flex-start}
.review-story-slide:after{background:linear-gradient(90deg,rgba(7,30,19,.94),rgba(7,30,19,.72))}
.review-story-copy blockquote{font-size:25px;line-height:1.45;letter-spacing:-.035em;margin-bottom:24px}
.review-story-rating{margin-bottom:22px}.review-story-rating strong{font-size:27px}.review-story-rating .google-stars{font-size:22px}
.review-story-pagination{bottom:22px;left:24px;right:24px;gap:5px}
.estimate-intro{padding-top:32px!important;padding-bottom:36px!important}
.contact-page .estimate-intro>h1{margin-bottom:28px;font-size:34px}
.contact-page .estimate-form{padding:24px 20px}
.contact-page .estimate-reviews-below{width:calc(100% - 40px);padding-top:36px;padding-bottom:48px}
.estimate-proof{gap:8px;font-size:13px}
.project-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
.project-photo-grid img{height:230px}.project-photo-grid figcaption{font-size:13px}
}
@media(max-width:390px){.review-story-copy blockquote{font-size:23px}.project-photo-grid img{height:190px}}
/* The form already carries the Google aggregate, so the story needs no second badge. */
.estimate-reviews-below .google-rating-row{display:none}
.project-photo-grid figure:nth-child(3) img{object-position:center 80%}
