body.specials-background{background:linear-gradient(100deg,var(--wallpaper-left,#f0ddbc),var(--wallpaper-right,#fbf5e9) 80%)}
.seasonal-wallpaper{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.seasonal-wallpaper span{position:absolute;top:-50px;left:var(--wall-x);font-size:var(--wall-size);color:#917750;opacity:0;animation:season-wall-fall var(--wall-speed) linear var(--wall-delay) infinite}
body[data-wallpaper-season="spring"] .seasonal-wallpaper span{color:#b58097}body[data-wallpaper-season="summer"] .seasonal-wallpaper span{color:#d6a840}body[data-wallpaper-season="winter"] .seasonal-wallpaper span{color:#6394a8}
@keyframes season-wall-fall{0%{transform:translate3d(0,-40px,0) rotate(0);opacity:0}12%,80%{opacity:.18}100%{transform:translate3d(35px,calc(100vh + 90px),0) rotate(160deg);opacity:0}}
body.wallpaper-paused .seasonal-wallpaper span,body.wallpaper-hidden .seasonal-wallpaper span{animation-play-state:paused}
.seasonal-wallpaper-toggle{display:block;margin-top:20px;padding:8px 12px;font:inherit;font-size:12px;color:#586451;background:#ffffff60;border:1px solid #81917755;border-radius:20px}
@media(max-width:600px){.seasonal-wallpaper span:nth-child(even){display:none}}
@media(prefers-reduced-motion:reduce){.seasonal-wallpaper span{animation:none;top:var(--wall-rest);opacity:.12}.seasonal-wallpaper-toggle{display:none}}
.seasonal-wallpaper span svg{display:block;width:1em;height:1em}
body[data-wallpaper-season="fall"] .seasonal-wallpaper span{animation-name:fall-wall-bright}@keyframes fall-wall-bright{0%{transform:translate3d(0,-40px,0) rotate(0);opacity:0}12%,80%{opacity:.48}100%{transform:translate3d(35px,calc(100vh + 90px),0) rotate(160deg);opacity:0}}@media(prefers-reduced-motion:reduce){body[data-wallpaper-season="fall"] .seasonal-wallpaper span{animation:none;opacity:.3}}
.seasonal-wallpaper span img{display:block;width:1.2em;height:1.2em;object-fit:contain}
.fall-leaf img{display:block;width:100%;height:100%;object-fit:contain}
body.seasonal-site-background{position:relative;isolation:isolate;background:linear-gradient(100deg,var(--wallpaper-left,#f0ddbc),var(--wallpaper-right,#fbf5e9) 80%)}footer .seasonal-wallpaper-toggle{margin:0;flex-shrink:0}
.seasonal-wallpaper .wallpaper-edge-left{left:var(--edge-offset);right:auto}
.seasonal-wallpaper .wallpaper-edge-right{left:auto;right:var(--edge-offset)}
.seasonal-wallpaper{--wall-drift:8px}
.seasonal-wallpaper .wallpaper-edge-right{--wall-drift:-8px}
@keyframes season-wall-fall{0%{transform:translate3d(0,-40px,0) rotate(0);opacity:0}12%,80%{opacity:.18}100%{transform:translate3d(var(--wall-drift),calc(100vh + 90px),0) rotate(160deg);opacity:0}}
@keyframes fall-wall-bright{0%{transform:translate3d(0,-40px,0) rotate(0);opacity:0}12%,80%{opacity:.48}100%{transform:translate3d(var(--wall-drift),calc(100vh + 90px),0) rotate(160deg);opacity:0}}
@media(max-width:600px){.seasonal-wallpaper span:nth-child(even){display:block}.seasonal-wallpaper span:nth-child(n+15){display:none}.seasonal-wallpaper .wallpaper-edge-left{left:-6px}.seasonal-wallpaper .wallpaper-edge-right{right:-6px}.seasonal-wallpaper span img{width:min(1.2em,22px);height:min(1.2em,22px)}.seasonal-wallpaper{--wall-drift:2px}.seasonal-wallpaper .wallpaper-edge-right{--wall-drift:-2px}}
/* Fill the available outer margins, stopping at the 1400px content edge. */
.seasonal-wallpaper{--leaf-margin:max(18px,calc((100vw - 1400px)/2 - 60px))}
.seasonal-wallpaper .wallpaper-edge-left{left:calc(var(--leaf-margin) * var(--edge-ratio,0))}
.seasonal-wallpaper .wallpaper-edge-right{right:calc(var(--leaf-margin) * var(--edge-ratio,0))}
@media(max-width:600px){.seasonal-wallpaper .wallpaper-edge-left{left:-6px}.seasonal-wallpaper .wallpaper-edge-right{right:-6px}}
/* Let informational panels share the live seasonal page background. */
body.seasonal-site-background :is(.why-book-grid article,.benefit-grid article,.checklist-grid article,.customer-reviews,.reviews-empty,.review-slideshow,.photo-detail-layout figure,.career-intro-note,.career-success,.leave-review-box,.live-review-card,.business-summary>div,.business-sidebar,.business-location-card,.business-saved-location-box,.contract-card,.contract-job,.quote-history-card,.cleaning-visit-card,.career-form fieldset){background:transparent}
body.seasonal-site-background .account-panel:not(.savings-special):not(.fall-special):not(.winter-special):not(.spring-special):not(.summer-special):not(.newyear-special){background:transparent}
body.seasonal-site-background :is(.why-grid article,.why-book article,.scope-note,.task-list,.city-panel){background:transparent}
/* Gentle seasonal surfaces retain the card shapes and soften contrast. */
body.seasonal-site-background :is(.why-grid article,.why-book-grid article,.benefit-grid article,.checklist-grid article,.reviews-empty,.review-slideshow,.photo-detail-layout figure,.career-intro-note,.career-success,.leave-review-box,.live-review-card,.business-summary>div,.business-sidebar,.business-location-card,.business-saved-location-box,.contract-card,.contract-job,.quote-history-card,.cleaning-visit-card,.career-form fieldset,.scope-note,.task-list,.city-panel){background:color-mix(in srgb,var(--wallpaper-left,#f0ddbc) 35%,#fffaf2 65%);border-color:color-mix(in srgb,var(--wallpaper-left,#f0ddbc) 65%,#7e8276 35%);box-shadow:0 3px 14px #5e543908}
body.seasonal-site-background .customer-reviews{background:linear-gradient(100deg,color-mix(in srgb,var(--wallpaper-left,#f0ddbc) 78%,#fffaf2 22%),var(--wallpaper-right,#fbf5e9) 85%)}
body.seasonal-site-background .account-panel:not(.savings-special):not(.fall-special):not(.winter-special):not(.spring-special):not(.summer-special):not(.newyear-special){background:color-mix(in srgb,var(--wallpaper-left,#f0ddbc) 35%,#fffaf2 65%);border-color:color-mix(in srgb,var(--wallpaper-left,#f0ddbc) 65%,#7e8276 35%)}
body.seasonal-site-background :is(.service-grid article,.gallery-grid figure,.process .steps>div,.policy-card,.faq details,.faq-item,.service-card,.policy-section){background:color-mix(in srgb,var(--wallpaper-left,#f0ddbc) 35%,#fffaf2 65%);border-color:color-mix(in srgb,var(--wallpaper-left,#f0ddbc) 65%,#7e8276 35%);box-shadow:0 3px 14px #5e543908}
body.seasonal-site-background .about-story{background:linear-gradient(100deg,color-mix(in srgb,var(--wallpaper-left,#f0ddbc) 78%,#fffaf2 22%),var(--wallpaper-right,#fbf5e9) 85%)}
body.seasonal-site-background .gallery-grid figure>a{background:color-mix(in srgb,var(--wallpaper-left,#f0ddbc) 50%,#fffaf2 50%)}
body.seasonal-site-background .gallery-grid figure{border:1px solid color-mix(in srgb,var(--wallpaper-left,#f0ddbc) 65%,#7e8276 35%);box-shadow:0 3px 14px #5e543908}
body.seasonal-site-background .gallery-grid figcaption{background:color-mix(in srgb,var(--wallpaper-left,#f0ddbc) 35%,#fffaf2 65%)}
