/* FLOWTECH services: photography, editorial type and a persistent chapter guide. */
.services-page{background:#f7f9f8;--svc-accent:#1365b2;--svc-muted:#536a74}
.desktop-nav a[aria-current=page],.mobile-menu a[aria-current=page]{color:var(--blue)}
.svc-hero{padding-top:165px;padding-bottom:64px}.svc-kicker{font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--svc-accent)}
.svc-hero h1{font-size:clamp(48px,6.05vw,88px);font-weight:700;line-height:1.4;letter-spacing:-.055em;margin:21px 0 36px}.svc-hero h1>span{color:var(--svc-accent);padding-left:1em}
.svc-hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px}.svc-hero-bottom>p{font-size:15px;line-height:2.1}.svc-hero-contact{display:grid;grid-template-columns:1fr 35px;column-gap:38px;padding:16px 0 10px;border-bottom:1px solid #7897a8;min-width:315px}.svc-hero-contact>span{font-size:12px;color:var(--svc-muted)}.svc-hero-contact strong{font-size:18px;font-weight:500;line-height:2}.svc-hero-contact i{grid-column:2;grid-row:1/3;align-self:center;font:32px Arial;font-style:normal;transition:transform .4s}.svc-hero-contact:hover i{transform:translate(4px,-4px)}
.svc-index{position:sticky;top:0;z-index:45;background:#102f3df5;color:#e7f0f2;backdrop-filter:blur(15px)}.svc-index>.section-wrap{display:grid;grid-template-columns:repeat(4,1fr)}.svc-index a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:24px 20px;font-size:14px;transition:background .3s,color .3s}.svc-index a:after{position:absolute;content:'';bottom:0;left:20px;right:20px;height:3px;transform:scaleX(0);transform-origin:left;background:#74d6df;transition:transform .45s var(--ease)}.svc-index a:hover,.svc-index a[aria-current=location]{color:#b0f1f4;background:#ffffff09}.svc-index a[aria-current=location]:after{transform:scaleX(1)}.svc-index i{font:19px Arial;font-style:normal;color:#83becd}
.svc-chapter{padding:110px 0 76px;scroll-margin-top:0}.svc-chapter-grid{display:grid;grid-template-columns:1fr 1.13fr;gap:46px 7%;align-items:center}.svc-copy h2{font-size:clamp(34px,3.05vw,48px);line-height:1.6;letter-spacing:-.045em;font-weight:700;margin:18px 0 22px}.svc-intro{font-size:14px;line-height:2.1;color:#39535f;max-width:33em}.svc-symptoms{margin-top:30px}.svc-symptoms h3,.svc-detail h3{font-size:12px;color:var(--svc-muted);font-weight:500;letter-spacing:.06em}.svc-symptoms ul{padding:0;list-style:none;margin:12px 0 0}.svc-symptoms li{position:relative;font-size:14px;line-height:1.85;padding-left:17px;margin-top:7px}.svc-symptoms li:before{content:'';position:absolute;left:0;top:.75em;width:5px;height:5px;background:#448ca7;border-radius:50%}
.svc-photo{margin:0;position:relative;align-self:stretch;min-height:490px;overflow:hidden;background:#dce5e8}.svc-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform 1.5s var(--ease)}.svc-photo.is-pending img{transform:scale(1.05)}.svc-photo figcaption{position:absolute;bottom:0;right:0;padding:7px 12px;font-size:10px;color:white;background:#102f3db0;letter-spacing:.03em}.svc-chapter--repair .svc-photo img{object-position:58% center}.svc-chapter--leak .svc-photo img{object-position:60% center}.svc-chapter--maintenance .svc-photo img{object-position:57% center}.svc-chapter--odor .svc-photo img{object-position:63% center}
.svc-detail{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.13fr;column-gap:7%;row-gap:22px;padding-top:28px;border-top:1px solid #cad9dd}.svc-detail p{font-size:13px;line-height:1.95;margin-top:10px;max-width:38em}.svc-detail>.text-link{grid-column:2;justify-self:start;font-size:13px;color:var(--svc-accent);gap:25px}.svc-chapter:nth-child(even){background:#eaf0f1}.svc-chapter:nth-child(even) .svc-copy{grid-column:2;grid-row:1}.svc-chapter:nth-child(even) .svc-photo{grid-column:1;grid-row:1}
.svc-facilities{padding-block:105px;display:grid;grid-template-columns:1fr 1.13fr;gap:7%}.svc-facilities h2{font-size:40px;line-height:1.6;font-weight:700;letter-spacing:-.04em;margin:15px 0 20px}.svc-facilities p:not(.svc-kicker){font-size:13px;line-height:2}.svc-facility-links{padding-top:15px}.svc-facility-links a{display:flex;justify-content:space-between;gap:20px;font-size:21px;padding:25px 0;border-bottom:1px solid #c7d8de;transition:color .3s}.svc-facility-links a:hover{color:var(--svc-accent)}.svc-facility-links span{font:24px Arial}
.svc-promise{background:#133c4a;color:#f6fafb;padding-block:95px}.svc-promise>.section-wrap{display:grid;grid-template-columns:1fr 1.13fr;gap:7%}.svc-promise .svc-kicker{color:#92d9e0}.svc-promise h2{font-size:48px;font-weight:700;line-height:1.6;letter-spacing:-.045em;margin:15px 0 24px}.svc-promise-heading>p:last-child{font-size:14px;color:#d4e7e9}.svc-process{list-style:none;margin:0;padding:10px 0 0;counter-reset:steps}.svc-process li{position:relative;padding:0 0 28px 40px;margin:0 0 27px;border-bottom:1px solid #ffffff28;counter-increment:steps}.svc-process li:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}.svc-process li:before{content:counter(steps);font:15px Arial;position:absolute;top:6px;left:0;color:#9fd2dd}.svc-process h3{font-size:21px;margin-bottom:10px}.svc-process p{font-size:13px;color:#c8dde2;line-height:2}
.svc-contact{padding-block:110px 100px;display:grid;grid-template-columns:.9fr 1.2fr;gap:7%;scroll-margin-top:0}.svc-contact h2{font-size:52px;font-weight:700;letter-spacing:-.04em;line-height:1.5;margin:14px 0 24px}.svc-contact-heading>p:last-child{font-size:13px}.svc-contact-methods h3{font-size:14px;font-weight:500}.svc-call{padding-top:6px}.svc-call>a{display:flex;align-items:center;justify-content:space-between;gap:12px;font:clamp(32px,3.35vw,49px)/1.6 Arial,sans-serif;letter-spacing:-.045em;margin:12px 0 7px}.svc-call>a>span{font:29px Arial}.svc-call p,.svc-line p,.svc-area{font-size:12px;color:var(--svc-muted);line-height:1.9}.svc-line{margin-top:30px;padding-block:27px;border-block:1px solid #cad9dd}.svc-line>a{font-size:24px;display:flex;justify-content:space-between;align-items:center;margin:12px 0;color:var(--svc-accent)}.svc-line>a>span{font:27px Arial}.svc-area{padding-top:20px}.svc-area>a{display:block;color:var(--svc-accent);margin-top:5px}.svc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.svc-hero{padding-top:185px;padding-bottom:75px}}
@media(max-width:1100px){.svc-chapter-grid,.svc-detail,.svc-facilities,.svc-promise>.section-wrap{column-gap:5%;grid-template-columns:1fr 1fr}.svc-index a{padding:23px 12px;font-size:12px}.svc-photo{min-height:450px}.svc-copy h2{font-size:34px}.svc-intro,.svc-symptoms li{font-size:13px}.svc-contact{grid-template-columns:1fr 1.1fr;gap:5%}.svc-contact h2{font-size:45px}}
@media(max-width:760px){.svc-hero{padding-top:120px;padding-bottom:42px}.svc-hero h1{font-size:clamp(34px,6.9vw,52px);margin:20px 0 26px;line-height:1.55}.svc-hero h1>span{padding-left:0}.svc-hero-bottom{display:block}.svc-hero-bottom>p{font-size:13px;line-height:2}.svc-hero-contact{min-width:0;width:100%;margin-top:26px;column-gap:20px}.svc-hero-contact strong{font-size:16px}.svc-hero-contact>span{font-size:11px}.svc-index>.section-wrap{width:100%;grid-template-columns:repeat(2,1fr);padding:0 18px}.svc-index a{padding:15px 9px;font-size:12px}.svc-index a:after{left:9px;right:9px;height:2px}.svc-index i{font-size:15px}.svc-chapter{padding:53px 0 43px;scroll-margin-top:75px}.svc-chapter-grid{grid-template-columns:1fr;gap:27px}.svc-copy h2{font-size:clamp(30px,6vw,40px);margin:12px 0 19px;line-height:1.6}.svc-kicker{font-size:12px}.svc-intro{max-width:none}.svc-symptoms{margin-top:24px}.svc-symptoms li{font-size:13px}.svc-photo{min-height:0;aspect-ratio:1.3;grid-row:2;width:calc(100% + 48px);margin-left:-24px}.svc-photo figcaption{font-size:9px;padding:5px 10px}.svc-chapter:nth-child(even) .svc-copy{grid-column:1;grid-row:1}.svc-chapter:nth-child(even) .svc-photo{grid-column:1;grid-row:2}.svc-detail{display:block;padding-top:0;border:0}.svc-detail>div+div{margin-top:22px}.svc-detail p{font-size:12px;margin-top:8px;max-width:none}.svc-detail>.text-link{margin-top:24px;font-size:12px}.svc-facilities{padding-block:58px;display:block}.svc-facilities h2{font-size:32px;margin:12px 0 15px}.svc-facilities p:not(.svc-kicker){font-size:12px}.svc-facility-links{padding-top:20px}.svc-facility-links a{font-size:18px;padding:22px 0}.svc-promise{padding-block:54px}.svc-promise>.section-wrap{display:block}.svc-promise h2{font-size:36px;margin:12px 0 20px}.svc-promise-heading>p:last-child{font-size:13px}.svc-process{padding-top:36px}.svc-process li{padding-left:30px;padding-bottom:22px;margin-bottom:22px}.svc-process h3{font-size:19px}.svc-process p{font-size:12px}.svc-contact{padding-block:58px;display:block;scroll-margin-top:75px}.svc-contact h2{font-size:40px;margin:12px 0 18px}.svc-contact-heading>p:last-child{font-size:12px}.svc-contact-methods{margin-top:34px}.svc-call>a{font-size:clamp(31px,8.4vw,45px)}.svc-contact-methods h3{font-size:13px}.svc-call p,.svc-line p,.svc-area{font-size:11px}.svc-line>a{font-size:21px}}
@media(min-width:601px) and (max-width:760px){.svc-photo{width:100%;margin-left:0;aspect-ratio:1.6}}
@media(prefers-reduced-motion:reduce){.services-page *{transition:none!important;animation:none!important}}
@media(min-width:761px) and (max-width:1000px){.svc-copy h2{font-size:clamp(24px,3.15vw,32px)}}
@media(max-width:760px){.svc-chapter--repair .svc-copy h2{font-size:clamp(25px,7vw,30px)}}
/* v0.11 — an open pipe, rendered in 3D specifically for the service introduction. */
.svc-hero{position:relative;padding-top:170px;padding-bottom:65px;min-height:740px}.svc-hero h1{font-size:clamp(39px,4.2vw,63px);width:54%;margin:22px 0 30px;line-height:1.55}.svc-hero h1>span{padding-left:0}.svc-hero-bottom{display:block;width:44%}.svc-hero-bottom>p{font-size:14px}.svc-hero-contact{max-width:330px;min-width:0;margin-top:25px}.svc-flow-experience{position:absolute;right:-35px;top:105px;width:58%;z-index:1}.svc-flow-stage{height:430px;position:relative;isolation:isolate}.svc-flow-stage:before{content:'';position:absolute;inset:12% 0 4%;z-index:-1;background:radial-gradient(ellipse at 56% 64%,#d5e9ec80,transparent 66%)}.svc-pipe-canvas{display:block;width:100%;height:100%;position:relative;z-index:1;opacity:0;transition:opacity .8s}.svc-flow-experience[data-render=ready] .svc-pipe-canvas{opacity:1}.svc-flow-fallback{position:absolute;inset:10% 5%;display:grid;place-content:center;background:radial-gradient(ellipse,#d5e8ec,transparent 70%);color:#206282;font-size:30px;line-height:1.8;letter-spacing:-.03em}.svc-flow-experience[data-render=ready] .svc-flow-fallback{display:none}.svc-flow-controls{display:flex;justify-content:center;gap:30px;margin:2px 20px 0}.svc-flow-controls button{position:relative;padding:14px 0;font-size:13px;color:#5b747e;transition:color .3s}.svc-flow-controls button:after{content:'';position:absolute;height:2px;bottom:3px;left:0;right:0;background:#1365b2;transform:scaleX(0);transition:transform .4s var(--ease)}.svc-flow-controls button[aria-pressed=true]{color:#1365b2}.svc-flow-controls button[aria-pressed=true]:after{transform:scaleX(1)}.svc-flow-controls button:disabled{opacity:.4;cursor:default}.svc-flow-caption{text-align:center;font-size:12px;color:#385e70;margin-top:14px}.svc-flow-note{text-align:center;font-size:10px;color:#788b93;margin-top:7px}.svc-motion.motion-toggle{position:absolute;inset:auto 35px 15px auto;z-index:3;width:32px;height:32px;margin:0;padding:0;color:#526c7c;font:15px Arial;background:none;border:none;border-radius:0}.svc-flow-experience[data-render=fallback] .svc-motion{display:none}
@media(min-width:1600px){.svc-flow-stage{height:480px}.svc-hero{min-height:790px}}
@media(max-width:1100px) and (min-width:761px){.svc-hero{padding-top:140px;min-height:710px}.svc-flow-experience{right:-25px;top:110px;width:56%}.svc-flow-stage{height:370px}.svc-hero h1{font-size:clamp(29px,4vw,43px)}.svc-hero-bottom{width:46%}.svc-hero-bottom>p{font-size:12px}.svc-flow-controls{gap:19px;margin-inline:0}.svc-flow-controls button{font-size:11px}.svc-flow-caption{font-size:11px}.svc-hero-contact strong{font-size:15px}}
@media(max-width:760px){.svc-hero{padding-top:120px;padding-bottom:45px;min-height:0}.svc-hero h1{font-size:clamp(34px,6.9vw,52px);width:100%;margin:20px 0 0}.svc-flow-experience{position:relative;top:auto;right:auto;width:calc(100% + 48px);margin:0 -24px 30px}.svc-flow-stage{height:310px}.svc-flow-controls{gap:25px;margin:-12px 10px 0}.svc-flow-controls button{font-size:12px}.svc-flow-caption{font-size:11px;margin-top:10px}.svc-flow-note{font-size:9px;margin-top:3px}.svc-motion.motion-toggle{right:23px;bottom:20px}.svc-hero-bottom{width:100%}.svc-hero-bottom>p{font-size:13px}.svc-hero-contact{max-width:none;margin-top:24px}.svc-flow-fallback{font-size:24px}}
@media(min-width:601px) and (max-width:760px){.svc-flow-stage{height:390px}.svc-flow-experience{width:100%;margin-inline:0}}
@media(prefers-reduced-motion:reduce){.svc-pipe-canvas{transition:none}}
.svc-motion.motion-toggle{width:44px;height:44px}
/* v0.13: detailed CG artwork replaces the elementary procedural model. */
.svc-flow-experience{width:61%;right:-42px;top:135px}.svc-flow-stage{height:auto;aspect-ratio:3/2}.svc-flow-stage:before{display:none}.svc-cg-art{position:absolute;inset:0;mix-blend-mode:multiply;isolation:isolate;mask-image:linear-gradient(90deg,transparent,#000 1.5%,#000 98.5%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 1.5%,#000 98.5%,transparent)}.svc-cg-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.svc-cg-deposits{opacity:var(--deposit-opacity,0)}.svc-cg-art>.svc-pipe-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .6s;z-index:2}.svc-flow-experience[data-render=ready] .svc-pipe-canvas{opacity:1}.svc-flow-controls{margin-top:7px}.svc-motion.motion-toggle{right:12px;bottom:10px}.svc-flow-experience[data-render=fallback] .svc-motion{display:block}.svc-hero{min-height:785px}.svc-flow-note{color:#657a84}
@media(min-width:1600px){.svc-flow-stage{height:auto}.svc-hero{min-height:850px}}
@media(min-width:761px) and (max-width:1100px){.svc-flow-experience{width:58%;right:-25px;top:160px}.svc-flow-stage{height:auto}.svc-hero{min-height:685px}}
@media(max-width:760px){.svc-flow-experience{position:relative;top:auto;right:auto;width:calc(100% + 48px);margin:20px -24px 28px}.svc-flow-stage{height:auto;aspect-ratio:3/2}.svc-flow-controls{margin:8px 10px 0}.svc-hero{min-height:0}.svc-motion.motion-toggle{right:12px;bottom:3px}}
@media(min-width:601px) and (max-width:760px){.svc-flow-experience{width:100%;margin-inline:0}.svc-flow-stage{height:auto}}
