/* A shared visual language; the action and surface differ for every service. */
.service-card{min-height:0;padding:20px;gap:0}.service-card-top{display:flex;align-items:center;justify-content:space-between;min-height:26px}.service-card .card-index{margin:0}.service-card .card-arrow{position:static;width:30px;height:30px}.service-card .service-visual{height:134px;margin:0 -7px 7px}.service-card-copy h3{font-size:23px;margin:0 0 10px;line-height:1.22}.service-card-copy p{font-size:14px;line-height:1.6;margin:0 0 15px}.service-card>.text-link{margin-top:auto;gap:6px}.service-card>.text-link svg{width:13px;height:13px}.service-visual{--art-base:#e7eef6;--art-side:#b6c7da;--art-top:#f4f8fd;--art-grid:#b6c7dc;--art-window:#f7fbff;position:relative;width:100%;height:100%;isolation:isolate;transition:filter .25s}.service-visual svg{width:100%;height:100%;overflow:visible;display:block;stroke-linejoin:round;stroke-linecap:round}.art-ground{fill:#468ce30a}.art-base{fill:var(--art-base);stroke:var(--art-grid);stroke-width:1.2}.art-side{fill:var(--art-side);stroke:var(--art-grid);stroke-width:1}.art-top{fill:var(--art-top);stroke:var(--art-grid);stroke-width:1}.art-grid{stroke:var(--art-grid);stroke-width:1;opacity:.7}.art-window{fill:var(--art-window);stroke:var(--art-grid);stroke-width:2}.art-roof{fill:var(--art-side);stroke:var(--art-grid)}.art-tool{fill:#e4edf8;stroke:#627b99;stroke-width:1.5}.art-tool-handle{fill:#315c91;stroke:#789ec9;stroke-width:1.5}.art-hose{stroke:#5e7694;stroke-width:3;fill:none}.art-roller{fill:#cbe5ff;stroke:#0068de;stroke-width:1.4}.art-spray{stroke:#4b9bff;stroke-width:2;stroke-dasharray:3 5}.art-spray-dot{fill:#58a7ff}.art-tool-sweep{animation:tool-sweep 5.2s infinite}.art-coat-reveal{transform-origin:0 0;animation:coat-reveal 5.2s infinite}.art-spray,.art-spray-dot{animation:spray-pulse .6s infinite}.art-floor-reveal{transform-origin:0 40px;animation:floor-reveal 5.2s infinite}.art-floor-rule{animation:floor-rule 5.2s infinite}.art-brick-front{fill:#7cace5;stroke:#4d75a2;stroke-width:1}.art-brick-top{fill:#b5d7ff;stroke:#638ab8;stroke-width:1}.art-masonry-block{animation:block-build 6s infinite;animation-delay:calc(var(--block)*.32s)}.art-guide{stroke:#72a7e5;stroke-width:1;opacity:.45}.art-phase-one{animation:phase-one 6s infinite}.art-phase-two{animation:phase-two 6s infinite}.art-phase-three{animation:phase-three 6s infinite}.art-finish{animation:finish-room 6s infinite}.art-finish-wall{fill:var(--art-top);stroke:var(--art-grid);stroke-width:1}.art-room-seam{stroke:#7fa8d2;stroke-width:1}.art-check{stroke:#55a5ff;stroke-width:4;stroke-dasharray:50;stroke-dashoffset:50;animation:art-check 6s infinite}.art-room-roller{animation:room-roller 6s infinite}.service-visual *{animation-play-state:paused}.service-visual.is-running *{animation-play-state:running}.service-card:hover .service-visual{filter:drop-shadow(0 6px 9px #187aff12)}
[data-theme=dark] .service-visual{--art-base:#253548;--art-side:#1b293b;--art-top:#3c506a;--art-grid:#597491;--art-window:#152538}[data-theme=dark] .art-ground{fill:#0002}[data-theme=dark] .art-tool{fill:#b5cbe4;stroke:#5e83ad}[data-theme=dark] .art-brick-front{fill:#30639e}[data-theme=dark] .art-brick-top{fill:#64a4e7}[data-theme=dark] .art-roller{fill:#d2e9ff;stroke:#4d98ed}
.intro-service{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center}.service-hero-art{height:230px;max-width:440px;width:100%;justify-self:end}
@keyframes coat-reveal{0%,8%{transform:scaleX(0)}60%,88%,100%{transform:scaleX(1)}}
@keyframes tool-sweep{0%,8%{transform:translateX(0);opacity:0}13%{opacity:1}60%{transform:translateX(154px);opacity:1}70%,100%{transform:translateX(154px);opacity:0}}
@keyframes spray-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes floor-reveal{0%,8%{transform:scaleY(0)}65%,100%{transform:scaleY(1)}}
@keyframes floor-rule{0%,8%{transform:translateY(-26px);opacity:0}15%{opacity:1}65%{transform:translateY(34px);opacity:1}75%,100%{transform:translateY(34px);opacity:0}}
@keyframes block-build{0%,7%{opacity:0;transform:translateY(-12px)}13%,75%{opacity:1;transform:translateY(0)}92%,100%{opacity:0;transform:translateY(0)}}
@keyframes phase-one{0%,8%{opacity:0}25%,90%{opacity:1}100%{opacity:0}}
@keyframes phase-two{0%,24%{opacity:0}43%,90%{opacity:1}100%{opacity:0}}
@keyframes phase-three{0%,42%{opacity:0}61%,90%{opacity:1}100%{opacity:0}}
@keyframes finish-room{0%,60%{opacity:0}78%,90%{opacity:1}100%{opacity:0}}
@keyframes art-check{0%,72%{stroke-dashoffset:50;opacity:0}82%,93%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes room-roller{0%,32%{transform:translateY(0);opacity:0}38%{opacity:1}64%{transform:translateY(35px);opacity:1}73%,100%{transform:translateY(35px);opacity:0}}
@media(max-width:767px){.service-grid{gap:12px}.service-card{padding:15px;border-radius:19px}.service-card .service-visual{height:98px;margin:-5px -5px 5px;width:calc(100% + 10px)}.service-card .card-arrow{width:26px;height:26px}.service-card-copy h3{font-size:19px;line-height:1.24;margin-bottom:8px}.service-card-copy p{font-size:13px;line-height:1.55;margin-bottom:13px}.service-card>.text-link{font-size:12px}.intro-service{grid-template-columns:1fr;gap:18px}.service-hero-art{height:180px;justify-self:center;max-width:340px}.service-card-top{min-height:22px}.service-card .card-index{font-size:11px}}
@media(max-width:359px){.service-card{padding:12px}.service-card-copy h3{font-size:17px}.service-card-copy p{font-size:12px}.service-card .service-visual{height:87px}}
@media(prefers-reduced-motion:reduce){.service-visual *{animation:none!important}.art-coat-reveal,.art-floor-reveal{transform:none}.art-tool-sweep,.art-floor-rule,.art-room-roller{opacity:0}.art-masonry-block,.art-finish,.art-room-wall,.art-room-floor{opacity:1}.art-check{stroke-dashoffset:0;opacity:1}}
.service-card-top{position:absolute;z-index:1;inset:18px 18px auto}.service-card .service-visual{margin-top:-4px}
@media(max-width:767px){.service-card-top{inset:13px 13px auto}.service-card .service-visual{height:90px;margin-top:0}.service-card-copy p{margin-bottom:12px}}
