*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#122c46;background:#fff;line-height:1.65}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #edb84e;outline-offset:5px}.wrap{max-width:1160px;margin:auto;padding:0 28px}.top{background:#112f50;color:white;font-size:14px;padding:9px 0}.top .wrap{display:flex;justify-content:space-between}header{border-bottom:1px solid #dfE7ed;background:white}nav{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:100px}.brand{text-decoration:none;font-weight:900;font-size:27px;line-height:1.05;letter-spacing:-1px}.brand span{display:block;font-size:12px;letter-spacing:2.3px;margin-top:8px;color:#367396}.links{display:flex;gap:25px;align-items:center;font-size:14px;font-weight:bold}.links a{text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:15px;font-weight:bold;background:#086dba;color:white;padding:15px 24px;border-radius:4px}.button:hover{background:#045388}.secondary{background:transparent;border:1px solid #8eacbf;color:#153c5a}.hero{background:#eaf3f8;padding:76px 0 65px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:65px;align-items:center}.eyebrow{font-size:13px;letter-spacing:2px;font-weight:bold;text-transform:uppercase;color:#086dba;margin:0 0 18px}h1{font-size:clamp(38px,5vw,65px);line-height:1.06;letter-spacing:-2.8px;margin:0 0 25px;max-width:760px}h1 em{font-style:normal;color:#086dba}p{margin:0 0 20px}.lead{font-size:19px;max-width:610px;color:#456077}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 20px}.small{font-size:14px;color:#526b7e}.hero-panel{background:#112f50;color:white;padding:36px;border-radius:6px;box-shadow:18px 18px 0 #cde2ed}.hero-panel h2{font-size:29px;margin:10px 0 25px;color:white}.hero-panel .eyebrow{color:#8bccec}.panel-item{padding:16px 0;border-top:1px solid #385775}.panel-item b{display:block;font-size:18px}.panel-item span{font-size:15px;color:#c4d6e4}.strip{border-bottom:1px solid #dce6ed}.strip .wrap{display:flex;justify-content:space-between;gap:15px;padding-top:22px;padding-bottom:22px;font-weight:bold;font-size:14px}section{padding:80px 0;scroll-margin-top:20px}h2{font-size:clamp(29px,3.2vw,43px);line-height:1.15;letter-spacing:-1.3px;margin:0 0 20px}h3{font-size:21px;line-height:1.25;margin:10px 0 14px}.intro{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:35px}.intro p{max-width:430px;color:#526b7e}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid #dce6ed;padding:28px;border-radius:5px}.card .num{color:#086dba;font-size:14px;font-weight:bold}.card p{font-size:16px;color:#526b7e;margin-bottom:0}.card.feature{background:#112f50;color:white;grid-column:span 3;display:flex;align-items:center;justify-content:space-between;gap:30px}.card.feature p{color:#c7d9e5}.card.feature .num{color:#8bccec}.feature .button{background:#fff;color:#112f50;white-space:nowrap}.tint{background:#f2f7fa}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px}.steps{counter-reset:steps}.step{padding:20px 0;border-bottom:1px solid #cfdee7;display:grid;grid-template-columns:40px 1fr;gap:15px}.step:before{counter-increment:steps;content:'0' counter(steps);font-size:14px;color:#086dba;font-weight:bold}.step h3{margin:0 0 8px}.step p{color:#526b7e;margin:0}.areas{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.areas span{border:1px solid #c9dce8;padding:9px 18px;border-radius:3px;font-size:15px}.faq{max-width:780px}details{border-bottom:1px solid #d5e1e9;padding:20px 0}summary{cursor:pointer;font-size:18px;font-weight:bold}details p{margin:15px 0 0;color:#526b7e}.contact{background:#086dba;color:white}.contact .wrap{display:flex;justify-content:space-between;align-items:center;gap:35px}.contact p{color:#d8edfb;max-width:600px}.contact .button{background:white;color:#075f9f}footer{background:#102940;color:#bdcfdd;padding:40px 0;font-size:14px}footer .wrap{display:flex;justify-content:space-between;gap:20px}footer b{color:white}footer a{margin-left:18px}.breadcrumb{font-size:14px;margin-bottom:24px;color:#526b7e}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;z-index:9;padding:12px}@media(max-width:800px){.wrap{padding:0 22px}.top .wrap{justify-content:center}.top .hours{display:none}nav{flex-wrap:wrap;padding:22px 0;gap:20px}.links{gap:18px;flex-wrap:wrap}.links .button{padding:10px 15px}.hero{padding:45px 0}.hero-grid,.split{grid-template-columns:1fr;gap:35px}h1{letter-spacing:-1.5px}.hero-panel{box-shadow:8px 8px 0 #cde2ed}.grid{grid-template-columns:1fr 1fr}.card.feature{grid-column:span 2}.intro{display:block}.strip .wrap{flex-wrap:wrap;justify-content:center}.contact .wrap,footer .wrap{display:block}section{padding:55px 0}.contact .button{margin-top:10px}footer a{display:inline-block;margin:20px 18px 0 0}}@media(max-width:500px){.grid{grid-template-columns:1fr}.card.feature{grid-column:span 1;display:block}.card.feature .button{margin-top:22px}.links{font-size:14px;gap:15px}.brand{font-size:24px}.links .button{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.brand{flex-shrink:0}.brand img{display:block;width:190px;height:auto}nav{padding-top:12px;padding-bottom:12px}@media(max-width:800px){.brand img{width:160px}}

footer .footer-logo{display:block;width:180px;margin:0 0 20px;background:#fff;border-radius:4px;padding:8px}footer .footer-logo img{display:block;width:100%;height:auto}

.cleaning-photo{margin:0}.cleaning-photo img{display:block;width:100%;height:auto;border-radius:6px}.cleaning-photo figcaption{font-size:12px;color:#526b7e;margin-top:8px}.service-photo{width:100%;height:auto;display:block;border-radius:4px;margin:15px 0}

.pet-photo{margin:0}.pet-photo img{display:block;width:100%;height:auto;border-radius:8px;box-shadow:12px 12px 0 #cde2ed}@media(max-width:800px){.pet-photo{max-width:430px;width:100%;margin:auto}}

header{background:#fff;border-bottom-color:#dfe7ed}.top{background:#7bbe2a;color:#102940}footer{background:#fff;color:#456077;border-top:1px solid #dce6ed}footer b{color:#122c46}footer .footer-logo{padding:0}.service-link{display:inline-block;margin-top:20px;color:#086dba;font-weight:bold;font-size:15px}

.grid>.card{background:#fff;color:#122c46}.grid>.card p{color:#526b7e}.grid>.card .num{color:#086dba}.service-photo{aspect-ratio:3/2;object-fit:cover}.card h3 a{text-decoration:none}.card h3 a:hover{text-decoration:underline}

.service-tile{display:block;text-decoration:none;transition:box-shadow .15s,border-color .15s}.service-tile:hover{border-color:#086dba;box-shadow:0 6px 20px #112f5015}.service-tile:focus-visible{outline:3px solid #086dba;outline-offset:4px}

.floating-call{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;gap:12px;padding:13px 20px;background:#086dba;color:#fff;border-radius:50px;text-decoration:none;font-weight:bold;font-size:16px;box-shadow:0 4px 18px #10294040}.floating-number{display:block;font-size:14px}.floating-call:hover{background:#045388}.floating-call:focus-visible{outline:3px solid #7bbe2a;outline-offset:4px}footer{padding-bottom:115px}@media(max-width:500px){.floating-call{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));padding:11px 17px}}@media print{.floating-call{display:none}}

.floating-contact{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:30;display:flex;border-radius:50px;box-shadow:0 4px 18px #10294040;background:#086dba}.floating-contact a{display:flex;align-items:center;justify-content:center;min-height:50px;padding:14px 22px;color:#fff;font-weight:bold;font-size:16px;text-decoration:none;border-radius:50px 0 0 50px}.floating-contact a+a{border-left:1px solid #ffffff66;border-radius:0 50px 50px 0}.floating-contact a:hover{background:#045388}.floating-contact a:focus-visible{outline:3px solid #7bbe2a;outline-offset:4px}@media(max-width:500px){.floating-contact{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}}@media print{.floating-contact{display:none}}

.floating-contact{background:#7bbe2a}.floating-contact a{color:#102940}.floating-contact a+a{border-left-color:#10294040}.floating-contact a:hover{background:#6aab22}.floating-contact a:focus-visible{outline-color:#086dba}

.estimate{max-width:850px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}form label{display:block;margin-bottom:18px;font-weight:bold}form input:not([type=checkbox]),form select,form textarea{display:block;width:100%;padding:12px;border:1px solid #9eb5c5;border-radius:4px;font:inherit;margin-top:7px}form textarea{min-height:90px}fieldset{border:1px solid #c9dce8;border-radius:5px;padding:24px;margin:25px 0}legend{font-size:20px;font-weight:bold;padding:0 8px}.choice{display:flex;align-items:center;gap:12px;font-weight:normal}.choice input{width:20px;height:20px}form button{border:0;cursor:pointer}[hidden]{display:none!important}#form-error{color:#ad2424}@media(max-width:600px){.form-grid{grid-template-columns:1fr}fieldset{padding:16px}}

.contact-actions{display:flex;flex-direction:column;gap:12px;flex-shrink:0}@media(max-width:800px){.contact-actions{align-items:flex-start}}

/* Photo-led service tiles in the logo palette. */
.grid>.service-tile{position:relative;overflow:hidden;padding:0 0 26px;background:#fff;color:#122c46;border:1px solid #dce6ed;border-radius:16px;box-shadow:0 5px 18px #112f500d;transition:box-shadow .2s,border-color .2s}
.grid>.service-tile .service-photo{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0 0 24px;border-radius:0}
.grid>.service-tile .num{position:absolute;top:16px;left:16px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#7bbe2a;color:#102940;font-size:15px;font-weight:bold;box-shadow:0 2px 8px #10294026}
.grid>.service-tile h3{color:#005fb4;margin:0 24px 12px}
.grid>.service-tile p{color:#456077;margin:0 24px}
.grid>.service-tile:hover{background:#fff;border-color:#7bbe2a;box-shadow:0 10px 26px #112f5024}
.grid>.service-tile:focus-visible{outline:3px solid #005fb4;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.grid>.service-tile{transition:none}}

.pet-carousel{overflow:hidden;border-radius:16px;background:#fff;box-shadow:12px 12px 0 #cde2ed;min-width:0}.pet-carousel .pet-slide{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:0;box-shadow:none}.pet-carousel .pet-slide[hidden]{display:none}.pet-controls{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;gap:12px}.pet-controls button{cursor:pointer;border:0;background:#fff;color:#005fb4;min-width:44px;min-height:44px;font-size:30px;border-radius:50%}.pet-controls button:focus-visible{outline:3px solid #005fb4;outline-offset:2px}.pet-dots{display:flex;gap:2px}.pet-controls .pet-dot{font-size:0;min-width:36px;min-height:44px;position:relative}.pet-dot:before{content:"";display:block;margin:auto;width:10px;height:10px;border-radius:50%;background:#71879b}.pet-dot[aria-current=true]:before{background:#005fb4;width:13px;height:13px}@media(max-width:800px){.pet-carousel{box-shadow:8px 8px 0 #cde2ed}}

.pet-viewport{overflow:hidden}.pet-track{display:flex;transition:transform .55s ease-in-out}.pet-carousel .pet-track .pet-slide{flex:0 0 100%;min-width:0;width:100%;display:block}.pet-controls .pet-pause{font-size:14px;font-weight:bold;border-radius:6px;padding:0 9px}.pet-controls{gap:4px;padding:8px}.pet-controls .pet-dot{min-width:28px}@media(prefers-reduced-motion:reduce){.pet-track{transition:none}}

.feature-strip{background:#fff;border-bottom:1px solid #e0eaf2}.feature-strip .wrap{display:block;padding-top:28px;padding-bottom:28px}.feature-strip ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}.feature-strip li{display:flex;align-items:center;gap:12px;padding:18px 16px;background:#f3f8fc;border:1px solid #e0eaf2;border-radius:12px;color:#005fb4;font-size:15px;font-weight:bold;line-height:1.4}.feature-icon{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;background:#fff;border-radius:50%;border:2px solid #7bbe2a}.feature-icon svg{width:23px;height:23px}@media(max-width:1000px){.feature-strip ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.feature-strip ul{gap:10px}.feature-strip li{flex-direction:column;align-items:flex-start;padding:16px 12px;font-size:14px}.feature-strip .wrap{padding-top:22px;padding-bottom:22px}}
