:root{--service-accent:#79d9e0}html{scroll-padding-top:110px}body{font-size:16px}.footer-partners{display:none}.site-credit{padding:20px 16px;text-align:center;background:#061522;color:#dce9f1;font-size:1rem}.site-credit a{color:#78dce6;text-decoration:underline}.footer-bottom,.footer-col a,.footer-brand p,.review-location,.review-author,.breadcrumbs,.area-hero-caption,.area-food-image figcaption,.service-visual figcaption{font-size:max(.875rem,14px)!important}.site-header .header-cta,.site-header .header-nav a{font-size:.9rem}.rain-host{position:relative;isolation:isolate;overflow:hidden}.rain-host>.container{position:relative;z-index:2}.rain-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.55}.area-hero>.rain-canvas{z-index:-1}.hero>.rain-canvas{z-index:1}.motion-toggle{position:fixed;bottom:16px;right:18px;z-index:950;background:#10334c;color:#fff;border:1px solid #83a9ba;border-radius:24px;padding:10px 16px;cursor:pointer;font:600 .9rem inherit;box-shadow:0 4px 20px #0002}.service-story-list{display:grid;gap:48px}.service-story{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border-radius:18px;overflow:hidden;background:#fff;border:1px solid #dbe6ed;box-shadow:0 10px 32px #143e5510;scroll-margin-top:110px}.service-story:nth-child(even) .service-visual{order:2}.service-story:nth-child(even) .service-story-copy{order:1}.service-story-copy{padding:40px;align-self:center}.service-story-copy h2{font-size:clamp(1.6rem,2.5vw,2.1rem);margin-bottom:14px}.service-story-copy .btn{white-space:normal;margin-top:14px;text-transform:none;font-size:1rem;line-height:1.5}.service-tag{font-size:1.18rem;font-weight:650;color:#176780}.service-visual{position:relative;height:100%;min-width:0;margin:0;overflow:hidden}.service-visual img{height:100%;width:100%;min-height:320px;object-fit:cover}.service-visual figcaption{position:absolute;bottom:10px;left:10px;padding:5px 9px;background:#091b2de0;color:#fff;border-radius:4px;font-size:.875rem}.service-landing-hero{background:#092337;padding:160px 0 65px;color:#d4e6ef}.service-landing-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:54px}.service-landing-grid h1{font-size:clamp(2.4rem,4vw,3.5rem);letter-spacing:-.035em;color:#fff;margin-bottom:24px}.service-landing-grid h1 span{color:#74d5df}.service-landing-grid .area-eyebrow{color:#74d5df}.service-landing-grid .service-tag{color:#fff}.service-landing-grid .service-visual{border-radius:18px;max-height:600px;min-height:440px}.service-landing-grid .service-visual img{min-height:440px}.emergency-inline{font-size:1rem!important;margin-top:25px!important;color:#fff}.emergency-inline a{color:#8de9ec}.service-checklist{list-style:none}.service-checklist li{position:relative;padding-left:26px;margin:15px 0}.service-checklist li:before{content:'✓';position:absolute;left:0;color:#177c90;font-weight:800}.service-prep{list-style:decimal;padding-left:28px}.service-prep li{padding-left:12px;margin-bottom:20px;line-height:1.8}.service-prep li::marker{font-weight:800;color:#177b91}.service-process{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:25px}.service-process li{display:flex;gap:23px;padding:30px;border:1px solid #dae5ec;border-radius:14px;background:#fff}.step-count{font-size:1.5rem;font-weight:800;color:#1b7891}.service-process h3{margin-bottom:14px}.service-process p{margin:0}.has-scroll-effects [data-enter]{transition:opacity .65s ease,transform .7s cubic-bezier(.2,.7,.3,1);opacity:0;transform:translateX(-42px)}.has-scroll-effects [data-enter="right"]{transform:translateX(42px)}.has-scroll-effects [data-enter].entered{opacity:1;transform:none}.service-area-map{background:#0a2336;color:#d7e8f1;padding:65px 0}.service-area-map h2{color:white;margin:15px 0}.service-area-map .area-eyebrow{color:#7de4e7}.service-area-map>.container{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center}.map-window{height:360px;border-radius:15px;overflow:hidden;background:#dce7eb}.map-window iframe{display:block;width:100%;height:100%;border:0}.emergency-badge{display:inline-flex;align-items:center;gap:9px;border:1px solid #6faaa6;border-radius:30px;color:#b9ffdf;padding:8px 16px;font-weight:700}.emergency-badge:before{content:'';width:8px;height:8px;background:#86e5b3;border-radius:50%}.service-area-map .map-link{display:block;color:#b9eef0;font-weight:650;margin-top:22px}.review-flow{padding:60px 0;background:#edf4f7;overflow:hidden}.review-flow .container h2{margin-bottom:12px}.review-flow-track{display:flex;gap:24px;overflow-x:auto;scrollbar-width:none;scroll-behavior:auto;padding:26px max(16px,calc((100vw - 1200px)/2));position:relative}.review-flow-track::-webkit-scrollbar{display:none}.review-flow-track:focus-visible{outline:3px solid #23889b;outline-offset:-4px}.review-flow-card{flex:0 0 355px;padding:28px;background:#fff;border:1px solid #d9e5ec;border-radius:14px;white-space:normal;color:#344958}.review-flow-card blockquote{font-size:1.03rem;line-height:1.8;margin:0 0 22px}.review-flow-card cite{font-style:normal;font-weight:800;color:#153d51}.review-flow-card .review-city{display:block;margin-top:3px;color:#456577}.review-flow .review-origin{font-size:1rem;color:#526d7c}.effects-paused [data-enter]{transform:none!important;opacity:1!important}.effects-paused .rain-canvas{display:none}.effects-paused .marquee-track,.effects-paused .carousel-track{animation-play-state:paused!important}.effects-paused .hero-bg{animation:none!important}.service-card .service-visual,.carousel-card .service-visual{height:210px}.service-card .service-visual img,.carousel-card .service-visual img{min-height:0;height:100%}
@media(max-width:900px){.service-story-copy{padding:28px}.service-landing-grid{gap:28px}.service-area-map>.container{gap:25px}.service-process li{padding:24px}}
@media(max-width:640px){.service-story-list{gap:28px}.service-story{grid-template-columns:1fr}.service-story:nth-child(even) .service-visual,.service-story:nth-child(even) .service-story-copy{order:initial}.service-visual img{min-height:0;height:265px}.service-story-copy{padding:27px}.service-landing-hero{padding:130px 0 45px}.service-landing-grid{grid-template-columns:1fr;gap:32px}.service-landing-grid .service-visual{min-height:0;height:290px}.service-landing-grid .service-visual img{min-height:0;height:290px}.service-process{grid-template-columns:1fr}.service-area-map>.container{grid-template-columns:1fr}.service-area-map{padding:48px 0}.map-window{height:300px}.review-flow-card{flex-basis:85vw;max-width:355px}.review-flow-track{padding-left:16px;padding-right:16px}.motion-toggle{bottom:70px;right:12px;font-size:.85rem;padding:8px 12px}.site-credit{padding-bottom:90px}.has-scroll-effects [data-enter]{transform:translateX(-22px)}.has-scroll-effects [data-enter="right"]{transform:translateX(22px)}.service-page .btn{white-space:normal}}
@media(prefers-reduced-motion:reduce){.rain-canvas,.motion-toggle{display:none!important}[data-enter]{opacity:1!important;transform:none!important;transition:none!important}.review-flow-track [data-loop-clone]{display:none}.hero-bg,.marquee-track,.carousel-track{animation:none!important}.review-flow-track{scroll-behavior:auto}*{scroll-behavior:auto!important}}

.estimate-email-note{margin-top:18px;font-size:1rem;line-height:1.6;color:#385468}.area-directory-card[hidden]{display:none!important}

.oriented-photo{position:relative;overflow:hidden}.oriented-hero{position:absolute;inset:0;z-index:-2}.oriented-card{height:215px}.oriented-photo img{position:absolute!important;left:50%!important;top:50%!important;width:var(--photo-height)!important;height:var(--photo-width)!important;max-width:none!important;object-fit:cover;transform:translate(-50%,-50%) rotate(90deg)}@media(max-width:640px){.oriented-card{height:220px}}

.home-service-stories{margin-top:32px}.home-service-stories .service-story-copy p{line-height:1.8}.home-service-stories .service-story-copy .area-eyebrow{color:#176780}
.services-carousel{margin:32px 0 10px;overflow:hidden}.services-carousel-track{display:flex;gap:24px;overflow-x:auto;scrollbar-width:none;scroll-behavior:auto;padding:22px max(20px,calc((100vw - 1200px)/2));position:relative}.services-carousel-track::-webkit-scrollbar{display:none}.services-carousel-track:focus-visible{outline:3px solid #137d96;outline-offset:-5px}.services-carousel-card{flex:0 0 355px;border:1px solid #dbe6ed;border-radius:18px;overflow:hidden;background:white;box-shadow:0 10px 28px #10354b15;display:flex;flex-direction:column}.services-carousel-card .service-visual{height:230px;flex:none}.services-carousel-card .service-visual img{width:100%;height:230px;min-height:0;object-fit:cover}.services-carousel-card>div{padding:26px;display:flex;flex-direction:column;flex:1}.services-carousel-card h3{font-size:1.4rem;line-height:1.3;min-height:3.6em;margin-bottom:12px}.services-carousel-card h3 a{color:#17364a}.services-carousel-card p{font-size:1rem;line-height:1.6;min-height:3.2em;margin:0 0 24px}.services-card-link{font-weight:750;color:#09758a;margin-top:auto}.services-carousel-card .service-visual figcaption{font-size:14px!important}.homecraft-inline{display:inline-block;margin-top:25px;color:#86e7ef;font-weight:700}.homecraft-handoff{padding:20px;background:#e5f4f6;border-left:4px solid #138397;margin-bottom:25px}.homecraft-handoff[hidden]{display:none}.site-header .header-inner{max-width:1420px;gap:22px}.site-header .header-nav{gap:2px}.site-header .header-nav a{padding:8px 10px;font-size:.86rem;white-space:nowrap}.site-header .homecraft-nav-link{text-transform:none;font-size:1rem;font-weight:800}.site-header .header-logo{flex-shrink:0}.site-header .header-logo img{max-width:200px}.mobile-nav{max-height:calc(100dvh - 72px);overflow-y:auto}.mobile-nav .homecraft-nav-link{text-transform:none;font-weight:800}@media(min-width:1024px) and (max-width:1179px){.site-header .header-nav{display:none}.site-header .hamburger{display:flex}}@media(min-width:1180px){.site-header .hamburger{display:none}.site-header .header-nav{display:flex}}@media(max-width:640px){.services-carousel-card{flex-basis:85vw;max-width:355px}.services-carousel-track{padding-left:16px;padding-right:16px}.services-carousel-card h3{min-height:0}.services-carousel-card .service-visual,.services-carousel-card .service-visual img{height:210px}}@media(prefers-reduced-motion:reduce){.services-carousel-track [data-loop-clone]{display:none}.services-carousel-track{scroll-behavior:auto}}
/* Audit improvements: keyboard access, stable image sizing and small screens. */
.skip-link{position:fixed;top:8px;left:12px;z-index:10001;padding:14px 20px;background:#fff;color:#082638;border:3px solid #16758d;border-radius:6px;transform:translateY(-160%);font-weight:700}.skip-link:focus{transform:none}main:focus{outline:none}:focus-visible{outline:3px solid #1c839a;outline-offset:4px}img{max-width:100%}.estimate-preview{margin-top:28px;padding:24px;background:#eff6f8;border:1px solid #c8dde5;border-radius:12px}.estimate-preview[hidden]{display:none}.estimate-preview textarea{width:100%;font:inherit;font-size:16px;margin:12px 0;resize:vertical}.estimate-preview .area-actions{display:flex;flex-wrap:wrap;gap:12px}.estimate-preview p{overflow-wrap:anywhere}.estimate-preview h3{scroll-margin-top:130px}.hero h1{font-size:clamp(2.3rem,5.2vw,4.6rem)}.header-logo img{height:auto}.services-carousel-card img{aspect-ratio:3/2}.form-group input,.form-group select,.form-group textarea{font-size:16px}.area-jump a{min-height:44px;display:inline-flex;align-items:center}.footer-col a{padding-top:5px;padding-bottom:5px}.area-food-image img{height:auto}
@media(max-width:640px){.hero h1{font-size:clamp(2rem,9vw,3rem)}.estimate-preview{padding:18px}.estimate-preview .btn{width:100%;text-align:center}.motion-toggle{min-height:44px}.service-story-copy{padding:26px}.service-process li{min-width:0}.area-breadcrumbs,.breadcrumbs{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.reveal{opacity:1;transform:none}.has-reveal-effects .reveal:not(.visible){opacity:0;transform:translateY(24px)}.has-reveal-effects .hero .reveal{opacity:1;transform:none}.effects-paused .reveal{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.has-reveal-effects .reveal:not(.visible){opacity:1;transform:none}}

.btn{white-space:normal;max-width:100%;text-align:center;justify-content:center}.ba-handle:focus-visible{outline:4px solid #ff8c00;outline-offset:4px}.project-info>a{display:inline-block;margin-top:12px;font-weight:700;text-decoration:underline;min-height:44px}

.service-story-list{overflow-x:clip}
