/* Ward's October 15 review direction: warm cream, blue identity, authentic photos. */
:root{--w-bg:#faf7f0;--w-ink:#203448;--w-muted:#52616a;--w-blue:#315e7b;--w-line:#20344826;--primary:#234e6b;--primaryLight:#315e7b;--secondary:#f0e9dd;--blue-light:#315e7b}
.ward-redesign{background:#faf7f0;color:#203448;padding-bottom:100px}
.ward-redesign :focus-visible{outline-color:#315e7b}
.w-header{background:#faf7f0f5;border-color:#20344826}
.w-logo img{filter:brightness(0) saturate(100%) invert(17%) sepia(17%) saturate(1505%) hue-rotate(164deg) brightness(96%) contrast(92%)}
.w-desktop a,.w-service-menu summary,.w-service-flyout strong{color:#203448}
.ward-cms-menu .sub-menu,.w-service-flyout{background:#fffdf8;border-color:#20344826;box-shadow:0 12px 35px #20344817}
.w-menu-toggle{color:#203448;border-color:#20344855}
.w-mobile,.w-mobile a{color:#203448}
.w-hero .w-outcome-heading span,.w-imagine h2 span,.w-story h2 span{color:#386783}
.w-hero h1.w-eyebrow,.w-eyebrow{color:#315e7b}
.ward-redesign .w-button,.ward-secondary main a:is([href="/contact/"],[href="/online-estimator/"]),.ward-secondary main :is(.pc-button-solid,.pc-button-transparent),.ward-secondary main .button-container a{background:#234e6b!important;color:#fffdf8!important;border-color:#234e6b!important;box-shadow:0 5px 18px #20344818}
.ward-redesign .w-button:hover,.ward-secondary main a:is([href="/contact/"],[href="/online-estimator/"]):hover{background:#183d57!important;color:#fffdf8!important}
.w-proof-line,.w-pull-quote{color:#344b5c!important}.w-pull-quote>span{color:#596c79}
.w-stars{color:#986526}.w-service,.w-area-card,.w-local-grid article,.w-resource-grid article{background:#fffdf8;border-color:#20344826}
.w-review-section{background:#eee6da;border-color:#20344826}
.w-quote{background:#fffdf8;color:#203448;box-shadow:0 6px 25px #20344808}
.w-quote blockquote strong{color:#203448}.w-avatar{background:#e5edf0;color:#234e6b}
.w-note,.w-comparison-note{color:#52616a!important}
.w-gallery figcaption,.w-image-label,.w-other-services>span,.w-imagine .w-muted,.w-steps li>span{color:#52616a}
.w-promise{background:linear-gradient(125deg,#eee7db,#f6f1e8);border-color:#315e7b55;box-shadow:0 16px 45px #2034480c}
.w-warranty-number{color:#234e6b}.w-warranty-seal svg{stroke:#315e7b}.w-promise .w-warranty-terms{color:#52616a}
.w-faq summary span{color:#315e7b}.w-final{background:#eee6da;border-color:#20344826}
.w-map{background:#eee6da}.w-load-map{background:linear-gradient(125deg,#e5ecea,#ede5d8);color:#203448}.w-load-map>span:not(.w-map-mark){color:#52616a}.w-map-mark{border-color:#315e7b55}
.w-footer{background:#eee7dc;border-color:#20344826}.w-footer h2{color:#203448}.w-footer-grid>div>a:not(.w-logo),.w-footer-bottom,.w-area-links{color:#52616a}
.ward-secondary{--bodyTextColor:#52616a;--headerColor:#203448;--bodyTextColorWhite:#52616a;--topperColor:#315e7b}
.ward-secondary main p,.ward-secondary main li{color:#52616a!important}.ward-secondary main .pc-topper{color:#315e7b!important}.ward-secondary main .pc-title{color:#203448!important}
.ward-secondary main :is(.pc-item,.review){background:#fffdf8!important;border-color:#20344826}.ward-secondary main .review p{color:#52616a!important}
.ward-secondary main #cta-1235{background:#eee6da!important}.ward-secondary main #cta-1235::before{background:#eee6da!important;opacity:1}.ward-secondary main #int-hero .pc-background{opacity:.08}
.ward-local-guide,.ward-seo-faq{color:#203448}.ward-local-guide h2,.ward-seo-faq h2{color:#203448}.ward-local-guide a,.ward-cms a{color:#315e7b}.ward-seo-faq details{border-color:#20344826}
.ward-local-guide[data-layout="cards"] li,.ward-cms-card{background:#fffdf8;border-color:#20344826}.ward-local-guide[data-layout="steps"] li,.ward-local-guide[data-layout="brief"]{border-color:#315e7b}
/* Text sitting over authentic project photography retains its dark image scrim. */
.w-showcase-copy,.w-showcase-copy p,.w-showcase-copy a{color:#fff!important}.w-showcase-copy .w-eyebrow{color:#ffffffe0}.w-media-caption{color:#ffffffe0}
.ward-estimator-shortcut{position:fixed;left:22px;bottom:22px;z-index:49;display:flex;flex-direction:column;gap:5px;max-width:245px;padding:16px 22px;background:#234e6b;color:#fffdf8!important;border:1px solid #ffffff60;border-radius:18px;box-shadow:0 8px 28px #20344830;line-height:1.4}
.ward-estimator-shortcut strong{font-size:14px;font-weight:700}.ward-estimator-shortcut span{font-size:12px;color:#eef3f6}.ward-estimator-shortcut:hover{background:#183d57}.ward-estimator-shortcut:focus-visible{outline:3px solid #315e7b;outline-offset:5px}
@media(max-width:700px){.ward-estimator-shortcut{left:12px;bottom:16px;max-width:172px;padding:12px 15px;border-radius:15px}.ward-estimator-shortcut strong{font-size:12px}.ward-estimator-shortcut span{font-size:11px}.ward-redesign{padding-bottom:96px}}
@media(prefers-reduced-motion:reduce){.ward-estimator-shortcut{transition:none}}
/* Cream contrast repair: legacy page rules include white headings and dark overlays.
   Give every text surface an explicit pair, while preserving photo-hero contrast. */
.ward-secondary main :is(h1,h2,h3,h4,h5,h6,.title,.pc-h3,.pc-header,.pc-name,.pc-reviewer){color:#203448!important}
.ward-secondary main :is(.pc-job,.pc-desc,.name,.desc){color:#52616a!important;opacity:1!important}
.ward-secondary main #int-hero h1{color:#fffdf8!important;text-shadow:0 2px 12px #0009}
.ward-secondary main #int-hero p{color:#fffdf8!important}
.ward-secondary main #int-hero .pc-background{opacity:1}
.ward-secondary main #cta{background:#f0e9dd!important}
.ward-secondary main #cta::before{background:#f0e9dd!important;opacity:1}
.ward-secondary main #cta :is(.title,h2){color:#203448!important}
.ward-secondary main #cta-1235 .pc-content::before{background:#eee6da;outline-color:#315e7b26}
.ward-secondary main #cta-1235 :is(.pc-title,.pc-text,.pc-topper){position:relative;z-index:2}
.ward-secondary main :is(.gallery-tile,.gallery-tile .label){color:#fffdf8!important}
.ward-secondary main .gallery-tile .label{background:#102842e6}
.ward-secondary main :is(input,textarea,select){color:#203448;background-color:#fffdf8}
.ward-secondary main :is(input,textarea)::placeholder{color:#596b77;opacity:1}
.ward-secondary main :is(.pc-button-solid,.pc-button-transparent,.blog-link){background:#234e6b!important;color:#fffdf8!important}
/* Hovered service cards used a dark fill with cream-theme dark text. */
.ward-secondary main .pc-item:hover{background:#edf1f2!important}
.ward-secondary main .pc-item:hover :is(.pc-h3,.pc-item-text){color:#203448!important}
/* Solid labels stay readable independently of the project photo underneath. */
.w-showcase-copy .w-eyebrow,.w-media-caption{color:#fff!important;text-shadow:0 1px 5px #000}
.w-gallery .w-image-label{background:#102842e6;color:#fffdf8}
/* Contact details sit on a photograph, so they need the inverse surface pair. */
.ward-secondary main #pc-contact .pc-right-section :is(.pc-header,.pc-link){color:#fffdf8!important;opacity:1}
.ward-secondary main #pc-contact .pc-bg-picture::before{background:#102842d9;opacity:1}
.ward-secondary main #reviews .review-name{background-color:#234e6b;color:#fffdf8!important}
