:root{--blue:#0876d8;--navy:#072c55;--green:#58b51f;--ink:#17212b;--muted:#65717d;--light:#f4f7f8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.55}button,a{font:inherit}.topbar{background:var(--navy);color:#fff;padding:8px 5%;font-size:13px;text-align:center}.linkbtn{background:none;border:0;color:#b9f58f;font-weight:700;cursor:pointer;margin-left:14px}header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:8px 5%;background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 16px #0001}.brand img{width:235px;max-height:75px;object-fit:contain}nav{display:flex;gap:24px;align-items:center}nav a{color:var(--ink);text-decoration:none;font-weight:700;font-size:14px}.cta{border:0;border-radius:5px;background:var(--green);color:#fff;padding:13px 20px;font-weight:800;cursor:pointer;box-shadow:0 5px 14px #2b7c1530}.cta:hover{filter:brightness(.94)}.big{padding:16px 25px}.menu{display:none;background:none;border:0;font-size:28px}.hero{min-height:620px;background:url('https://images.unsplash.com/photo-1527515637462-cff94eecc1ac?auto=format&fit=crop&w=1800&q=85') center/cover;position:relative;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;padding:70px 7%;gap:55px}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#052a54e8 0%,#052a54b8 50%,#052a5450)}.hero-copy,.quote-card{position:relative;z-index:2}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:900;color:var(--green)}h1{font-size:64px;line-height:1.02;color:#fff;margin:12px 0 20px;max-width:700px}h1 em{font-style:normal;color:#9fea69}.hero-copy p{font-size:20px;color:#fff;max-width:650px}.actions{display:flex;gap:12px;margin-top:28px}.ghost{border:2px solid #fff;color:#fff;text-decoration:none;padding:13px 22px;border-radius:5px;font-weight:800}.quote-card{background:#fff;padding:28px;border-radius:12px;box-shadow:0 20px 50px #0004}.quote-card h2{margin:0;font-size:28px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.quick button,.service-grid button{background:#f7fafb;border:1px solid #dce5e8;border-radius:7px;padding:14px;text-align:left;font-weight:700;cursor:pointer}.quick button:hover,.service-grid button:hover{border-color:var(--green);background:#f4fff0}.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:22px 7%;box-shadow:0 4px 20px #0001}.trust div{display:flex;gap:12px;align-items:center}.trust b{background:#eaf8df;color:var(--green);border-radius:50%;padding:7px 10px}.trust span{display:flex;flex-direction:column}.trust small{color:var(--muted)}.intro{text-align:center;padding:85px 7% 55px}.intro h2,.service-section h2,.process h2,.why h2,.faq h2{font-size:40px;line-height:1.15;margin:10px 0 16px;color:var(--navy)}.intro p{max-width:700px;margin:auto;color:var(--muted)}.service-section{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.service-section.reverse .photo{order:2}.photo{background-size:cover;background-position:center;min-height:520px}.content{padding:70px 7%}.content p{color:var(--muted);font-size:17px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0}.process{padding:85px 7%;background:var(--light);text-align:center}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:35px}.steps article{background:#fff;padding:28px;text-align:left;border-radius:9px}.steps b{font-size:30px;color:var(--green)}.steps h3{color:var(--navy)}.why{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.why>div:first-child{padding:85px 10%}.why li{margin:10px 0}.why-photo{min-height:520px;background:url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1400&q=80') center/cover}.faq{max-width:950px;margin:auto;padding:90px 5%}.faq details{border-bottom:1px solid #ddd;padding:18px 0}.faq summary{font-weight:800;color:var(--navy);cursor:pointer}.faq p{color:var(--muted)}.final-cta{background:linear-gradient(110deg,var(--blue),var(--navy));padding:65px 7%;text-align:center;color:#fff}.final-cta h2{font-size:40px;margin:0}.light{background:#fff;color:var(--navy)}footer{background:#071d34;color:#c8d2dc;text-align:center;padding:45px}footer img{width:290px;max-width:80%}.modal{position:fixed;inset:0;background:#00152bbd;z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-card{background:#fff;width:min(650px,100%);max-height:92vh;overflow:auto;border-radius:12px;padding:32px;position:relative}.close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:32px;cursor:pointer}.modal h2{color:var(--navy);margin-top:5px}.modal form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal label{font-size:13px;font-weight:800}.modal input,.modal select,.modal textarea{width:100%;padding:12px;border:1px solid #ccd5da;border-radius:5px;margin-top:5px}.modal label:last-of-type,.modal form .big,.formnote{grid-column:1/-1}.formnote{font-size:12px;color:var(--muted)}@media(max-width:900px){header{height:auto;min-height:80px}.brand img{width:190px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fff;padding:25px;flex-direction:column;box-shadow:0 12px 20px #0002}nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr;padding:55px 6%}h1{font-size:48px}.quote-card{max-width:560px}.service-section,.why{grid-template-columns:1fr}.service-section.reverse .photo{order:0}.steps{grid-template-columns:1fr 1fr}.trust{grid-template-columns:1fr}.photo{min-height:380px}}@media(max-width:560px){h1{font-size:40px}.intro h2,.service-section h2,.process h2,.why h2,.faq h2,.final-cta h2{font-size:32px}.quick,.service-grid,.steps,.modal form{grid-template-columns:1fr}.modal label:last-of-type,.modal form .big,.formnote{grid-column:auto}.actions{flex-direction:column}.ghost{text-align:center}}
.section-head{text-align:center;max-width:850px;margin:0 auto 38px}.section-head h2,.service-area h2{font-size:40px;line-height:1.15;margin:10px 0 16px;color:var(--navy)}.section-head p,.service-area p{color:var(--muted)}.projects{padding:90px 7%;background:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-grid article{border:1px solid #dce5e8;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 10px 28px #0000000d}.project-photo{height:235px;background-size:cover;background-position:center}.project-bath{background-image:url('https://images.unsplash.com/photo-1552321554-5fefe8c9ef14?auto=format&fit=crop&w=1000&q=80')}.project-wash{background-image:url('https://images.unsplash.com/photo-1562259949-e8e7689d7828?auto=format&fit=crop&w=1000&q=80')}.project-clean{background-image:url('https://images.unsplash.com/photo-1581578731548-c64695cc6952?auto=format&fit=crop&w=1000&q=80')}.project-copy{padding:24px}.project-copy>span{font-size:11px;letter-spacing:1.6px;font-weight:900;color:var(--green)}.project-copy h3{font-size:24px;color:var(--navy);margin:7px 0}.project-copy p{color:var(--muted)}.project-copy button{border:0;background:none;color:var(--blue);font-weight:900;padding:4px 0;cursor:pointer}.projects-note{margin:32px auto 0;max-width:950px;padding:18px 22px;border-left:4px solid var(--green);background:var(--light);color:var(--muted)}.service-area{padding:80px 7%;background:var(--light);display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}.location-form{margin:26px 0 18px}.location-form label{display:block;font-weight:800;color:var(--navy);margin-bottom:8px}.location-form>div{display:flex;gap:8px}.location-form input{flex:1;min-width:0;padding:14px;border:1px solid #cbd7dc;border-radius:5px;font-size:16px}.location-result{font-weight:700;min-height:24px;margin:10px 0!important}.map-button{display:inline-block;color:var(--navy);font-weight:900;text-decoration:none;border-bottom:2px solid var(--green)}.map-panel{background:#fff;border-radius:12px;padding:12px;box-shadow:0 16px 40px #0001}.map-panel iframe{width:100%;height:420px;border:0;border-radius:8px}.map-panel p{font-size:12px;text-align:center;margin:9px 0 2px}.modal label.full,.upload-box{grid-column:1/-1!important}.upload-box{border:2px dashed #b9c9d0;border-radius:8px;padding:15px;background:#f8fbfc}.upload-box span,.upload-box small{display:block;font-weight:400;color:var(--muted);margin-top:3px}.upload-box input{border:0;padding:10px 0 0;background:transparent}@media(max-width:900px){.project-grid{grid-template-columns:1fr}.service-area{grid-template-columns:1fr}.map-panel iframe{height:350px}}@media(max-width:560px){.section-head h2,.service-area h2{font-size:32px}.location-form>div{flex-direction:column}}
/* Customer Portal */
.portal{padding:72px 6%;background:#f5f7f8}.portal-wrap{max-width:1180px;margin:auto}.portal-card{background:#fff;border-radius:18px;padding:28px;box-shadow:0 10px 35px rgba(0,0,0,.08)}.portal-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.portal-options button{padding:18px 12px;border:1px solid #d9e0e4;background:#fff;border-radius:12px;font-weight:700;cursor:pointer}.portal-options button.active{outline:3px solid rgba(0,0,0,.12);background:#eef3f5}.portal-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.portal-form label{display:flex;flex-direction:column;gap:7px;font-weight:700}.portal-form input,.portal-form select,.portal-form textarea{padding:12px;border:1px solid #ccd4d8;border-radius:8px;font:inherit}.portal-form .full{grid-column:1/-1}.portal-notice{grid-column:1/-1;background:#fff7df;border-left:4px solid #d9a300;padding:13px;border-radius:6px}.portal-success{padding:22px;background:#eef8f0;border-radius:12px}.portal-sub{color:#5d6870}.portal-upload{border:2px dashed #c8d0d5;padding:15px;border-radius:10px}.portal-conditional{display:none}.portal-conditional.show{display:flex}.portal-calendar-note{font-size:.9rem;color:#66727a}.customer-nav{white-space:nowrap}@media(max-width:850px){.portal-options{grid-template-columns:1fr 1fr}.portal-form{grid-template-columns:1fr}.portal-form .full{grid-column:auto}}@media(max-width:520px){.portal-options{grid-template-columns:1fr}}

/* Customer Portal popup trigger */
nav .customer-nav{border:0;background:none;color:var(--ink);font-weight:700;font-size:14px;cursor:pointer;padding:0;white-space:nowrap}
.customer-portal-modal .modal-card{width:min(820px,100%)}
.customer-portal-modal .portal-options{grid-template-columns:repeat(2,1fr)}
@media(max-width:560px){.customer-portal-modal .portal-options{grid-template-columns:1fr}}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-error{grid-column:1/-1;margin:0;padding:12px 14px;background:#fdecea;border-left:4px solid #c62828;border-radius:6px;color:#7f1d1d;font-size:14px}
.form-error[hidden]{display:none}
button[type=submit][disabled]{opacity:.65;cursor:wait}
