/* Phone layouts: natural text flow, contained labels and stacked comparisons. */
@media(max-width:800px){
main,main *,section *,aside *{min-width:0}
p,li,figcaption,.note,.lead{word-break:normal;overflow-wrap:break-word;line-break:strict;letter-spacing:normal;text-align:left}
h2,h3{word-break:normal;overflow-wrap:break-word;line-break:strict;letter-spacing:normal;text-wrap:pretty}
main.wrap{width:100%;padding:0 16px;margin:0 auto}
main.wrap>.crumb{margin:18px 0;font-size:11px;line-height:1.7}
main.wrap>.hero{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:10px;padding:22px 16px;min-height:0;border-radius:18px;overflow:hidden;align-items:center}
main.wrap>.hero>div:first-child{display:block!important;transform:none!important;padding:0;min-height:0}
main.wrap>.hero h1{display:block!important;position:static;transform:none!important;width:auto;max-width:100%;min-height:0;padding:0;margin:9px 0 12px;font-size:clamp(20px,5.8vw,28px);line-height:1.55;letter-spacing:-.025em;text-align:left;white-space:normal}
main.wrap>.hero h1>span{display:block;white-space:nowrap}
main.wrap>.hero p{font-size:12px;line-height:1.85;margin:0;padding:0;max-width:none}
main.wrap>.hero>img{position:static;width:88px;height:125px;object-fit:contain;transform:none}
main.wrap>.hero .kicker{font-size:9px;letter-spacing:.1em}
main.wrap>.intro{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:30px 0 18px}
main.wrap>.intro h2{font-size:21px;line-height:1.6;margin:5px 0 0}
.panel{width:100%;padding:20px 15px;margin:18px 0 26px;border-radius:17px;overflow:visible}
.panel .case-head{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.panel .case-head>div{width:100%}
.panel .tag{display:inline-block;position:static;transform:none;white-space:normal;max-width:100%;font-size:10px;line-height:1.7;padding:5px 9px;margin:0 0 6px;height:auto}
.panel .case-head h3{font-size:20px;line-height:1.6;margin:5px 0 10px}
.panel .case-head p{font-size:12px;line-height:1.9;margin:0}
.status{position:static;max-width:100%;height:auto;white-space:normal;font-size:10px;line-height:1.6;padding:5px 10px}
.panel .pair,.panel .real-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin:20px 0 0}
.panel .real-pair figure{display:flex;flex-direction:column;align-items:stretch;position:static;margin:0;padding:0;min-width:0}
.panel .photo-label{display:block;position:static;align-self:flex-start;transform:none;margin:0 0 9px;padding:6px 11px;max-width:100%;font-size:10px;line-height:1.6;letter-spacing:.02em;white-space:normal;border-radius:8px;height:auto}
.panel .real-pair figure>a{display:block;width:100%;line-height:0}
.panel .real-pair img{display:block;width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain;border-radius:10px}
.panel .real-pair figcaption{position:static;margin:9px 0 0;padding:0;font-size:12px;line-height:1.8;height:auto}
.panel .info{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:20px}
.panel .info>div{padding:12px;font-size:12px;line-height:1.8}
.panel .info strong{display:block;margin-bottom:3px;line-height:1.5}
.panel .note{font-size:11px;line-height:1.85;margin:17px 0}
.panel .link{font-size:12px;line-height:1.8;max-width:100%;white-space:normal}
.story-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:13px}
.story-grid>a{height:auto;min-height:0;padding:22px 18px;white-space:normal}
.story-grid>a strong{font-size:22px;line-height:1.5;white-space:normal}
.story-grid>a span,.story-grid>a small{white-space:normal;line-height:1.7}
.review-hero{grid-template-columns:minmax(0,1fr) 85px;gap:10px;padding:22px 16px}
.review-hero h1{font-size:25px;line-height:1.5;letter-spacing:normal}.review-hero img{width:85px;height:125px}.review-hero p{font-size:12px;line-height:1.8}
.review-content{padding:22px 16px}.review-content h2{font-size:21px;line-height:1.6}
.sample-voices{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.customer-voice{padding:20px 15px;height:auto}.customer-voice h3{font-size:17px;line-height:1.65}.customer-voice p{font-size:13px;line-height:1.95}.voice-person{flex-wrap:wrap;gap:9px}.voice-person strong{white-space:normal}.customer-rating{white-space:nowrap;font-size:15px;letter-spacing:.03em}
.estimate-panel{max-width:100%;padding:22px 14px;margin:30px auto;border-radius:18px}.estimate-questions{display:flex;flex-wrap:wrap;position:static;gap:6px;margin:0 0 15px;transform:none}.estimate-questions>span{white-space:normal;flex:1 1 100px;font-size:9px;line-height:1.6;padding:6px 8px;height:auto}
.estimate-intro{display:flex;gap:10px;align-items:center;min-height:0;padding:0;margin:0 0 17px}.estimate-intro>img{position:static!important;transform:none!important;flex:0 0 72px;width:72px;height:100px;object-fit:contain;margin:0}.estimate-intro>div{flex:1;min-width:0}.estimate-intro p{font-size:10px;line-height:1.6;margin:0 0 5px}.estimate-intro h2{font-size:18px;line-height:1.65;margin:0 0 8px;letter-spacing:normal}.estimate-intro h2 em{display:block;white-space:normal;font-size:21px;line-height:1.6}.estimate-intro .panel-hours{display:inline-block;position:static;transform:none;font-size:11px;line-height:1.5;padding:5px 10px;white-space:nowrap}
.estimate-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.estimate-channels>a{min-width:0;height:auto;min-height:76px;padding:12px 8px;gap:7px;line-height:1.5}.estimate-channels .estimate-tel{grid-column:1/-1}.estimate-tel>strong{font-size:clamp(26px,7.7vw,34px);letter-spacing:0;line-height:1.3;white-space:nowrap}.estimate-channels a strong{line-height:1.5}.estimate-mail>strong,.estimate-line>strong{font-size:12px}.estimate-channels a>span{flex-shrink:0}
#contact .contact-grid{grid-template-columns:minmax(0,1fr)}.inquiry-form-box{padding:20px 15px}.inquiry-form-box h3{font-size:20px;line-height:1.6}.inquiry-form-box input,.inquiry-form-box select,.inquiry-form-box textarea{max-width:100%;min-width:0;font-size:16px}
.animal-grid .card h3{white-space:normal;line-height:1.5}.animal-grid .card p{line-height:1.8}.other-home-services strong{white-space:normal;line-height:1.7}
.related{gap:12px 20px;line-height:1.8}.foot{padding:24px 16px;line-height:1.9}
}
@media(max-width:360px){main.wrap{padding:0 12px}main.wrap>.hero{grid-template-columns:minmax(0,1fr) 65px;padding:19px 13px;gap:6px}main.wrap>.hero>img{width:65px;height:110px}main.wrap>.hero h1{font-size:19px}.panel{padding:18px 13px}.panel .case-head h3{font-size:18px}.estimate-intro>img{flex-basis:60px;width:60px;height:88px}.estimate-intro h2{font-size:16px}.estimate-intro h2 em{font-size:19px}}

@media(max-width:800px){
h2,h3{text-wrap:balance}
p,.lead,figcaption,.note{text-wrap:pretty;word-break:normal;line-break:strict;overflow-wrap:break-word}
main.wrap>.hero{grid-template-columns:minmax(0,1fr);padding:22px 18px;gap:12px}
main.wrap>.hero>div:first-child{position:relative;z-index:2;padding-right:0}
main.wrap>.hero h1{font-size:clamp(23px,6.6vw,30px);line-height:1.5;margin:8px 0 12px;letter-spacing:-.03em}
main.wrap>.hero>img{display:none}
main.wrap>.hero p{max-width:31em;line-height:1.85}
.panel .case-head h3.phrase-heading{font-size:20px;line-height:1.6;text-wrap:initial}
.phrase-heading>span{max-width:100%;white-space:normal;overflow-wrap:break-word}
.panel .case-head h3.phrase-heading>span{display:block}
main.wrap>.intro h2.phrase-heading{font-size:21px;line-height:1.65;text-wrap:initial}
.panel .case-head p.case-summary{margin-top:9px}
.panel .info .work-item{white-space:nowrap;font-size:12px}
.estimate-intro h2{font-size:clamp(15px,4.2vw,18px);letter-spacing:-.025em;line-height:1.7}
.estimate-intro h2 em{font-size:clamp(18px,5vw,21px);white-space:nowrap;letter-spacing:-.03em}
}
@media(max-width:360px){.panel .case-head h3.phrase-heading{font-size:18px}main.wrap>.hero h1{font-size:23px}.estimate-intro{gap:8px}}

@media(max-width:800px){
.site-header.menu-only .site-header-nav>a{min-height:34px;line-height:1.4;letter-spacing:0;white-space:nowrap}
main.wrap>.hero{border-radius:18px;padding:24px 20px;background:linear-gradient(125deg,#e4f2ff,#f3faff);border:1px solid #cfdfef}
main.wrap>.hero h1{font-size:30px;font-weight:850;line-height:1.35;margin:8px 0 11px;letter-spacing:.01em;color:#205f94}
main.wrap>.hero .kicker{font-size:9px;letter-spacing:.14em;color:#557e9e}
main.wrap>.intro{margin:27px 0 16px;gap:8px}
main.wrap>.intro h2{font-size:21px;line-height:1.5;margin:4px 0 0;text-align:left}
main.wrap>.intro .status{border-radius:7px;font-size:10px;padding:5px 9px}
.panel .case-head h3.phrase-heading>span{display:inline-block;white-space:normal}
.panel .case-head h3.phrase-heading{font-size:19px;line-height:1.6;text-wrap:balance;margin:7px 0 11px;letter-spacing:0}
.panel .case-head .status{align-self:flex-start}
.panel .photo-label{border-radius:6px;font-size:10px;padding:6px 10px}
}
