@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Oswald:wght@500;600;700&display=swap');
:root{--navy:#122c3b;--cream:#faf7ef;--orange:#f6aa57;--muted:#556673;--line:#dadfdc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--cream);color:var(--navy);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bf650c;outline-offset:4px}.skip{position:absolute;top:-100px;left:15px;padding:10px;background:white;z-index:10}.skip:focus{top:10px}.topline{text-align:center;background:var(--navy);color:var(--cream);font-size:10px;font-weight:700;letter-spacing:2px;padding:9px}header{max-width:1320px;margin:auto;padding:27px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand strong{font-family:'Oswald','Arial Narrow',Arial,sans-serif;font-size:29px;letter-spacing:.5px;line-height:1}.brand small{display:block;font-size:8px;letter-spacing:1.35px;font-weight:700;margin-top:8px}.badge{width:50px;height:55px;background:var(--navy);color:var(--orange);display:flex;align-items:center;justify-content:center;position:relative;font-weight:900;font-size:22px;border-radius:7px 7px 18px 18px}.badge span{position:absolute;bottom:3px;font-size:11px}nav{display:flex;gap:28px;font-size:13px;font-weight:600}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--orange);color:var(--navy);padding:17px 23px;border:0;border-radius:3px;font-size:14px;font-weight:700;cursor:pointer}.button:hover{background:#ffbb74}.button span{font-size:20px}.small{padding:12px 16px;font-size:12px}.hero{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;padding:44px 5% 65px;gap:50px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 21px}.eyebrow>span{display:inline-block;width:8px;height:8px;background:var(--orange);border-radius:50%;margin-right:7px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Oswald','Arial Narrow',Arial,sans-serif;font-weight:600;letter-spacing:-1.5px;line-height:1.08}h1{font-size:clamp(52px,6.7vw,90px);margin-bottom:26px}em{font-style:normal;color:#b96520}.intro{font-size:16px;max-width:465px;line-height:1.8;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:24px;margin:28px 0}.text-link{font-size:12px;font-weight:700;display:flex;gap:16px}.hero-note{font-size:11px;color:var(--muted);margin:29px 0 0}.hero-art{min-height:460px;background:var(--navy);border-radius:5px 85px 5px 5px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding-bottom:45px;color:var(--cream)}.hero-art:before,.hero-art:after{content:'';position:absolute;width:330px;height:330px;border:1px solid #527083;border-radius:50%;right:-150px;top:-160px}.hero-art:after{left:-170px;top:220px;width:360px;height:360px}.orbit{width:330px;height:330px;border:1px dashed #647b85;border-radius:50%;position:absolute;top:32px}.seal{position:relative;text-align:center;transform:rotate(-7deg);width:275px;border:2px solid var(--orange);padding:18px 18px 16px;border-radius:48% 48% 18% 18%;background:var(--navy)}.seal-top{font-size:9px;letter-spacing:1.5px;margin:7px 0 15px}.seal-hoss{font-family:'Oswald',Impact,sans-serif;font-size:82px;line-height:.93;font-weight:700;color:var(--orange);position:relative;letter-spacing:-3px}.seal-hoss span{font-size:20px;position:absolute;top:27px;right:27px;color:var(--cream)}.seal-tools{display:flex;justify-content:center;gap:10px;margin:19px 0 11px;font-size:9px;font-weight:700;letter-spacing:1px}.seal-tools span{border:1px solid #6d818a;padding:6px}.seal-bottom{font-size:8px;letter-spacing:1px}.art-caption{position:absolute;bottom:24px;left:28px;font-size:12px;line-height:1.8}.art-caption span,.art-caption strong{display:block}.slogan{background:var(--orange);font-family:'Oswald',Impact,sans-serif;font-weight:600;font-size:clamp(20px,3vw,40px);letter-spacing:1px;padding:22px 5%;display:flex;justify-content:center;align-items:center;gap:14px}.slogan>span:first-child{font-weight:500}.star{margin-left:35px}.section{max-width:1320px;margin:auto;padding:85px 5%;scroll-margin-top:15px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:39px}h2{font-size:clamp(38px,4vw,54px);margin-bottom:0}.section-heading>p{max-width:335px;font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:4px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{border:1px solid var(--line);padding:28px;background:#fffdf8;border-radius:4px}.service-number{display:block;font-size:10px;letter-spacing:1.3px;font-weight:700;color:var(--muted)}.service-card svg{width:49px;height:49px;stroke:var(--navy);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;margin:28px 0 19px}.service-card h3{font-family:'Oswald',Arial,sans-serif;font-size:28px;font-weight:500;margin-bottom:14px}.service-card p,.service-card li{font-size:13px;line-height:1.8;color:var(--muted)}.service-card ul{padding:18px 0;list-style:none;border-top:1px solid var(--line);margin-top:22px}.service-card li:before{content:'✓';margin-right:9px;color:#8a4e1b}.service-card a{display:flex;justify-content:space-between;font-size:12px;font-weight:700}.service-card a:hover{text-decoration:underline}.about{display:grid;grid-template-columns:1fr 1.1fr;gap:85px;background:#eceee6;max-width:none;padding-left:max(5%,calc((100vw - 1188px)/2));padding-right:max(5%,calc((100vw - 1188px)/2));align-items:center}.portrait{height:470px;position:relative;background:#d9ded4;overflow:hidden;border-radius:5px}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 27%}.photo-label{position:absolute;bottom:0;left:0;right:0;background:var(--navy);color:var(--cream);padding:19px 24px;font-size:10px;letter-spacing:1.6px;line-height:1.8}.photo-label strong{color:var(--orange)}.about-copy h2{margin-bottom:25px}.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted)}.values{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:11px;font-weight:700;border-top:1px solid #c6ceca;padding-top:23px;margin-top:25px}.values span:before{content:'✦';color:#b96520;margin-right:8px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.steps article{border-top:1px solid #bdc8c8;padding-top:20px}.steps article>span{font-family:'Oswald',Arial,sans-serif;font-size:34px;color:#b96520;display:block;margin-bottom:17px}.steps h3{font-size:17px}.steps p{font-size:13px;line-height:1.8;color:var(--muted)}.contact{background:var(--navy);color:var(--cream);max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-left:max(5%,calc((100vw - 1188px)/2));padding-right:max(5%,calc((100vw - 1188px)/2))}.contact em{color:var(--orange)}.contact h2{margin-bottom:25px}.contact p{font-size:14px;line-height:1.8;max-width:430px;color:#c6d2d6}.contact .contact-note{font-size:11px;margin-top:24px}.contact-links{margin-top:30px}.contact-links a{display:block;color:var(--orange);font-size:clamp(12px,1.3vw,16px);margin-bottom:16px;overflow-wrap:anywhere}.contact-links a:first-child{font-size:26px;font-weight:700}form{background:#203b4a;padding:28px;border-radius:5px}label{display:block;font-size:11px;font-weight:600;margin-bottom:16px;color:#eef2f0}input,select,textarea{display:block;margin-top:8px;width:100%;min-width:0;padding:12px;background:#122c3b;border:1px solid #526975;border-radius:3px;font-size:13px;color:white}input::placeholder,textarea::placeholder{color:#a5b7c0}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}form .button{width:100%;margin-top:3px}#form-status{font-size:11px;margin:13px 0 0}#form-status:empty{display:none}footer{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 5%}footer>p{font-size:12px;margin:0;font-weight:600}footer>span{font-size:10px;color:var(--muted)}
@media(max-width:1000px){nav{gap:17px}.hero{gap:28px}.hero-art{min-height:430px}.hero-actions{flex-wrap:wrap;gap:20px}.about{gap:40px}.service-card{padding:22px}.contact{gap:35px}header .brand strong{font-size:25px}header .brand small{font-size:7px}.section{padding-top:65px;padding-bottom:65px}}
@media(max-width:760px){header{padding:19px 5%;flex-wrap:wrap;gap:20px}nav{order:3;width:100%;justify-content:center;padding-top:12px;border-top:1px solid var(--line);font-size:12px}header .small{font-size:10px;padding:10px;gap:9px}.brand{gap:9px}.badge{width:40px;height:45px;font-size:19px}.brand strong{font-size:24px}.brand small{font-size:7px;letter-spacing:.8px}.hero{grid-template-columns:1fr;padding-top:29px;gap:35px}.hero-copy{max-width:550px}h1{font-size:65px}.hero-art{min-height:390px;border-top-right-radius:65px}.orbit{top:10px;width:310px;height:310px}.seal{width:260px}.seal-hoss{font-size:73px}.slogan{font-size:22px;gap:8px;padding:20px 4%;flex-wrap:wrap}.star{margin-left:5px}.section-heading{display:block;margin-bottom:29px}.section-heading>p{margin-top:23px;max-width:100%}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:25px}.service-card svg{margin-top:21px}.service-card ul{margin-top:16px;padding-top:15px;padding-bottom:10px}.about{grid-template-columns:1fr;gap:35px}.portrait{height:380px;max-width:460px;width:100%}.portrait img{object-position:center 24%}.steps{grid-template-columns:1fr;gap:21px}.steps article{position:relative;padding-left:55px}.steps article>span{position:absolute;left:0;top:16px;font-size:28px}.steps h3{margin:5px 0 10px}.steps p{margin-bottom:5px}.contact{grid-template-columns:1fr;gap:28px}.contact-links a{font-size:13px}.section{padding-top:52px;padding-bottom:52px}h2{font-size:44px}form{padding:22px}.form-row{grid-template-columns:1fr;gap:0}footer{flex-wrap:wrap;justify-content:center;text-align:center}footer>span{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Official branding and professional portrait. */
.brand-logo{display:block;width:190px;height:auto}.hero-art{padding:38px 27px 82px}.hero-logo{position:relative;z-index:1;width:100%;height:auto;object-fit:contain}.portrait img{object-position:center 22%}.hero-art:before,.hero-art:after{opacity:.5}
@media(max-width:1000px){.brand-logo{width:170px}}
@media(max-width:760px){.brand-logo{width:155px}.hero-art{min-height:310px;padding:32px 20px 85px}.portrait{height:460px}.portrait img{object-position:center 12%}}
@media(max-width:380px){.brand-logo{width:140px}header{gap:12px}.portrait{height:420px}}

/* Keep the supplied portrait natural and the matching logo readable. */
.brand-logo{background:#fff;border-radius:3px;padding:4px}.hero-art{background:#fff;color:var(--navy);border:1px solid var(--line)}.hero-art:before,.hero-art:after{display:none}.portrait img{object-position:center 22%}

.booking-status{position:fixed;bottom:20px;left:5%;right:5%;max-width:600px;margin:auto;z-index:1000;padding:18px 22px;background:var(--cream);color:var(--navy);border:2px solid var(--orange);border-radius:5px;box-shadow:0 4px 24px #0003;font-size:14px;line-height:1.5}

/* Responsive Housecall Pro reviews embed. */
.reviews{border-top:1px solid var(--line)}.reviews-widget{width:100%;max-width:1000px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:5px;overflow:hidden}.reviews-widget iframe{display:block;width:100%;max-width:100%;height:1000px;border:0}.reviews-help{margin:18px 0 0;font-size:12px;line-height:1.7;color:var(--muted)}.reviews-help a{text-decoration:underline;text-underline-offset:3px}nav{flex-wrap:wrap}
