.mobile-cta{display:none}@media(max-width:680px){.mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 30px #03162a14;transform:translateY(110%);transition:transform .4s cubic-bezier(.2,.6,.3,1);padding-bottom:env(safe-area-inset-bottom)}.mobile-cta.is-shown{transform:none}.mobile-cta a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;font-size:15px;font-weight:500;color:var(--navy)}.mobile-cta a+a{background:var(--blue);color:#fff}.mobile-cta svg{width:18px;height:18px}body{padding-bottom:58px}}.admin-bar .site-header{top:32px}@media(max-width:782px){.admin-bar .site-header{top:46px}}@media(max-width:600px){.admin-bar .site-header{top:0}}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0}.skip:focus{top:20px}.quote-form-cf7 .wpcf7{margin:0}.quote-form-cf7 .wpcf7-form>p{margin:0}.quote-form-cf7 .wpcf7-form br{display:none}.quote-form-cf7 label{display:flex;flex-direction:column;font-size:13px;font-weight:500;margin-bottom:22px;line-height:1.6;gap:10px;color:var(--ink)}.quote-form-cf7 .wpcf7-form-control-wrap{display:block}.quote-form-cf7 input[type=text],.quote-form-cf7 input[type=email],.quote-form-cf7 input[type=tel],.quote-form-cf7 input[type=url],.quote-form-cf7 input[type=number],.quote-form-cf7 select,.quote-form-cf7 textarea{display:block;width:100%;border:0;border-bottom:1px solid #cfcfd1;border-radius:0;background:var(--gray);font:inherit;font-size:14px;padding:13px 14px;color:var(--ink);line-height:1.6;min-width:0;resize:vertical}.quote-form-cf7 textarea{min-height:124px;height:124px}.quote-form-cf7 input:focus,.quote-form-cf7 textarea:focus,.quote-form-cf7 select:focus{outline:2px solid var(--blue);outline-offset:0;background:#fff}.quote-form-cf7 input::placeholder,.quote-form-cf7 textarea::placeholder{color:var(--text);opacity:.8;font-size:13px;font-weight:400}.quote-form-cf7 .wpcf7-submit,.quote-form-cf7 input[type=submit],.quote-form-cf7 button[type=submit]{display:flex;width:100%;align-items:center;justify-content:space-between;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") no-repeat right 24px center/19px;color:#fff;border:1px solid var(--blue);border-radius:0;padding:17px 60px 17px 24px;font:inherit;font-size:15px;font-weight:500;line-height:1.5;min-height:56px;cursor:pointer;text-align:left;transition:background-color .25s,border-color .25s;-webkit-appearance:none;appearance:none}.quote-form-cf7 .wpcf7-submit:hover,.quote-form-cf7 input[type=submit]:hover{background-color:var(--navy);border-color:var(--navy)}.quote-form-cf7 .wpcf7-submit:disabled{opacity:.6;cursor:wait}.quote-form-cf7 .wpcf7-spinner{display:block;margin:12px auto 0}.quote-form-cf7 .wpcf7-not-valid-tip{font-size:12px;color:#b32d2e;font-weight:400;margin-top:6px}.quote-form-cf7 .wpcf7-not-valid{border-bottom-color:#b32d2e}.quote-form-cf7 .wpcf7-response-output{margin:18px 0 0!important;padding:14px 16px!important;border:1px solid var(--line)!important;border-left:3px solid var(--blue)!important;font-size:14px;line-height:1.6;background:#fff}.quote-form-cf7 .wpcf7 form.invalid .wpcf7-response-output,.quote-form-cf7 .wpcf7 form.unaccepted .wpcf7-response-output,.quote-form-cf7 .wpcf7 form.failed .wpcf7-response-output{border-left-color:#b32d2e!important}.quote-form-cf7 .wpcf7 form.sent .wpcf7-response-output{border-left-color:#0a7d33!important;background:#f3faf5}.quote-form-cf7 .cf-turnstile,.quote-form-cf7 .wpcf7-turnstile{margin:0}.quote-form-cf7 .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:1100px){.quote-form-cf7 .form-row{grid-template-columns:1fr;gap:0}}@media(max-width:680px){.quote-form-cf7 input[type=text],.quote-form-cf7 input[type=email],.quote-form-cf7 input[type=tel],.quote-form-cf7 textarea{font-size:16px}}.quote-form-cf7 .ct-chips{margin-bottom:22px}.quote-form-cf7 i[class*="fa-"],.quote-form-cf7 .fa,.quote-form-cf7 .fas,.quote-form-cf7 .e-font-icon-svg{display:none!important}.bbs-form-msg{padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--blue);font-size:14px;line-height:1.6;margin:0 0 22px;background:#fff}.bbs-form-msg.is-ok{border-left-color:#0a7d33;background:#f3faf5}.bbs-form-msg.is-error{border-left-color:#b32d2e}.bbs-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.bl-chip-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;padding:9px 15px;border:1px solid #ffffff35;color:#dce4ec;transition:background .25s,color .25s,border-color .25s}.bl-chip-link span{font-size:11px;color:#9fb6cf}.bl-chip-link:hover{border-color:#fff;color:#fff}.bl-chip-link[aria-current]{background:#fff;color:var(--navy);border-color:#fff}.bl-chip-link[aria-current] span{color:var(--blue)}.bl-img img{width:100%;height:100%;object-fit:cover}.bl-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:200px;background:var(--gray);color:#b3b2b8}.bl-noimg svg{width:54px;height:54px}.bl-search-go{position:absolute;right:8px;bottom:8px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:0;color:#9fb6cf;cursor:pointer}.bl-search-go svg{position:static;width:22px;height:22px}.bl-search .bl-search-go+svg{display:none}.bbs-pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:56px}.bbs-pagination .page-numbers,.bbs-pagination>a,.bbs-pagination>span{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 16px;border:1px solid var(--line);font-size:14px;color:var(--navy);background:#fff;transition:border-color .25s,color .25s,background .25s}.bbs-pagination a:hover{border-color:var(--blue);color:var(--blue)}.bbs-pagination .current{background:var(--navy);border-color:var(--navy);color:#fff}.post-body h3{font-size:clamp(21px,1.8vw,25px);line-height:1.4;color:var(--ink);margin:40px 0 14px}.post-body h4{font-size:19px;line-height:1.5;color:var(--ink);margin:30px 0 10px}.post-body ul,.post-body ol{margin:0 0 26px;padding-left:26px}.post-body li{margin:0 0 10px}.post-body li::marker{color:var(--blue)}.post-body blockquote{margin:34px 0;padding:6px 0 6px 26px;border-left:2px solid var(--blue);font-size:20px;line-height:1.7;color:var(--ink)}.post-body figure,.post-body .wp-block-image{margin:34px 0}.post-body img{max-width:100%;height:auto}.post-body figcaption,.post-body .wp-caption-text{font-size:13px;color:var(--text);padding-top:10px}.post-body table{width:100%;border-collapse:collapse;margin:30px 0;font-size:15px}.post-body th,.post-body td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}.post-body th{background:var(--gray);font-weight:500;color:var(--ink)}.post-body .wp-block-table{overflow-x:auto;margin:30px 0}.post-body hr{border:0;border-top:1px solid var(--line);margin:48px 0}.post-body iframe,.post-body video{max-width:100%}.post-body .alignleft{float:left;margin:6px 26px 16px 0}.post-body .alignright{float:right;margin:6px 0 16px 26px}.post-body .aligncenter{margin-inline:auto;display:block}.post-body .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.post-body .wp-block-button__link{display:inline-flex;background:var(--blue);color:#fff!important;text-decoration:none!important;padding:15px 22px;font-size:15px;font-weight:500;border-radius:0}.post-body .wp-block-button__link:hover{background:var(--navy)}.post-body .inline-cta{margin:46px 0}.post-body .inline-cta .button{color:#fff;text-decoration:none}.bbs-page-body>p:first-child{font-size:inherit;line-height:inherit;color:inherit}.bbs-single-col{grid-template-columns:minmax(0,1fr)}.bbs-single-col .post-body{max-width:820px}.bbs-page-body h2:first-child{margin-top:0}.bbs-noresults{max-width:760px}.bbs-noresults h2{font-size:clamp(28px,2.6vw,40px);margin-bottom:14px}.bbs-noresults p{margin-bottom:28px}.bbs-service-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.bbs-service-links li{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.bbs-service-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 22px;font-size:16px;color:var(--ink);position:relative;transition:background .3s,color .3s,padding .3s}.bbs-service-links a svg{width:18px;height:18px;color:var(--blue);transition:transform .3s}.bbs-service-links a:hover{background:var(--gray);color:var(--blue);padding-left:28px}.bbs-service-links a:hover svg{transform:translateX(4px)}@media(max-width:1000px){.bbs-service-links{grid-template-columns:1fr 1fr}}@media(max-width:560px){.bbs-service-links{grid-template-columns:1fr}}.bbs-404 .bl-hero-grid{align-items:center}.bbs-404 .bl-search{margin-top:30px;max-width:520px}.bbs-404-links{display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin-top:30px}.bbs-404 .button{background:#fff;color:var(--navy);border-color:#fff}.bbs-404 .button:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.bbs-404 .text-link{color:#fff;border-color:#ffffff60}.bbs-404-art{margin:0}.bbs-blueprint{width:100%;height:auto;display:block;overflow:visible}.bbs-blueprint .bp{stroke:#9fc3ea;stroke-width:2}.bbs-blueprint .bp-grid{stroke:#ffffff55}.bbs-blueprint .bp-missing{stroke:#fff;stroke-dasharray:.04 .03;stroke-width:2.2}.bbs-blueprint .bp-dim{stroke:#ffffff80;stroke-width:1.4}.bbs-blueprint .bp-num{font:500 26px Poppins,Arial,sans-serif;fill:#fff;letter-spacing:.2em}.bbs-blueprint .bp-label{font:400 13px Poppins,Arial,sans-serif;fill:#9fb6cf;letter-spacing:.14em;text-transform:uppercase}.bbs-blueprint .bp-cross{stroke:#fff;stroke-width:1.4;transform-origin:425px 307px}.motion-ok .bbs-blueprint .bp:not(.bp-missing){stroke-dasharray:1;stroke-dashoffset:1}.motion-ok .bbs-blueprint.is-drawn .bp:not(.bp-missing){stroke-dashoffset:0;transition:stroke-dashoffset 1.6s cubic-bezier(.45,.05,.25,1)}.motion-ok .bbs-blueprint.is-drawn .bp:nth-of-type(2){transition-delay:.15s}.motion-ok .bbs-blueprint.is-drawn .bp:nth-of-type(3){transition-delay:.35s}.motion-ok .bbs-blueprint.is-drawn .bp:nth-of-type(4){transition-delay:.6s}.motion-ok .bbs-blueprint.is-drawn .bp:nth-of-type(5){transition-delay:.8s}.motion-ok .bbs-blueprint.is-drawn .bp:nth-of-type(6){transition-delay:1s}.motion-ok .bbs-blueprint.is-drawn .bp:nth-of-type(8){transition-delay:1.4s}.motion-ok .bbs-blueprint .bp-missing,.motion-ok .bbs-blueprint .bp-num,.motion-ok .bbs-blueprint .bp-label,.motion-ok .bbs-blueprint .bp-cross{opacity:0}.motion-ok .bbs-blueprint.is-drawn .bp-missing{opacity:1;transition:opacity .6s 1.6s;animation:bbs-march 2.4s linear 2.2s infinite}.motion-ok .bbs-blueprint.is-drawn .bp-num,.motion-ok .bbs-blueprint.is-drawn .bp-label{opacity:1;transition:opacity .6s 1.9s}.motion-ok .bbs-blueprint.is-drawn .bp-cross{opacity:1;transition:opacity .4s 2.1s;animation:bbs-pulse 2.6s ease-in-out 2.4s infinite}@keyframes bbs-march{to{stroke-dashoffset:-.14}}@keyframes bbs-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}@media(max-width:900px){.bbs-404 .bl-hero-grid{grid-template-columns:1fr}.bbs-404-art{max-width:440px}}@media print{.site-header,.footer,.mobile-cta,.post-progress,.post-aside,.bl-cta,.toc-mobile,.post-nav,.related,dialog{display:none!important}.reveal{opacity:1!important;transform:none!important}}/* v1.0.3 hero photos: keep each subject clear of the headline */
.hero .hero-image>img.bbs-hero-kitchen{object-position:center 45%}.hero .hero-image>img.bbs-hero-remodel{object-position:center 40%}.hero .hero-image>img.bbs-hero-bath{object-position:center 50%}.hero .hero-image>img.bbs-hero-basement{object-position:70% center}.hero .hero-image>img.bbs-hero-additions{object-position:55% center}.hero .hero-image>img.bbs-hero-decks{object-position:70% center}.hero .hero-image>img.bbs-hero-adu{object-position:70% center}
@media(max-width:800px){.hero .hero-image>img.bbs-hero-kitchen{object-position:70% center}.hero .hero-image>img.bbs-hero-remodel{object-position:64% center}.hero .hero-image>img.bbs-hero-bath{object-position:72% center}.hero .hero-image>img.bbs-hero-basement{object-position:62% center}.hero .hero-image>img.bbs-hero-additions{object-position:52% center}.hero .hero-image>img.bbs-hero-decks{object-position:72% center}.hero .hero-image>img.bbs-hero-adu{object-position:69% center}}
/* v1.0.4: fade the left edge of split hero photos so no hard line shows at any screen width */
@media(min-width:801px){.add-hero .hero-image>img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 32%);mask-image:linear-gradient(90deg,transparent 0,#000 32%)}}

/* 1.0.7 sitewide */
.assurance>span,.assurance .google-rating .rating-caption{font-size:13px}
.assurance .rating-first strong{font-size:23.5px}
.assurance .rating-stars{font-size:17px}
@media(min-width:1201px){.assurance{grid-template-columns:minmax(190px,.6fr) repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.assurance>span,.assurance .google-rating .rating-caption{font-size:13.5px}}
.nav-dropdown>div:before{content:'';position:absolute;left:0;right:0;bottom:100%;height:17px}
.trust-bottom,.services-closing,.gallery-bottom,.bathroom-process-bottom{justify-content:center}
.bathroom-process-bottom{gap:40px}
.bathroom-process-bottom p{flex:0 1 auto;max-width:760px}
.services-closing>p{max-width:640px}
@media(max-width:800px){.bathroom-process-bottom{align-items:center;text-align:center}}
@media(max-width:680px){.trust-bottom,.services-closing,.gallery-bottom{align-items:center;text-align:center}}
.consultation-copy>p{max-width:none}
.consultation-copy>.section-heading h2{font-size:clamp(34px,3.3vw,50px)}
.section-heading.is-full h2{max-width:none}
.add-stats.add-stats-pair{grid-template-columns:1fr 1fr;gap:0;border-top:2px solid var(--blue)}
.add-stats-pair div{border-top:0;padding:22px 28px 0 0}
.add-stats-pair div+div{border-left:1px solid var(--line);padding-left:28px}
.add-stats-pair span{max-width:250px}
@media(max-width:680px){.add-stats-pair div:last-child{grid-column:auto}.add-stats-pair div{padding-right:16px}.add-stats-pair div+div{padding-left:16px}}
.add-stat-link{display:block;color:inherit;text-decoration:none}
.add-stat-link:hover span{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
@media(min-width:1201px){.about-services .about-service-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:680px){.bsm-gallery .project:nth-child(2) .project-image>img{height:auto}}

/* 1.0.8 CTA rows with a text link: link text matches the text beside it and shares its baseline (filled/outline buttons unchanged) */
.services-closing>.text-link{font-size:17px;line-height:1.85}
@media(min-width:681px){.services-closing:has(>.text-link){align-items:baseline}}

/* 1.0.13 Home: the big hero headline is a <p> styled exactly like the old hero H1; the H1 is the intro heading, styled exactly like the h2 it was */
.hero .hero-display{color:white;font-size:clamp(58px,5.9vw,92px);font-weight:400;letter-spacing:-.055em;line-height:1.1;max-width:850px;text-shadow:0 2px 24px #03162a30}
.hero .hero-display span{color:white}
@media(max-width:960px){.hero .hero-display{font-size:clamp(54px,7.4vw,72px)}}
@media(max-width:680px){.hero .hero-display{font-size:clamp(43px,10.7vw,67px);line-height:1.12}}
.section-heading .intro-h1{font-size:clamp(34px,3.5vw,56px);letter-spacing:-.045em;line-height:1.2;max-width:1150px}
@media(max-width:680px){.section-heading .intro-h1{font-size:34px}}
/* 1.0.13 Home quote section: the 300px Turnstile box made the grid column 348px and the page 10px too wide on 360px phones */
.consultation-grid>*{min-width:0}
