:root{--ink:#251724;--purple:#8f138c;--deep:#2d082c;--yellow:#f4d600;--cream:#f7f2ec;--white:#fff;--muted:#6e616d;--line:rgba(45,8,44,.14);--shadow:0 18px 50px rgba(63,9,61,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Roboto,system-ui,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea{font:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:900;color:#665463}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:52px;padding:0 22px;border:1px solid var(--purple);border-radius:8px;background:var(--purple);color:#fff;font-weight:900;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(143,19,140,.2)}.btn.alt{background:var(--yellow);border-color:var(--yellow);color:var(--deep)}.btn.ghost{background:transparent;color:var(--purple)}
.topbar{background:var(--deep);color:#eee3ed;font-size:.86rem}.topbar .wrap{min-height:38px;display:flex;justify-content:space-between;align-items:center}.topbar strong{color:var(--yellow)}header{position:sticky;top:0;z-index:30;background:rgba(247,242,236,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px}.brandmark{width:42px;height:42px;border-radius:9px;background:var(--purple);color:var(--yellow);display:grid;place-items:center;font:700 25px 'Saira Condensed'}.brandtext{font:700 1.35rem 'Saira Condensed';text-transform:uppercase}.brandtext small{display:block;font:700 .59rem Roboto;letter-spacing:.16em;color:var(--muted)}nav{display:flex;align-items:center;gap:22px;font-size:.91rem;font-weight:700}nav a:hover{color:var(--purple)}.menu{display:none;border:0;background:none;font-size:1.6rem}
.hero{background:var(--deep);color:#fff;overflow:hidden}.hero-grid{min-height:620px;display:grid;grid-template-columns:1.02fr .98fr}.hero-copy{padding:90px 7vw 80px max(20px,calc((100vw - 1180px)/2));display:flex;flex-direction:column;justify-content:center}.hero .eyebrow{color:var(--yellow)}h1,h2,h3{margin:0;line-height:1.07}h1{font:700 clamp(3.2rem,6.2vw,6.5rem)/.96 'Saira Condensed';text-transform:uppercase;letter-spacing:-.035em}.hero p{font-size:1.12rem;color:#eadfea;max-width:620px;margin:25px 0 32px}.actions{display:flex;flex-wrap:wrap;gap:12px}.hero-media{position:relative;min-height:480px;background:left center/cover no-repeat}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(45,8,44,.38) 0%,rgba(45,8,44,.1) 20%,transparent 42%),linear-gradient(90deg,rgba(45,8,44,.08) 0%,transparent 10%),linear-gradient(0deg,rgba(45,8,44,.1),transparent 52%)}.trust-float{position:absolute;z-index:2;left:32px;bottom:30px;background:var(--yellow);color:var(--deep);padding:18px 22px;border-radius:10px;box-shadow:var(--shadow);font-weight:800}.trust-float span{display:block;font:700 1.9rem 'Saira Condensed'}
.page-hero{padding:90px 0 75px;background:var(--deep);color:#fff}.page-hero .eyebrow{color:var(--yellow)}.page-hero h1{max-width:900px}.page-hero p{max-width:720px;color:#eadfea;font-size:1.08rem;margin:20px 0 0}.crumbs{font-size:.83rem;color:#cbbdca;margin-bottom:20px}.crumbs a{color:var(--yellow)}
.proof{background:var(--yellow)}.proof-grid{min-height:110px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}.proof-item{padding:22px 28px;border-right:1px solid rgba(45,8,44,.18)}.proof-item:last-child{border:0}.proof-item strong{font:700 1.7rem 'Saira Condensed';display:block}.proof-item span{font-size:.84rem;font-weight:700}
section{padding:90px 0}.section-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:end;margin-bottom:42px}.section-head h2,.content h2{font:700 clamp(2.4rem,4.2vw,4.3rem)/1 'Saira Condensed';text-transform:uppercase}.section-head p{margin:0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);padding:28px;border-radius:8px}.card h3{font:700 1.65rem 'Saira Condensed';text-transform:uppercase;margin-bottom:12px}.card p{color:var(--muted)}.card-link{font-weight:900;color:var(--purple)}
.services{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service{min-height:290px;padding:26px 22px;background:var(--cream);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.service:hover{transform:translateY(-6px);background:var(--purple);color:#fff;box-shadow:var(--shadow)}.num{font:700 1rem 'Saira Condensed';color:#806b7e}.service:hover .num{color:var(--yellow)}.service h3{font:700 1.55rem 'Saira Condensed';text-transform:uppercase;margin-bottom:12px}.service p{font-size:.9rem;color:var(--muted)}.service:hover p{color:#f1e8f0}.arrow{font-size:1.5rem;color:var(--purple)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split img{width:100%;height:500px;object-fit:cover;border-radius:6px}
.split img.about-photo{height:auto;object-fit:contain;object-position:center;align-self:center}.split h2{font:700 clamp(2.5rem,4.5vw,4.5rem)/1 'Saira Condensed';text-transform:uppercase}.split p,.content p{color:var(--muted)}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:25px 0}.check{font-weight:800;font-size:.92rem}.check:before{content:'✓';display:inline-grid;place-items:center;width:24px;height:24px;margin-right:9px;border-radius:50%;background:var(--yellow);color:var(--deep)}
.discount{background:var(--purple);color:#fff;padding:55px 0}.discount .wrap{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}.discount h2{font:700 clamp(2.3rem,4vw,4.2rem)/1 'Saira Condensed';text-transform:uppercase}.discount p{color:#f0e7ef}.badge{width:160px;height:160px;border-radius:50%;background:var(--yellow);color:var(--deep);display:grid;place-items:center;text-align:center;font-weight:800;transform:rotate(4deg)}.badge strong{font:700 3.1rem/1 'Saira Condensed';display:block}
.reviews{background:#fff}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.review{padding:30px;border:1px solid var(--line);border-radius:8px}.stars{color:#807000;letter-spacing:.16em}.review blockquote{font-size:1.03rem;margin:14px 0 20px;color:#51414f}.review strong{font-family:'Saira Condensed';text-transform:uppercase}
.review-recognition{margin:0 0 36px;padding:28px 34px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(135deg,#fbf8f4,#f5edf5);text-align:center}.review-recognition h3{font:700 clamp(1.85rem,3vw,2.7rem)/1 'Saira Condensed';text-transform:uppercase;letter-spacing:.01em;color:var(--deep)}.recognition-badges{display:flex;align-items:center;justify-content:center;gap:clamp(28px,7vw,86px);margin-top:24px}.recognition-badges img{width:clamp(118px,14vw,170px);height:150px;object-fit:contain}
.content{background:#fff}.prose{max-width:820px}.prose h2{font-size:2.25rem;margin:42px 0 12px}.prose h3{font:700 1.5rem 'Saira Condensed';text-transform:uppercase;margin-top:28px}.prose ul,.prose ol{padding-left:23px}.prose li{margin:8px 0}.callout{background:var(--cream);border-left:6px solid var(--yellow);padding:24px;margin:30px 0}.related{margin-top:50px;padding-top:35px;border-top:1px solid var(--line)}
.article-byline{font-size:.9rem}.article-hero-image{margin:28px 0 34px}.article-hero-image img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}.article-hero-image figcaption{font-size:.82rem;color:var(--muted);margin-top:8px}.answer-summary{margin:28px 0;padding:22px 24px;background:#fbf8cf;border:1px solid #e7d95c;border-radius:8px}.answer-summary strong{font:700 1.35rem 'Saira Condensed';text-transform:uppercase}.answer-summary p{margin:5px 0 0;color:var(--ink)}.article-body a{text-decoration:underline;color:var(--purple);font-weight:700}.article-body blockquote{border-left:4px solid var(--purple);margin:28px 0;padding:8px 0 8px 22px;color:var(--muted)}.article-faq{padding:35px 0 0}.article-faq h2{margin-top:0}.related-links{display:flex;flex-wrap:wrap;gap:10px}.related-links a{padding:10px 14px;border:1px solid var(--line);border-radius:999px;color:var(--purple);font-weight:800}
.home-resources{padding:64px 0;background:var(--cream)}.resources-row{display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;align-items:start}.resources-intro h2{font:700 clamp(2.35rem,4vw,3.7rem)/1 'Saira Condensed';text-transform:uppercase}.resources-intro p{max-width:440px;color:var(--muted);margin:16px 0 22px}.resource-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.resource-card{min-height:255px;padding:24px;border:1px solid var(--line);border-radius:9px;background:#fff;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(45,8,44,.06)}.resource-card time,.resource-category{font-size:.72rem;line-height:1.3;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.resource-category{margin-top:5px;color:var(--purple)}.resource-card h3{font:700 clamp(1.4rem,2vw,1.85rem)/1.05 'Saira Condensed';text-transform:uppercase;margin:17px 0 10px}.resource-card h3 a:hover{color:var(--purple)}.resource-card p{font-size:.91rem;line-height:1.5;color:var(--muted);margin:0 0 18px}.resource-card .card-link{margin-top:auto}.resource-card-grid-all{grid-template-columns:repeat(3,minmax(0,1fr))}
.area-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.area-list span{padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:100px;font-size:.88rem;font-weight:700}.map{width:100%;height:440px;border:0;border-radius:8px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.gallery img{width:100%;height:270px;object-fit:cover}.gallery figcaption{padding:14px;font-weight:700}
.faq{display:grid;gap:12px}.faq details{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px 20px}.faq summary{font-weight:900;cursor:pointer;color:var(--deep)}.faq p{margin:12px 0 2px;color:var(--muted)}
.contact{background:var(--deep);color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.contact h2{font:700 clamp(2.5rem,4.5vw,4.5rem)/1 'Saira Condensed';text-transform:uppercase}.contact p{color:#dacdda}.contact-list{margin:28px 0;display:grid;gap:15px}.contact-list a,.contact-list address{font-style:normal;font-weight:800}.form{background:#fff;color:var(--ink);padding:35px;border-radius:8px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.field input,.field textarea,.field select{width:100%;border:1px solid #c9c2c8;border-radius:6px;padding:13px;background:#fbfafb}.field textarea{min-height:120px;resize:vertical}.form-note{grid-column:1/-1;font-size:.78rem;color:var(--muted);margin:0}.success{display:none;grid-column:1/-1;padding:12px;background:#f4edb4;border-radius:6px;font-weight:700}.success.show{display:block}
.sticky-mobile{display:none}footer{background:#160416;color:#d8cdd7;padding:48px 0}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:40px;font-size:.88rem}.footer-grid h3{color:#fff;font:700 1.25rem 'Saira Condensed';text-transform:uppercase}.footer-links{display:grid;gap:8px}.copyright{margin-top:35px;padding-top:22px;border-top:1px solid rgba(255,255,255,.15);font-size:.8rem}
.home-projects{background:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-grid figure{margin:0;border-radius:8px;overflow:hidden;background:var(--cream);border:1px solid var(--line)}.project-grid img{width:100%;height:320px;object-fit:cover}.project-grid figcaption{padding:15px 18px;font-weight:900}.project-link{margin:28px 0 0}.business-profile{background:var(--cream)}.business-profile-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:stretch}.business-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:38px}.business-card h2{font:700 clamp(2.4rem,4vw,4rem)/1 'Saira Condensed';text-transform:uppercase}.business-card address{font-style:normal;margin:22px 0}.google-rating{font-size:1.2rem;font-weight:900;color:var(--purple)}.business-profile .map{height:100%;min-height:460px}.business-profile .actions{margin-top:24px}
.service{position:relative;overflow:hidden;isolation:isolate}.service>*{position:relative;z-index:2}.service:before,.service:after{content:"";position:absolute;inset:0;opacity:0;transition:opacity .32s ease,transform .5s ease}.service:before{z-index:0;background:center/cover no-repeat;transform:scale(1.06)}.service:after{z-index:1;background:linear-gradient(180deg,rgba(45,8,44,.68),rgba(22,4,22,.88))}.service:nth-child(1):before{background-image:url('/assets/hover-maintenance.webp')}.service:nth-child(2):before{background-image:url('/assets/hover-termite.webp')}.service:nth-child(3):before{background-image:url('/assets/hover-tick-flea.webp')}.service:nth-child(4):before{background-image:url('/assets/hover-bed-bug.webp')}.service:nth-child(5):before{background-image:url('/assets/hover-rodent.webp')}.service:nth-child(6):before{background-image:url('/assets/hornets-nest.jpg')}.service:hover:before,.service:focus-visible:before{opacity:1;transform:scale(1)}.service:hover:after,.service:focus-visible:after{opacity:1}.service:hover .arrow,.service:focus-visible .arrow{color:var(--yellow)}
.expertise-gallery{background:var(--cream)}.project-carousel{position:relative;min-width:0}.project-slide{display:none;margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.project-slide.is-active{display:block;animation:projectFade .45s ease}.project-slide img{width:100%;height:460px;object-fit:cover}.project-slide figcaption{min-height:58px;padding:15px 18px;font-weight:900}.carousel-controls{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.carousel-controls button{width:44px;height:44px;border:1px solid var(--purple);border-radius:50%;background:#fff;color:var(--purple);font-size:1.25rem;font-weight:900;cursor:pointer}.carousel-controls button:hover,.carousel-controls button:focus-visible{background:var(--purple);color:#fff}.carousel-controls span{font-size:.84rem;font-weight:900;color:var(--muted)}@keyframes projectFade{from{opacity:.25}to{opacity:1}}
@media(max-width:980px){.project-grid{grid-template-columns:repeat(2,1fr)}.project-grid figure:last-child{grid-column:1/-1}.business-profile-grid{grid-template-columns:1fr}.business-profile .map{min-height:420px}}
@media(max-width:650px){.project-grid{grid-template-columns:1fr}.project-grid figure:last-child{grid-column:auto}.project-grid img{height:280px}.business-card{padding:26px}.business-profile .map{min-height:350px}}
@media(max-width:650px){.project-slide img{height:340px}}
@media(max-width:980px){nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}nav.open{display:flex}.menu{display:block}.nav>.btn{display:none}.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.hero-copy{padding:80px 28px}.hero-media{min-height:440px}.proof-grid{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.section-head{grid-template-columns:1fr}.cards,.gallery{grid-template-columns:1fr 1fr}.discount .wrap{grid-template-columns:1fr}.badge{width:130px;height:130px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.resources-row{grid-template-columns:1fr;gap:28px}.resource-card-grid-all{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.wrap{width:min(100% - 28px,1180px)}.topbar .wrap span:first-child{display:none}.topbar .wrap{justify-content:center}.nav{height:68px}.brandtext{font-size:1.08rem}.brandmark{width:38px;height:38px}h1{font-size:3.1rem}.hero-copy{padding:65px 20px}.hero-media{min-height:370px}.trust-float{left:14px;bottom:14px}.proof-item{padding:17px 13px}.service-grid,.review-grid,.checklist,.cards,.gallery,.footer-grid{grid-template-columns:1fr}section{padding:65px 0}.split img{height:360px}.form{grid-template-columns:1fr;padding:23px}.field.full,.form-note{grid-column:auto}.sticky-mobile{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;z-index:50;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -5px 20px rgba(45,8,44,.16)}.sticky-mobile a{padding:12px 5px;text-align:center;font-size:.78rem;font-weight:900;border-right:1px solid var(--line)}body{padding-bottom:48px}}
@media(max-width:650px){.review-recognition{padding:24px 15px}.recognition-badges{gap:10px;margin-top:20px}.recognition-badges img{width:30%;height:100px}}
@media(max-width:650px){.home-resources{padding:52px 0}.resource-card-grid,.resource-card-grid-all{grid-template-columns:1fr}.resource-card{min-height:0;padding:21px}.resource-card h3{font-size:1.6rem}}

.testimonial-rows{display:grid;gap:14px}
.testimonial-row{overflow-x:auto;overscroll-behavior-inline:contain}
.testimonial-row:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
.testimonial-track,.testimonial-strip{display:flex;width:max-content}
.testimonial-strip{gap:12px;padding-right:12px}
.testimonial-row .review{width:clamp(245px,26vw,300px);padding:15px 17px;background:#fbf8f6}
.testimonial-row .review blockquote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;font-size:.92rem;line-height:1.45;margin:8px 0 10px}
.testimonial-actions{margin-top:22px;align-items:center}
