/* Responsive fit only: the desktop design, content, components and motion stay intact. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.mobile-site :is(section,article,div,figure,fieldset){min-width:0}
.mobile-site :is(img,video){max-width:100%}
.mobile-site :is(a,button,summary,input,select,textarea){touch-action:manipulation}
.mobile-site [hidden]{display:none!important}
.mobile-site .mobile-room-tabs{display:none}
@media(max-width:1000px){
 html{scroll-padding-top:96px}
 body.mobile-site{width:100%;min-width:0;overflow-wrap:break-word}
 .mobile-site h1{font-size:clamp(38px,8vw,60px)!important;line-height:1.08!important;letter-spacing:-.035em!important}
 .mobile-site h2{font-size:clamp(30px,6vw,44px)!important;line-height:1.15!important;letter-spacing:-.025em!important}
 .mobile-site :is(p,li,summary){word-break:normal;hyphens:none}
 .mobile-site :is(button,summary){min-height:44px}
 .mobile-site :is(.button,a.button,button.button){min-height:48px;max-width:100%;white-space:normal;font-size:14px!important;line-height:1.5!important;padding:14px 22px!important}
 .mobile-site :is(.label,.eyebrow){font-size:11.5px!important;letter-spacing:.14em!important;line-height:1.5!important;max-width:100%}
 .mobile-site :is(.section,.pg-hero,.pg-cal,.pg-check,.pg-look,.pg-signs,.pg-visit){padding:44px 24px!important}
 .mobile-site .topline{display:flex!important;flex-wrap:wrap;justify-content:center;gap:2px 16px;padding:8px 16px!important;font-size:11px!important;line-height:1.5}
 .mobile-site .topline>span{display:block!important}
 .mobile-site :is(header,.site-header){min-height:82px;height:auto;padding:6px 22px!important;gap:18px;z-index:50}
 .mobile-site header>a,.mobile-site header :is(.logo,.logo-link,.service-logo){display:block;width:185px!important;max-width:100%!important;height:70px!important;overflow:visible;padding:0!important;flex-shrink:1}
 .mobile-site header>a img{display:block;width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important}
 .mobile-site header .menu{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;min-width:70px;padding:10px 14px;border:1px solid #00144633;border-radius:999px;background:#fff;color:var(--navy);font:600 13px var(--body);cursor:pointer}
 .mobile-site header :is(#nav,#about-nav){display:none!important;position:absolute;inset:100% 0 auto;padding:16px 22px 24px!important;margin:0;max-height:calc(100svh - 82px);overflow:auto;flex-direction:column;align-items:stretch;gap:6px!important;background:#fff;box-shadow:0 14px 24px #00144618}
 .mobile-site header :is(#nav,#about-nav).open{display:flex!important}
 .mobile-site header nav>a{min-height:48px;display:flex;align-items:center;padding:12px 16px!important;font-size:16px!important}
 .mobile-site header nav>a.button{margin-top:8px;justify-content:center}
 /* Same hero composition, reflowed so both people and every label remain visible. */
 .mobile-site .hero{display:flex!important;flex-direction:column;min-height:0!important;overflow:hidden}
 .mobile-site .hero .hero-copy{position:relative!important;inset:auto!important;width:100%!important;max-width:none;padding:36px 24px 26px!important;z-index:2}
 .mobile-site .hero h1{font-size:clamp(44px,10vw,64px)!important;line-height:1.05!important;max-width:14ch;margin:0 0 24px!important}
 .mobile-site .hero .lead{max-width:36em;font-size:17px!important;line-height:1.75}
 .mobile-site .hero .actions{gap:12px;margin-top:26px}.mobile-site .hero .actions>a{flex:1 1 230px}
 .mobile-site .hero-note{font-size:12px!important;line-height:1.7;margin-top:22px}
 .mobile-site .hero .brand-panel{position:relative!important;inset:auto!important;display:block;width:100%!important;padding:0!important;overflow:hidden}
 .mobile-site .hero .hero-photo{position:relative!important;inset:auto!important;display:block;width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important;-webkit-mask-image:linear-gradient(180deg,transparent,#000 10%,#000 96%,transparent);mask-image:linear-gradient(180deg,transparent,#000 10%,#000 96%,transparent)}
 .mobile-site .hero:after,.mobile-site .hero .brand-panel:after{display:none!important}
 .mobile-site .hero .panel-caption{position:relative!important;inset:auto!important;width:auto!important;max-width:none;margin:14px 24px 28px!important;padding:20px!important}
 .mobile-site .panel-caption .caption-kicker{font-size:10px;line-height:1.5}.mobile-site .owner-labels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%}
 .mobile-site .owner-label{padding:0!important;border:0!important}.mobile-site .owner-label strong{font-size:16px;line-height:1.5}.mobile-site .owner-label span{display:block;font-size:11px;line-height:1.75}
 /* Keep the full story and its original cards, with the photograph at its natural ratio. */
 .mobile-site #story{display:flex!important;flex-direction:column;min-height:0!important;gap:0!important;padding:0!important}
 .mobile-site #story .story-photo{position:relative!important;inset:auto!important;order:0;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;margin:0!important;translate:none!important;-webkit-mask-image:none!important;mask-image:none!important;border-radius:0!important}
 .mobile-site #story .story-photo img{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important}
 .mobile-site #story .story-photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,var(--navy),transparent 24%)}
 .mobile-site #story .story-copy{position:relative!important;inset:auto!important;order:1;width:100%!important;max-width:none!important;margin:0!important;padding:28px 24px 44px!important}
 .mobile-site #story .story-copy h2{font-size:clamp(34px,7vw,48px)!important}
 .mobile-site #story .story-copy .story-sub{white-space:normal!important;min-height:0!important;font-size:16px!important;margin:0 0 26px!important}
 .mobile-site #story .story-points{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:none;margin:0 0 26px!important}
 .mobile-site .pests-head,.mobile-site .ba-head{display:block!important}.mobile-site .pests-head>p,.mobile-site .ba-head>p{margin-top:22px}
 .mobile-site .pest-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.mobile-site .pest-feature{grid-column:1/-1!important}
 .mobile-site .pest-tile{min-height:220px!important}.mobile-site .pest-art{height:100px!important}.mobile-site .pest-name{font-size:19px!important}.mobile-site .pest-sub{font-size:12px!important}
 .mobile-site .ba-steps,.mobile-site .steps{grid-template-columns:1fr!important;gap:18px!important}.mobile-site #approach .number{white-space:nowrap;line-height:1.1}
 .mobile-site .ba-stage{aspect-ratio:16/10}.mobile-site .ba-range{padding:0!important;min-height:0!important;border:0!important}
 .mobile-site .ba-notes li{font-size:9px;padding:4px 7px}.mobile-site .ba-knob{width:44px;height:44px;margin:-22px 0 0 -22px}
 .mobile-site #location{grid-template-columns:1fr!important;gap:30px!important}.mobile-site .area-map{height:auto!important}.mobile-site .am-svg{width:100%;height:auto!important}
 .mobile-site #questions,.mobile-site .contact{grid-template-columns:1fr!important;gap:32px!important}.mobile-site .faq-intro{position:static!important}
 .mobile-site .faq-photo img{width:100%!important;height:auto!important;object-fit:contain!important;aspect-ratio:auto!important}
 .mobile-site .faq-call{position:relative;inset:auto;margin-top:12px;gap:12px;flex-wrap:wrap}.mobile-site .faq-call a{min-height:44px}
 .mobile-site .contact .phone{font-size:clamp(27px,6vw,38px)!important}.mobile-site .contact .email{font-size:15px!important;overflow-wrap:anywhere}
 .mobile-site .field-row{grid-template-columns:1fr!important;gap:0}.mobile-site form{padding:28px 22px!important}
 .mobile-site :is(input:not([type=range]):not([type=checkbox]),select,textarea){font-size:16px!important;max-width:100%;min-height:48px}
 /* Original About blocks already stack; these rules prevent fixed desktop sizing. */
 .mobile-site .about-hero{grid-template-columns:1fr!important;padding:36px 24px 56px!important;gap:32px!important}
 .mobile-site .about-hero .story-copy{padding:0!important}.mobile-site .story-facts{grid-template-columns:1fr!important;gap:14px}
 .mobile-site .story-facts li{padding:0!important;border:0!important;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
 .mobile-site .then-now{max-width:680px;margin:auto}.mobile-site .tn-tag{font-size:11px;right:12px;top:12px}.mobile-site .tn-tag b{font-size:9px}
 .mobile-site :is(.family,.work){display:flex!important;flex-direction:column;min-height:0!important;padding:0!important;gap:0!important}
 .mobile-site :is(.family-copy,.work .copy){position:relative!important;inset:auto!important;order:0;width:100%!important;max-width:none!important;margin:0!important;padding:40px 24px 26px!important}
 .mobile-site :is(.family-photo,.work-photo){position:relative!important;inset:auto!important;order:1;display:block;width:100%!important;height:auto!important;min-height:0;margin:0}
 .mobile-site :is(.family-photo,.work-photo) img{display:block;width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important}
 .mobile-site :is(.family,.work):after{display:none!important}.mobile-site :is(.family-photo,.work-photo):after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#fff,rgba(255,255,255,.5) 8%,transparent 24%)}
 .mobile-site .why-pillars{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;border:0!important}.mobile-site .why-pillar{min-height:400px!important;border-radius:22px;padding:28px!important;flex:none!important}
 .mobile-site .why-pillar p{min-width:0!important;max-width:none}.mobile-site .why-pillar .pillar-number{color:#fff!important}
 /* Same services photograph, blended into the original navy copy. */
 .mobile-site .overview-backdrop{position:relative!important;inset:auto!important;width:100%;height:auto!important;aspect-ratio:1678/937;margin:0;overflow:hidden}
 .mobile-site .overview-backdrop img{width:100%;height:100%!important;object-fit:contain!important;object-position:center!important;translate:none!important}
 .mobile-site .overview-backdrop:after{background:linear-gradient(0deg,var(--navy),transparent 32%)!important}
 .mobile-site.services-overview #main{margin-top:-1px;background:#fff}
 .mobile-site.services-overview .overview-hero{display:block!important;width:100%;margin:0!important;min-height:0!important;padding:28px 24px 44px!important;background:var(--navy)}
 .mobile-site .overview-hero>div{width:100%!important;max-width:45em}.mobile-site .overview-hero .intro{font-size:17px!important}
 .mobile-site.services-overview #choose-service{width:100%!important;margin:0!important;padding:44px 24px!important;border:0!important;border-radius:0!important;box-shadow:none!important}
 .mobile-site .service-cards{grid-template-columns:1fr!important}.mobile-site .service-card p{min-height:0}.mobile-site .service-card figure{height:240px!important}
 .mobile-site .service-hero{grid-template-columns:1fr!important;width:auto!important;margin-inline:24px;gap:26px!important;padding-block:34px!important}
 .mobile-site .pest-hero{width:100%!important;min-height:0!important;margin:0!important;background:none!important}.mobile-site .pest-hero img{width:100%!important;height:300px!important;object-fit:contain!important}
 .mobile-site .pest-hero.family-cutout img{height:auto!important;max-height:500px;object-fit:contain!important}
 .mobile-site .service-nav{position:relative!important;inset:auto!important;display:flex;flex-wrap:wrap;gap:8px;padding:16px 24px!important;white-space:normal}
 .mobile-site .service-nav a{flex:1 1 90px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:12px;white-space:normal}
 .mobile-site .understand.immersive{display:flex!important;flex-direction:column;min-height:0!important;padding:0!important;gap:0!important;width:100%!important;margin:0!important}
 .mobile-site .understand.immersive>div{position:relative;order:1;width:100%!important;max-width:none!important;margin:0!important;padding:30px 24px 40px!important}
 .mobile-site .understand.immersive figure.pest-motion,.mobile-site .general-property .property-photo{position:relative!important;inset:auto!important;order:0;width:100%!important;height:auto!important;margin:0;display:block;border-radius:0!important}
 .mobile-site .understand.immersive:after{display:none!important}.mobile-site .pest-motion video{display:block;width:100%!important;height:auto!important;aspect-ratio:16/10;object-fit:cover}
 .mobile-site .property-photo img{width:100%!important;height:auto!important;object-fit:contain!important}
 .mobile-site .step-grid{grid-template-columns:1fr!important;gap:0!important}.mobile-site .prep-panel{grid-template-columns:1fr!important;gap:24px!important;padding:28px 24px!important}
 .mobile-site .support-panel{grid-template-columns:1fr!important;gap:28px!important;padding:34px 26px!important;min-height:0!important}
 .mobile-site .support-copy{padding:0!important;border:0!important}.mobile-site .support-copy p{padding:0!important;font-size:16px!important;line-height:1.8!important}
 .mobile-site .equipment-scene{object-fit:cover;opacity:.28}.mobile-site .support-contact{max-width:100%;padding:18px!important;gap:12px}
 .mobile-site .sc-faces img{width:38px;height:38px}.mobile-site .sc-copy{min-width:0}.mobile-site .sc-copy strong{font-size:11px}.mobile-site .sc-copy a{font-size:18px!important;white-space:normal;min-height:44px;display:flex;align-items:center}
 .mobile-site :is(.contact-band,.service-contact){display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:34px 24px!important}
 .mobile-site .service-contact>.wrap{display:flex;flex-direction:column;align-items:stretch;gap:24px;width:100%;margin:0}
 /* The guide keeps every original component and adds labelled touch choices. */
 .mobile-site .pg-hero,.mobile-site .pg-check,.mobile-site .pg-cal-head{grid-template-columns:1fr!important}.mobile-site .pg-hero-copy{padding-top:0}
 .mobile-site .pg-house-wrap{width:100%}.mobile-site .pg-house{width:100%;height:auto;aspect-ratio:640/520}.mobile-site .pg-house-svg{width:100%;height:100%}
 .mobile-site .mobile-room-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.mobile-site .mobile-room-tab{flex:1 1 95px;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font:600 12px/1.5 var(--body)}
 .mobile-site .mobile-room-tab[aria-pressed=true]{background:var(--navy);color:#fff}.mobile-site .pg-house>.pg-spot{width:36px;height:36px;min-height:36px}
 .mobile-site .pg-grid-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-site .pg-grid tbody th{position:sticky;left:0;background:var(--navy);z-index:2}
 .mobile-site .pg-progress{position:static}.mobile-site .pg-rooms{grid-template-columns:1fr!important}.mobile-site .pg-room input{min-height:0!important}
 .mobile-site .pg-vs{grid-template-columns:minmax(0,1fr)!important;gap:18px!important;align-items:stretch}.mobile-site .pg-vs-badge{justify-self:center}
 .mobile-site .pg-vs-card{padding:26px}.mobile-site .pg-vs-card dl{grid-template-columns:78px minmax(0,1fr);gap:14px 12px}.mobile-site .pg-vs-card dt{font-size:10px;letter-spacing:.08em;white-space:nowrap}.mobile-site .pg-vs-card dd{font-size:15px;line-height:1.65}
 .mobile-site .pg-sign-list a{display:grid!important;grid-template-columns:54px minmax(0,1fr) 20px!important;grid-template-rows:auto auto;gap:8px 14px!important;padding:22px 14px!important;min-height:125px}
 .mobile-site .pg-sign-n{display:none}.mobile-site .pg-sign-t{grid-column:2;grid-row:1;font-size:17px;line-height:1.5}.mobile-site .pg-sign-s{grid-column:2;grid-row:2;justify-self:start;font-size:11px;padding:6px 10px}
 .mobile-site .pg-sign-list img{position:static!important;inset:auto!important;display:block!important;grid-column:1;grid-row:1/3;width:54px;height:72px;object-fit:contain;opacity:1!important;scale:1!important;rotate:0deg!important;translate:none!important}
 .mobile-site .pg-sign-list a:after{content:'→';position:static;grid-column:3;grid-row:1/3;font-size:24px}
 /* Center the original footer contents, without hiding or removing credits. */
 .mobile-site footer{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:26px!important;padding:38px 24px 28px!important;text-align:center}
 .mobile-site footer>.footer-content,.mobile-site footer>.footer-row{display:flex!important;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:22px!important;padding:0!important;margin:0!important}
 .mobile-site footer :is(.logo-link,.footer-brand),.mobile-site footer>img{display:block;width:min(300px,100%)!important;height:auto!important;max-width:100%;margin:0 auto!important;overflow:visible}
 .mobile-site footer :is(.logo-link,.footer-brand) img{width:100%!important;height:auto!important;transform:none!important;object-fit:contain}
 .mobile-site footer nav{position:static!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px!important;width:min(320px,100%);margin:0 auto!important;padding:0!important;border:0!important;box-shadow:none}
 .mobile-site footer nav a{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0!important;padding:10px 4px!important;font-size:14px!important}
 .mobile-site footer .footer-statement{max-width:100%;margin:0!important}.mobile-site footer .footer-statement strong{font-size:28px!important}
 .mobile-site footer .footer-bottom{width:100%;margin:0!important;padding-top:20px!important}.mobile-site footer :is(.site-credit,.photo-credit,.service-credit){font-size:10px!important;line-height:1.8!important;overflow-wrap:anywhere}
}
@media(max-width:540px){
 .mobile-site #story .story-points{grid-template-columns:1fr!important}.mobile-site .pest-tile{padding:18px!important}.mobile-site .pest-go{width:28px;height:28px;right:12px;bottom:12px}
 .mobile-site .pest-name{padding-right:0!important;font-size:17px!important}.mobile-site .pest-sub{padding-right:0!important;font-size:11px!important}
 .mobile-site .pg-toc{display:grid;grid-template-columns:1fr}.mobile-site .pg-toc a{display:flex;min-height:48px;align-items:center;gap:12px;font-size:13px}
 .mobile-site .pg-card{grid-template-columns:74px minmax(0,1fr)!important;gap:16px;padding:20px}.mobile-site .pg-card img{width:74px;height:90px;object-fit:contain}.mobile-site .pg-card h2{font-size:24px!important}.mobile-site .pg-card p{font-size:14px!important}.mobile-site .pg-card-links a{min-height:44px;display:flex;align-items:center}
 .mobile-site .rv-label{font-size:11px;letter-spacing:.05em;gap:10px}.mobile-site .rv-label:before,.mobile-site .rv-label:after{flex-basis:20px}
 .mobile-site .rv-card{width:290px;flex-basis:290px}.mobile-site .rv-foot{flex-wrap:wrap;gap:16px}.mobile-site .rv-all{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:359px){
 .mobile-site header>a,.mobile-site header :is(.logo,.logo-link,.service-logo){width:160px!important}.mobile-site .hero .panel-caption{margin-inline:18px!important;padding:16px!important}.mobile-site .owner-label strong{font-size:14px}.mobile-site .owner-label span{font-size:10px}
 .mobile-site .hero .hero-copy{padding-inline:18px!important}.mobile-site .pg-card{grid-template-columns:1fr!important}.mobile-site .support-contact{flex-wrap:wrap}
 .mobile-site .pg-sign-list a{grid-template-columns:42px minmax(0,1fr) 18px!important;gap:8px 10px!important}.mobile-site .pg-sign-list img{width:42px}.mobile-site .pg-sign-t{font-size:15px}.mobile-site .pg-vs-card{padding:22px}
 .mobile-site .rv-label:before,.mobile-site .rv-label:after{display:none}
}
@media(min-width:701px) and (max-width:1000px){.mobile-site .pg-vs{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;gap:16px!important}.mobile-site .pg-vs-card{padding:22px}.mobile-site .pg-vs-badge{width:40px;height:40px;font-size:16px}.mobile-site .pg-vs-card dl{grid-template-columns:1fr}.mobile-site .pg-vs-card dd{margin-bottom:6px}.mobile-site .pg-rooms{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.mobile-site .review-marquee.touch-paused .rv-track{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.mobile-site *,.mobile-site *:before,.mobile-site *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1000px){.mobile-site main{overflow-x:clip}.mobile-site .mobile-reveal-hint{position:relative;z-index:3;pointer-events:none;font-size:11px;color:#d8e2f3;display:block;margin-top:12px}}
/* Keep the Services photograph above the page's opaque white background. */
.mobile-site.services-overview #main{isolation:isolate}
@media(max-width:1000px){
 .mobile-site.services-overview .overview-backdrop{z-index:0!important;display:block!important;opacity:1!important;visibility:visible!important;background:var(--navy)}
 .mobile-site.services-overview .overview-backdrop img{display:block;opacity:1!important;visibility:visible!important}
 .mobile-site.services-overview .overview-hero{position:relative;z-index:1}
}
.mobile-site #approach>h2 .approach-line{display:block;white-space:nowrap}
.mobile-site #approach>h2{font-size:clamp(22px,6.2vw,52px)!important;line-height:1.2!important}
/* About opening: mobile-only caption spacing and centered brand decoration. */
@media(max-width:1000px){
 .mobile-site .about-hero .tn-then figcaption{display:block;width:100%;max-width:none;margin:30px auto 0!important;padding:0 8px!important;text-align:center!important;line-height:1.75}
 .mobile-site .about-hero .then-now{padding-bottom:140px!important}
 .mobile-site .about-hero:before{left:50%!important;right:auto!important;bottom:0!important;width:min(620px,85%)!important;transform:translateX(-50%)!important;background-position:center bottom!important}
}
@media(max-width:1000px){body.mobile-site #main .about-hero .tn-then figcaption.historical-caption{text-align:center!important;text-align-last:center!important}}
