/* Brand and service presentation additions */
.pointing-badge{position:absolute;z-index:4;right:-5px;bottom:24px;width:185px;height:185px;background:#fff;border:1px solid #d8e5ec;box-shadow:0 14px 36px #0b2c421f;overflow:hidden}
.pointing-badge>img:first-child{position:absolute;left:8px;top:12px;width:92px;height:83px;object-fit:contain}
.pointing-badge .pointing-woman{position:absolute;right:-4px;bottom:-4px;width:134px;height:168px;object-fit:contain;object-position:bottom center;mix-blend-mode:multiply}
.pointing-badge:after{content:"MULHEARN PLUMBING";position:absolute;left:10px;bottom:9px;z-index:2;font:800 7px var(--display);letter-spacing:.08em;color:var(--navy);background:#ffffffed;padding:4px 5px}
.van-frame{width:min(500px,100%);height:auto;aspect-ratio:1240/744;background:transparent;overflow:visible;box-shadow:none}
.van-frame:after{display:none}
.van-frame .van-photo{object-fit:contain;filter:drop-shadow(0 18px 20px #0c2d4820)}
.van-brand-mark{position:absolute !important;z-index:5;left:68% !important;top:21% !important;width:26% !important;height:43% !important;object-fit:contain;opacity:1;mix-blend-mode:multiply;transform:rotate(-2deg);filter:drop-shadow(0 1px 1px #21384755)}
.van-frame .photo-label{background:#0c2d48d9;padding:8px 12px;left:10px;bottom:9px}
.disposal{position:absolute;left:calc(50% - 27px);top:14px;width:54px;height:60px;background:#d7e3e9;border:4px solid #829eac;border-radius:12px 12px 17px 17px}
.disposal:before{content:"";position:absolute;top:-7px;left:-7px;width:60px;border-top:7px solid #829eac;border-radius:3px}
.disposal:after{content:"";position:absolute;bottom:-9px;left:15px;width:16px;height:7px;background:#829eac}
.disposal i{position:absolute;top:14px;left:15px;width:16px;height:16px;border:3px solid #91a9b5;border-radius:50%}
.disposal b{position:absolute;top:20px;left:19px;width:8px;border-top:3px solid #91a9b5;transform:rotate(35deg)}
.disposal span{position:absolute;right:-10px;top:18px;height:18px;border-right:4px solid #829eac}
.toilet{position:absolute;left:calc(50% - 25px);top:14px;width:50px;height:25px;background:#e6eef2;border:3px solid #89a5b4;border-radius:5px 5px 4px 4px}
.toilet:before{content:"";position:absolute;top:-4px;left:-4px;width:54px;border-top:5px solid #89a5b4}
.toilet:after{content:"";position:absolute;top:18px;left:4px;width:36px;height:25px;background:#e6eef2;border:3px solid #89a5b4;border-radius:5px 5px 19px 19px}
.toilet i{position:absolute;top:25px;left:17px;height:27px;border-left:4px solid #89a5b4;z-index:1}
.toilet b{position:absolute;top:49px;left:8px;width:30px;border-top:4px solid #89a5b4}
.brand-mascot{background:#eff5f8;border-bottom:1px solid #e4ebef;overflow:hidden}
.mascot-inner{min-height:0;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:46px;padding:52px 0}
.mascot-copy{max-width:590px}
.mascot-copy h2{font:800 39px/1.08 var(--display);letter-spacing:-.055em;color:var(--navy);margin:14px 0}
.mascot-copy h2 em{font-style:normal;color:var(--blue)}
.mascot-copy>p{max-width:520px;color:#6d7d89;font-size:13px;line-height:1.8;margin:0 0 16px}
.mascot-proof{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.mascot-proof span{border:1px solid #d8e4ea;background:#ffffffb8;border-radius:99px;padding:7px 10px;color:#516b7b;font-size:9px;font-weight:700}
.mascot-composite{display:block;width:min(100%,430px);height:auto;justify-self:center;background:transparent;box-shadow:none;mix-blend-mode:multiply}
.mascot-call{font-size:11px;color:var(--blue);font-weight:700}
.faq{padding:78px 0;background:#fff}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px}.faq h2{font:800 38px/1.1 var(--display);letter-spacing:-.055em;color:var(--navy);margin:14px 0}.faq h2 em{font-style:normal;color:var(--blue)}.faq-grid>div:first-child>p{font-size:11px;color:#73828e}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:15px 0}.faq-list summary{cursor:pointer;list-style:none;font:700 13px var(--display);color:var(--navy);display:flex;justify-content:space-between;gap:15px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font:500 20px/1 var(--sans);color:var(--blue)}.faq-list details[open] summary:after{content:"−"}.faq-list details p{font-size:11px;color:#6e7e89;line-height:1.8;margin:10px 25px 0 0}
.yelp-panel{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:30px;background:#f5f8fa;border:1px solid #e6edf1;padding:34px 38px}.yelp-symbol{font:800 43px var(--display);letter-spacing:-.08em;color:#d32323}.yelp-symbol span{display:inline-grid;place-items:center;width:26px;height:26px;background:#d32323;color:white;font-size:17px;transform:rotate(12deg);margin-left:5px}.yelp-panel h2{font:800 29px/1.15 var(--display);letter-spacing:-.05em;color:var(--navy);margin:9px 0}.yelp-panel h2 em{font-style:normal;color:var(--blue)}.yelp-panel p{margin:0;font-size:11px;color:#74838e}
.mascot-photo{height:400px;position:relative;align-self:end;display:flex;align-items:end;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 55% 88%,#dbe9f0 0 45%,transparent 45%)}
.mascot-photo img{height:100%;width:100%;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply;filter:contrast(1.12) saturate(1.04) url(#mascot-sharpen)}
.service-card .service-art{height:126px;background:#eef4f7;overflow:hidden;position:relative}
.service-card .service-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.service-feature .service-art img{object-fit:contain;object-position:center;background:#143e5b}
.service-card:last-child{grid-column:2}
.service-card:nth-child(2) .service-art img{object-fit:cover;object-position:center 52%}
.service-info-trigger{display:inline-flex;align-items:center;gap:10px;border:0;padding:0;background:none;color:var(--blue);font:700 11px var(--sans);cursor:pointer;text-align:left}
.service-info-trigger:hover{color:var(--red)}
.service-info-trigger span{font-size:15px;font-weight:400}
.cta-actions{flex-wrap:wrap;max-width:450px;justify-content:flex-end}
.cta-email{flex-basis:100%;text-align:right;color:#c8dce8;font-size:10px;font-weight:700}
.cta-email:hover,.dialog-email:hover{color:#fff;text-decoration:underline}
.footer-contact .email-label{margin-top:8px;margin-bottom:0}
.footer-contact>a:last-child{font:600 10px var(--sans);overflow-wrap:anywhere}
.service-dialog{width:min(620px,calc(100% - 30px));max-width:none;max-height:calc(100% - 30px);padding:0;border:0;color:var(--ink);background:transparent;overflow:visible}
.service-dialog::backdrop{background:rgba(7,27,43,.62);backdrop-filter:blur(4px)}
.service-dialog-inner{position:relative;background:#fff;border:1px solid #e3ebef;padding:36px;box-shadow:0 28px 90px #041a2a38;max-height:calc(100vh - 30px);overflow:auto}
.service-dialog-close{position:absolute;right:18px;top:14px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #dfe7ec;background:#f7fafb;color:var(--navy);font-size:25px;cursor:pointer}
.service-dialog .mini-kicker{font-size:9px;letter-spacing:.17em;font-weight:800;color:#8b9ba6}
.service-dialog h2{font:800 31px/1.15 var(--display);letter-spacing:-.05em;color:var(--navy);margin:10px 42px 11px 0}
.service-dialog #service-dialog-copy{font-size:13px;line-height:1.75;color:#627684;margin:0 0 20px}
.service-dialog-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.service-dialog-gallery figure{margin:0;border:1px solid #e5ecef;background:#f7fafb}
.service-dialog-gallery img{display:block;width:100%;height:155px;object-fit:cover}
.service-dialog-gallery img[src*="water-heater-install"]{object-fit:contain;background:#edf3f6}
.service-dialog-gallery figcaption{font-size:9px;line-height:1.5;color:#72828e;padding:8px 10px}
.service-dialog-gallery figcaption a{color:var(--blue);font-weight:700}
.service-dialog-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:22px}
.service-dialog-actions .btn{min-height:46px;font-size:10px;padding:0 15px;gap:10px}
.dialog-email{font-size:10px;color:var(--blue);font-weight:700}
.brand-red{color:#d32323;font-weight:700}
.work-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px}
.work-gallery figure{position:relative;margin:0;min-width:0;height:260px;background:#edf3f6;overflow:hidden}
.work-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.work-gallery figure:hover img{transform:scale(1.035)}
.work-gallery figcaption{position:absolute;left:0;right:0;bottom:0;display:grid;gap:3px;padding:28px 15px 14px;color:#fff;background:linear-gradient(transparent,#09243be3);font:700 12px var(--display)}
.work-gallery figcaption span{font:500 9px var(--sans);color:#d7e3ea}
.review-highlights{padding:52px 0 0}
.review-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.review-heading h2{font:800 29px/1.15 var(--display);letter-spacing:-.05em;color:var(--navy);margin:10px 0 0}
.review-heading h2 em{font-style:normal;color:var(--blue)}
.review-disclaimer{font-size:10px;color:#74838e}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.review-card{background:#fff;border:1px solid #e3ebef;padding:22px;min-height:175px;display:flex;flex-direction:column}
.review-stars{color:#d32323;letter-spacing:.12em;font-size:15px}
.review-card>p{font:650 16px/1.5 var(--display);letter-spacing:-.02em;color:var(--navy);margin:14px 0 20px}
.reviewer{display:grid;gap:4px;margin-top:auto;font-size:10px;color:#73828e}
.reviewer>b{color:var(--navy);font-size:11px}
.elite-badge{display:inline-block;vertical-align:1px;border-radius:99px;background:#fff2e7;color:#a95012;padding:3px 7px;font:800 8px var(--sans);letter-spacing:.04em;margin-left:5px}
.review-more{display:inline-block;margin-top:18px;color:var(--blue);font-size:10px;font-weight:750}
.review-more:hover{text-decoration:underline}
@media(max-width:680px){.review-highlights{padding-top:35px}.review-heading{display:block}.review-disclaimer{display:block;margin-top:10px}.review-grid{grid-template-columns:1fr}.review-card{min-height:0;padding:19px}.review-card>p{font-size:15px;margin-bottom:16px}}
@media(max-width:920px){.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.work-gallery figure{height:230px}}
@media(max-width:520px){.work-gallery{gap:9px;margin-top:22px}.work-gallery figure{height:170px}.work-gallery figcaption{padding:24px 9px 9px;font-size:10px}.work-gallery figcaption span{font-size:8px}}
@media(max-width:680px){.service-card:last-child{grid-column:auto}.service-card .service-art{height:84px}.service-info-trigger{font-size:8px;gap:4px}.cta-actions{justify-content:flex-start}.cta-email{text-align:left}.service-dialog-inner{padding:27px 19px}.service-dialog h2{font-size:25px}.service-dialog #service-dialog-copy{font-size:11px}.service-dialog-gallery{grid-template-columns:1fr 1fr}.service-dialog-gallery img{height:112px}.service-dialog-actions{gap:13px}.service-dialog-actions .btn{font-size:9px}}
@media(max-width:920px){.pointing-badge{right:-1px;width:150px;height:150px}.pointing-badge>img:first-child{width:76px;height:70px}.pointing-badge .pointing-woman{width:109px;height:137px}.mascot-inner{gap:24px}.mascot-copy h2{font-size:34px}.mascot-composite{width:min(100%,370px)}.van-brand-mark{left:68% !important;top:21% !important;width:26% !important;height:43% !important}}
@media(max-width:680px){.yelp-panel{grid-template-columns:1fr;gap:12px;padding:23px}.yelp-panel h2{font-size:25px}.faq{padding:60px 0}.faq-grid{grid-template-columns:1fr;gap:20px}.faq h2{font-size:33px}.pointing-badge{width:126px;height:126px;right:-1px;bottom:16px}.pointing-badge>img:first-child{width:61px;height:58px;left:5px;top:8px}.pointing-badge .pointing-woman{width:91px;height:114px}.pointing-badge:after{font-size:5px;left:5px;bottom:6px}.van-frame .photo-label{font-size:8px;padding:5px 7px}.van-brand-mark{left:68% !important;top:21% !important;width:26% !important;height:43% !important}.mascot-inner{grid-template-columns:1fr;gap:23px;padding:38px 0}.mascot-copy{max-width:none}.mascot-copy h2{font-size:32px}.mascot-copy>p{font-size:12px}.mascot-proof{gap:6px}.mascot-proof span{font-size:8px;padding:6px 8px}.mascot-composite{width:min(100%,350px)}.mascot-call{font-size:10px}}

/* Final overrides: keep all project photos uncropped */
#recent-work .work-gallery img,.service-card .service-art img,.service-dialog-gallery img{object-fit:contain!important;object-position:center!important;transform:none!important;background:#edf3f6}
#recent-work .work-gallery figure:nth-child(2){display:none}
.phone-head strong{font-size:40px!important;font-weight:800!important;line-height:1!important;letter-spacing:-.065em;white-space:nowrap}
@media(max-width:920px){.phone-head strong{font-size:27px!important}}
@media(max-width:680px){.phone-head strong{font-size:18px!important}}
