/* DeRose: midnight, water, and precision. */
:root{--ink:#071724;--navy:#031522;--navy-deep:#020e18;--blue:#00c4ef;--sky:#79e5ff;--paper:#f3f8fb;--muted:#506675;--line:#d8e5eb;--radius:4px}
.wrap{max-width:1440px;padding-left:5%;padding-right:5%}
h1,h2,h3{font-weight:800}
.topbar{background:#020e18;border-bottom:1px solid #153343}
.topbar .wrap{min-height:30px;font-size:10px}
.site-header{background:#03111ded;backdrop-filter:blur(16px);border-bottom:1px solid #1a3c50}
.header-inner{min-height:89px;gap:28px}
.brand img{width:177px}
.nav{gap:25px;font-size:13px}
.header-call{font-size:13px}
.button{font-size:14px;min-height:54px;padding:14px 24px;font-weight:700}
.button .arrow{margin-left:10px;transition:transform .2s}
.button:hover .arrow{transform:translate(2px,-2px)}
.button.outline{border-color:#8da0af;background:#04111d33}
.button.outline:hover{background:#0c2638;border-color:#fff}
.flow-hero{position:relative;isolation:isolate;overflow:hidden;background:#020d18;color:#fff;min-height:650px}
.flow-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 49%;z-index:-3;transform:scale(1.025);animation:flow-arrive 1.4s ease-out both}
.flow-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(2,13,24,.92),rgba(2,13,24,.4) 42%,transparent 70%),linear-gradient(0deg,rgba(2,13,24,.8),transparent 24%)}
.flow-content{padding-top:95px;padding-bottom:61px;min-height:548px;position:relative}
.flow-kicker{display:flex;align-items:center;gap:10px;color:#4fe2ff;letter-spacing:.24em;font-size:11px;font-weight:700;margin-bottom:22px}
.live-dot{display:inline-block;width:5px;height:5px;background:#4fe2ff;border-radius:50%;box-shadow:0 0 13px #00bfea}
.flow-content h1{font-size:clamp(52px,6.25vw,90px);line-height:1.02;letter-spacing:-.065em;font-weight:800;max-width:850px}
.flow-content h1 span{color:#00c7f3}
.flow-lead{font-size:clamp(18px,1.9vw,25px);letter-spacing:-.035em;line-height:1.45;margin:21px 0 14px;max-width:650px}
.mobile-break{display:none}
.flow-description{font-size:14px;line-height:1.75;color:#c0d3df;max-width:420px;margin:0}
.flow-content .hero-actions{margin:25px 0 30px;gap:15px}
.discover-link{font-size:11px;letter-spacing:.055em;color:#bdd1df;display:inline-flex;align-items:center;gap:18px}
.discover-link span{color:#41dcff;font-size:21px}
.discover-link:hover{color:#fff}
.flow-trust{position:relative;display:flex;align-items:center;gap:36px;padding-top:23px;padding-bottom:25px;font-size:11px;letter-spacing:.03em}
.flow-trust:before{content:'';position:absolute;left:5%;right:5%;top:0;height:1px;background:linear-gradient(90deg,#69ceebaa,#133e56)}
.flow-trust>span{display:flex;gap:11px;align-items:center;border-right:1px solid #375466;padding-right:36px}
.flow-trust>span:last-child{border:0;padding-right:0}
.flow-trust svg{width:19px;height:19px;color:#64dbf6}
.flow-services{background:#f3f8fb;padding:61px 0 40px}
.service-showcase{display:grid;grid-template-columns:1.05fr repeat(3,1fr);gap:18px;align-items:stretch}
.showcase-intro{padding:20px 18px 20px 0}
.showcase-intro .eyebrow{font-size:10px;letter-spacing:.17em;margin-bottom:22px}
.showcase-intro .eyebrow:before{display:none}
.showcase-intro h2{font-size:clamp(29px,3.15vw,45px);letter-spacing:-.06em;line-height:1.06}
.showcase-intro p{font-size:13px;color:var(--muted);line-height:1.65;margin:21px 0 10px}
.feature-service{border:1px solid #c7dce7;position:relative;overflow:hidden;background:#fff;min-height:360px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;border-radius:4px}
.feature-service:hover{transform:translateY(-7px);box-shadow:0 18px 30px #06243812}
.feature-top{display:flex;justify-content:space-between;padding:18px 20px 0;font-size:10px;letter-spacing:.06em}
.feature-top span:last-child{font-size:21px;line-height:1;transition:transform .2s}
.feature-service:hover .feature-top span:last-child{transform:translate(2px,-2px)}
.feature-art{position:relative;display:grid;place-items:center;min-height:176px;flex:1;isolation:isolate}
.feature-art .icon{width:88px;height:88px;stroke-width:.9;filter:drop-shadow(0 8px 8px #0f466b20);z-index:1}
.orbit{position:absolute;border:1px solid currentColor;opacity:.13;width:153px;height:153px;border-radius:50%;transform:rotate(-25deg) scaleY(.58);z-index:0}
.orbit-two{transform:rotate(40deg) scaleY(.55);width:185px;height:185px}
.feature-label{margin:0 20px 22px;border-top:1px solid #9cbccd70;padding-top:17px}
.feature-label h3{font-size:19px;letter-spacing:-.04em}
.feature-label p{font-size:12px;margin:8px 0 12px;line-height:1.5}
.feature-label>span{font-size:9px;letter-spacing:.07em;text-transform:uppercase}
.heater-feature{background:radial-gradient(ellipse at 70% 20%,#124969,#052035 65%);color:#fff;border-color:#143c50}
.heater-feature .feature-art{color:#9cecff}
.heater-feature .feature-label>span{color:#91d5ed}
.heater-feature .feature-label p{color:#c1d8e6}
.repair-feature{background:radial-gradient(ellipse at 45% 30%,#d8f5fd,#bde8f5);color:#063a52}
.remodel-feature{background:linear-gradient(145deg,#fff,#e7f0f5);color:#284f64}
.more-services{border-top:1px solid var(--line);margin-top:32px;padding-top:23px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}
.more-services>span{font-size:9px;letter-spacing:.13em;color:#637c8b}
.more-services a{border-bottom:1px solid transparent}
.more-services a:hover{border-bottom-color:var(--blue)}
.section{padding-top:80px;padding-bottom:80px}
.flow-services.section{padding-top:56px;padding-bottom:35px}
.care-image{background:linear-gradient(140deg,#e7f4f9,#f6fafc);border-color:#d9e9f1}
.section-head h2,.care-copy h2,.region h2{letter-spacing:-.055em}
.region{position:relative;background:radial-gradient(ellipse at 85% 70%,#07354e,#031522 65%)}
.cta{background:#00c3ec;color:#021624;position:relative;overflow:hidden}
.cta p{color:#103b4b}
.footer{background:#020d18}
.page-hero{background:radial-gradient(ellipse at 90% 10%,#0a3550,#031522 70%);border-bottom:1px solid #1c4054}
.service-card{border-radius:4px}
@keyframes flow-arrive{from{opacity:.5;transform:scale(1.055)}to{opacity:1;transform:scale(1.025)}}
@media(min-width:1600px){.flow-hero{min-height:710px}.flow-content{min-height:610px;padding-top:115px}.flow-art{object-position:center 53%}}
@media(max-width:1200px){.nav{gap:18px}.header-inner{gap:22px}.flow-content{padding-top:80px}.flow-hero{min-height:610px}.flow-content h1{font-size:7.2vw}.flow-content .hero-actions{margin-top:26px}.feature-service{min-height:330px}.feature-label{margin-left:16px;margin-right:16px}.feature-label h3{font-size:17px}.showcase-intro h2{font-size:34px}.flow-trust{gap:23px}.flow-trust>span{padding-right:23px}}
@media(max-width:900px){.flow-content h1{font-size:8.5vw}.flow-shade{background:linear-gradient(90deg,#020d18ee,#020d1899 45%,#020d1833)}.flow-art{object-position:62% center}.flow-content{min-height:530px;padding-top:72px}.flow-lead{font-size:21px}.service-showcase{grid-template-columns:repeat(3,1fr)}.showcase-intro{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding:0 0 15px}.showcase-intro .eyebrow{grid-column:1/-1}.showcase-intro p{margin-top:0;align-self:center}.showcase-intro .text-link{grid-column:2;width:max-content;margin-top:-18px}.showcase-intro h2{font-size:40px;grid-row:2/4}.flow-trust{font-size:10px;gap:18px}.flow-trust>span{padding-right:18px;gap:8px}.more-services{flex-wrap:wrap;justify-content:flex-start;gap:13px 22px}.more-services>span{width:100%}}
@media(max-width:800px){.header-inner{min-height:76px}.brand img{width:155px}.nav{top:76px;background:#031522}.nav .button{color:#031522}.flow-trust svg{width:17px}.section{padding-top:60px;padding-bottom:60px}.flow-services.section{padding-top:43px}.wrap{padding-left:5.5%;padding-right:5.5%}.flow-trust:before{left:5.5%;right:5.5%}.flow-content h1{font-size:8.8vw}}
@media(max-width:580px){.topbar .wrap{font-size:8px;letter-spacing:.04em;min-height:26px}.header-inner{min-height:70px}.brand img{width:145px}.menu-toggle{font-size:12px;padding:8px 11px}.nav{top:70px}.flow-hero{min-height:0}.flow-art{inset:auto 0 63px;height:350px;object-fit:cover;object-position:85% center;transform:none;animation:none;opacity:.95}.flow-shade{background:linear-gradient(180deg,#020d18 0%,#020d18 44%,#020d1833 72%,#020d18 95%)}.flow-content{padding-top:44px;min-height:0;padding-bottom:250px}.flow-kicker{font-size:9px;letter-spacing:.18em;margin-bottom:20px}.flow-content h1{font-size:clamp(34px,9.9vw,57px);line-height:1.06;letter-spacing:-.065em}.flow-lead{font-size:19px;margin:18px 0 12px;letter-spacing:-.02em}.mobile-break{display:block}.flow-description{font-size:12px;line-height:1.65;max-width:300px}.flow-content .hero-actions{display:flex;flex-direction:column;align-items:stretch;margin:24px 0 0;gap:11px;max-width:360px}.flow-content .button{width:100%;font-size:14px;min-height:50px}.discover-link{display:none}.flow-trust{display:grid;grid-template-columns:1fr;gap:12px;padding-top:19px;padding-bottom:22px;font-size:10px;background:#020d18}.flow-trust>span{border:0;padding:0}.flow-trust svg{width:17px;height:17px}.flow-trust:before{background:#1a4a62}.service-showcase{grid-template-columns:1fr;gap:12px}.showcase-intro{display:block;padding:0 0 15px}.showcase-intro h2{font-size:40px}.showcase-intro p br{display:none}.showcase-intro p{margin:18px 0 5px;max-width:290px}.showcase-intro .text-link{margin:0}.feature-service{min-height:190px;display:grid;grid-template-columns:39% 61%;grid-template-rows:35px auto}.feature-top{grid-column:1/-1;padding:14px 17px 0}.feature-art{grid-row:2;min-height:140px}.feature-art .icon{width:64px;height:64px}.orbit{width:109px;height:109px}.orbit-two{width:130px;height:130px}.feature-label{grid-column:2;grid-row:2;margin:0 18px 19px 5px;align-self:center;border:0;padding:0}.feature-label h3{font-size:19px}.feature-label p{font-size:12px}.feature-label>span{font-size:8px}.more-services{display:grid;grid-template-columns:1fr;gap:12px;font-size:13px}.more-services>span{margin-bottom:3px}.mobile-contact a{background:#031522}.mobile-contact a:last-child{background:#00c4ef}.page-hero h1{font-size:40px}.flow-services.section{padding-top:40px;padding-bottom:35px}}
@media(prefers-reduced-motion:reduce){.flow-art{animation:none;transform:none}.feature-service,.button .arrow,.feature-top span:last-child{transition:none}}
