/* Purpose-built responsive layout. Grid children shrink at the component
   level; horizontal overflow is fixed at its source, never concealed. */
@media(max-width:820px){
 .p247-nav__trigger{justify-content:space-between;width:100%}
 body.p247-menu-open{overflow-y:hidden}
 .p247-topbar a[href^="tel"]{display:none!important}
 main a[href^="tel"],.p247-footer a[href^="tel"]{display:none!important}
 .p247-header__inner{display:grid;grid-template-columns:42px minmax(0,190px) 42px;justify-content:space-between;gap:8px}
 .p247-header__inner:before{content:"";width:42px;height:42px}
 .p247-brand{grid-column:2;width:190px;max-width:100%;min-width:0}
 .p247-header__actions{display:none}
 .p247-menu-toggle{position:relative;grid-column:3;order:4;width:42px;margin:0;border:1px solid var(--line);border-radius:10px;transition:background .2s ease,border-color .2s ease}
 .p247-menu-toggle span:not(.screen-reader-text){position:absolute;left:9px;transition:transform .22s ease,opacity .18s ease}
 .p247-menu-toggle span:nth-child(1){transform:translateY(-7px)}
 .p247-menu-toggle span:nth-child(3){transform:translateY(7px)}
 .p247-menu-toggle[aria-expanded=true]{background:var(--mint);border-color:#b9ddc8}
 .p247-menu-toggle[aria-expanded=true] span:nth-child(1){transform:rotate(45deg)}
 .p247-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
 .p247-menu-toggle[aria-expanded=true] span:nth-child(3){transform:rotate(-45deg)}
 .p247-nav{position:absolute;inset:100% 0 auto;z-index:110;max-height:calc(100dvh - 104px);overflow-y:auto;overscroll-behavior:contain;padding:10px 16px 24px;background:#fff;border-top:1px solid var(--line);box-shadow:0 18px 42px rgba(11,77,53,.16)}
 .p247-nav.is-open{display:flex}
 .p247-nav__item{width:100%;min-height:52px;padding:13px 4px;border-bottom:1px solid var(--line);font-size:.96rem;text-align:left}
 .p247-nav__trigger{display:flex;align-items:center;justify-content:space-between}
 .p247-nav__trigger span{font-size:0}
 .p247-nav__trigger span:after{content:"+";display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--mint);color:var(--forest);font-size:1.15rem;transition:transform .2s ease}
 .p247-nav__trigger[aria-expanded=true] span:after{transform:rotate(45deg)}
 .p247-mega{position:fixed;inset:260px 0 auto;z-index:115;max-height:calc(100dvh - 260px);overflow-y:auto;padding:0;background:#f7faf8;border:0;border-top:1px solid var(--line);box-shadow:0 18px 42px rgba(11,77,53,.16)}
 .p247-mega>.p247-wrap{width:100%;margin:0}
 .p247-mega__grid,.p247-mega__grid--three{display:grid;grid-template-columns:1fr;gap:0;padding:10px 20px 22px}
 .p247-mega__grid>div{min-width:0;padding:12px 4px;border-bottom:1px solid var(--line)}
 .p247-mega__grid>div:last-child{border-bottom:0}
 .p247-mega h3{margin:0 0 6px;font-size:.72rem}
 .p247-mega a{padding:7px 0;font-size:.88rem}
 .p247-mega__feature{margin-top:8px;padding:15px!important;border:1px solid #cde8d9!important}
 .p247-mega__feature h3{font-size:1.35rem}
 .p247-hero__content,.p247-solutions__layout>*,.p247-solution-grid>*,.p247-two-col>*,.p247-review-platforms>*,.p247-review-grid>*,.p247-local__grid>*,.p247-faq-related__grid>*,.p247-final-cta__grid>*,.p247-footer__grid>*,.p247-post-grid>*,.p247-contact-layout>*{min-width:0}
 .p247-local__grid>img,.p247-testimonial img,.p247-article img,.entry-content img{max-width:100%;height:auto}
 .p247-review-score{flex-wrap:wrap}
 .p247-footer__grid{gap:28px}
 .p247-problems{padding:62px 0 68px}
 .p247-problems__header{grid-template-columns:minmax(0,1fr);gap:13px;margin-bottom:28px}
 .p247-solutions{padding:62px 0 68px}
 .p247-solutions__header{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:30px}
 .p247-solutions__all{position:static;justify-self:end}
 .p247-solutions__layout{gap:14px}
 .p247-image-card{min-height:250px}
 .p247-industries-process{padding:68px 0 72px}.p247-industry-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.p247-workflow__steps{grid-template-columns:repeat(2,minmax(0,1fr))}.p247-workflow__steps:before{display:none}
 .p247-results{padding:68px 0 72px}.p247-case-comparison{min-height:430px}.p247-case-study__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.p247-case-study__facts li:nth-child(2){border-right:0}.p247-case-study__facts li:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .p247-pricing-section{padding:68px 0 72px}.p247-price-factors{grid-template-columns:repeat(3,minmax(0,1fr))}.p247-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p247-pricing-cta{align-items:flex-start}.p247-pricing-cta>div:last-child{display:grid}
 .p247-home-service-reviews{padding:68px 0}
}

@media(prefers-reduced-motion:reduce){
 .p247-mega,.p247-nav__chevron{transition:none}
}

@media(max-width:560px){
 .p247-wrap{width:calc(100% - 32px)}
 .p247-topbar__inner span:first-child{font-size:.7rem}
 .p247-header__inner{min-height:68px}
 .p247-brand{width:190px}
 .p247-nav{max-height:calc(100dvh - 102px)}
 .p247-mega{inset:258px 0 auto;max-height:calc(100dvh - 258px)}
 .p247-hero{display:flex;flex-direction:column;min-height:0}
 .p247-hero__inner{display:block;order:1;min-height:0}
 .p247-hero__media{position:relative;inset:auto;order:2;width:100%;height:300px}
 .p247-hero__media img{object-position:56% 15%}
 .p247-hero__media:after{width:100%;background:linear-gradient(180deg,var(--ivory),rgba(251,250,246,0) 28%)}
 .p247-hero__content{width:100%;padding:32px 0 24px}
 .p247-hero h1{font-size:clamp(2.35rem,10.5vw,2.9rem);letter-spacing:-.03em}
 .p247-hero__benefits{gap:7px;margin-bottom:14px}
 .p247-hero__benefits li{font-size:16px}
 .p247-actions{grid-template-columns:1fr}
 .p247-hero__certs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 .p247-section-head{align-items:flex-start;gap:12px}
 .p247-section-head a{flex:0 0 auto}
 .p247-problems{padding:48px 0 54px}
 .p247-problems__header{grid-template-columns:1fr;align-items:center;gap:12px;margin-bottom:24px}
 .p247-problems__intro p{font-size:16px;line-height:1.65}
 .p247-problems__all{justify-self:center;margin:0}
 .p247-pest-grid,.p247-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .p247-pest-grid{gap:12px}
 .p247-pest-card{padding:8px 8px 12px;border-radius:14px}
 .p247-pest-card strong{margin-top:9px}
 .p247-solutions{padding:48px 0 54px}.p247-solutions__header{grid-template-columns:1fr;gap:14px;margin-bottom:26px}.p247-solutions__intro h2{margin-top:8px}.p247-solutions__intro p{font-size:1rem;line-height:1.62}.p247-solutions__all{justify-self:end}.p247-solution-grid{grid-template-columns:1fr 1fr;gap:10px}.p247-mini-card{min-height:126px;display:grid;align-content:start;gap:10px;padding:14px 12px}.p247-mini-card__icon{width:38px;height:38px;flex-basis:38px}.p247-image-card{min-height:245px}.p247-image-card>span{inset:21px}.p247-image-card strong{font-size:1.9rem}
 .p247-industries-process{padding:52px 0 56px}.p247-industries-process__header{margin-bottom:30px}.p247-industries-process__header h2{font-size:2.35rem}.p247-industries-process__header p{font-size:1rem;line-height:1.62}.p247-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.p247-industry-card{min-height:166px;padding:16px 13px}.p247-industry-card>span{margin-bottom:14px}.p247-workflow{margin-top:38px;padding-top:38px}.p247-workflow__heading{margin-bottom:22px}.p247-workflow__heading h3{font-size:2.15rem}.p247-workflow__steps{grid-template-columns:1fr;gap:12px}.p247-workflow__steps article{min-height:0;padding:20px}.p247-workflow__steps i{margin-bottom:20px}
 .p247-results{padding:52px 0 56px}.p247-results__header{margin-bottom:28px}.p247-results__header h2{font-size:2.35rem}.p247-results__header p{font-size:1rem;line-height:1.62}.p247-case-study{border-radius:17px}.p247-case-comparison{min-height:310px}.p247-case-comparison__hint{top:12px;max-width:calc(100% - 24px);white-space:nowrap}.p247-case-comparison__handle{width:46px;height:46px}.p247-case-study__facts{grid-template-columns:1fr}.p247-case-study__facts li{justify-content:flex-start;min-height:54px;border-right:0;border-bottom:1px solid var(--line);text-align:left}.p247-case-study__facts li:last-child{border-bottom:0}.p247-results__action .p247-button{width:100%}
 .p247-pricing-section{padding:52px 0 56px}.p247-pricing-section__header h2{font-size:2.35rem}.p247-price-factors{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:30px}.p247-price-factors article{min-height:166px;padding:15px 13px}.p247-pricing-highlights{padding:20px 15px;border-radius:17px}.p247-pricing-highlights__heading{align-items:flex-start}.p247-pricing-highlights__heading h3{font-size:2rem}.p247-pricing-grid{grid-template-columns:1fr}.p247-pricing-grid article{min-height:160px}.p247-pricing-cta{display:grid;padding:23px 20px}.p247-pricing-cta>div:last-child{width:100%}.p247-pricing-cta .p247-button{width:100%}
 .p247-home-service-reviews{padding:52px 0}
 .p247-icon-row,.p247-guarantees__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .p247-trust-strip__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .p247-process__steps,.p247-post-grid{grid-template-columns:1fr}
 .p247-google-panel,.p247-why-panel,.p247-choice,.p247-pricing{padding:18px}
 .p247-review-score>strong{font-size:3rem}
 .p247-review-grid{grid-template-columns:1fr}
 .p247-local__grid>img{height:auto;max-height:240px}
 .p247-final-cta__grid>div:first-child{padding:24px 20px}
 .p247-final-cta__image{min-height:210px}
 .p247-footer{padding:40px 0 76px}
 .p247-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
 .p247-footer__brand,.p247-footer__contact{grid-column:1/-1}
 .p247-footer__contact .p247-button{width:100%;margin-top:8px}
 .p247-footer__legal{grid-template-columns:1fr;line-height:1.7}
 .p247-floating-call{left:16px;right:16px}
 .p247-page-header{padding-block:28px}
 .p247-page-header h1{font-size:clamp(2.3rem,12vw,3.2rem);overflow-wrap:anywhere}
 .p247-content{padding-block:38px}
 .p247-breadcrumbs{flex-wrap:wrap;margin-bottom:24px}
 .entry-content>*{max-width:100%}
 .entry-content table{display:block;max-width:100%;overflow-x:auto}
 .p247-contact-card,.p247-contact-aside{padding:20px}
 .p247-emergency-card{display:grid;right:16px;bottom:16px;min-width:224px;padding:12px 14px;grid-template-columns:40px auto;column-gap:11px}
 .p247-emergency-card__icon{width:40px;height:40px;border-radius:12px;font-size:1.15rem}
}

@media(max-width:360px){
 .p247-wrap{width:calc(100% - 24px)}
 .p247-header__inner{grid-template-columns:40px minmax(0,180px) 40px;gap:6px}
 .p247-header__inner:before{width:40px;height:40px}
 .p247-brand{width:180px}
 .p247-menu-toggle{width:40px;height:40px;flex-basis:40px}
 .p247-topbar__inner span:first-child{font-size:.65rem}
 .p247-pest-grid,.p247-related__grid{grid-template-columns:1fr}
 .p247-trust-strip__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .p247-hero__certs{gap:6px}
 .p247-footer__grid{grid-template-columns:1fr}
 .p247-footer__brand,.p247-footer__contact{grid-column:auto}
}

/* All Services Gutenberg hub */
@media(max-width:820px){
 .p247-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .p247-hub-intro,.p247-hub-faq{grid-template-columns:1fr}
}
@media(max-width:560px){
 .p247-native-page>.p247-hub-intro,.p247-native-page>.p247-hub-category,.p247-native-page>.p247-hub-faq,.p247-native-page>.p247-hub-cta{width:calc(100% - 32px)}
 .p247-hub-hero{padding:24px 0 40px}.p247-hub-hero .p247-breadcrumbs{margin-bottom:24px}.p247-hub-hero h1{font-size:clamp(2.65rem,14vw,3.7rem)}.p247-hub-hero__lead{font-size:.96rem}
 .p247-hub-intro{display:block;padding:44px 0 18px}.p247-hub-intro h2{margin-bottom:12px}
 .p247-hub-category{padding:23px 0}.p247-hub-grid{grid-template-columns:1fr;gap:12px}.p247-hub-card{min-height:0;padding:19px!important}.p247-hub-card__link{padding-top:14px}
 .p247-hub-faq{gap:22px;margin-top:38px!important;padding:24px!important}.p247-hub-faq h2{font-size:2rem}
 .p247-hub-cta{margin-bottom:48px!important;padding:26px 22px!important}.p247-hub-cta h2{font-size:2rem}.p247-hub-cta .wp-block-buttons{display:grid}.p247-hub-cta .wp-block-button,.p247-hub-cta .wp-block-button__link{width:100%}
}

/* Premium Services navigation */
@media(max-width:820px){
 .p247-mega--services{position:fixed;inset:102px 0 0;z-index:120;width:auto;height:calc(100dvh - 102px);max-height:none;padding:0;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(145deg,#f9fcfa,#eef7f2)}
 .p247-mega--services>.p247-wrap{width:100%;margin:0}
 .p247-mega__mobile-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
 .p247-mega__mobile-head strong{color:var(--forest);font-size:.92rem}
 .p247-mega__close{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--mint);color:var(--forest);font-size:1.35rem;line-height:1}
 .p247-mega__featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 16px;padding:10px;border-radius:14px}
 .p247-mega__featured-label{grid-column:1/-1;padding:2px 2px 5px}
 .p247-mega__featured a{justify-content:flex-start;min-width:0;height:58px;min-height:58px;padding:8px;font-size:.7rem;line-height:1.3;text-align:left;text-wrap:balance}
 .p247-mega__services-grid{grid-template-columns:1fr;gap:10px;padding:0 16px 24px}
 .p247-mega__group{padding:15px 16px}
 .p247-mega__group:hover{transform:none}
 .p247-mega__group h3{font-size:.75rem}
 .p247-mega__group a{padding:6px 0;font-size:.84rem}
 .p247-mega__group .p247-mega__view-all{padding-top:10px;font-size:.75rem}
}

@media(min-width:821px) and (max-width:1180px){
 .p247-mega__featured{grid-template-columns:auto repeat(3,minmax(0,1fr))}
 .p247-mega__services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:360px){
 .p247-mega--services{inset:102px 0 0;height:calc(100dvh - 102px)}
 .p247-mega__featured{margin-inline:12px}
 .p247-mega__services-grid{padding-inline:12px}
}
