/* Photo-led service navigation and shared FAQ. */
[hidden]{display:none!important}
.photo-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.photo-service{position:relative;isolation:isolate;min-height:430px;display:flex;align-items:flex-end;overflow:hidden;border-radius:26px;color:#fff;background:#171717;text-decoration:none;box-shadow:0 10px 30px #1111110a}
.photo-service>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1);z-index:-2}
.photo-service:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#11111103 10%,#11111160 38%,#111111ef 86%);z-index:-1}
.photo-service:hover>img{transform:scale(1.045)}
.photo-service:focus-visible{outline:3px solid var(--red);outline-offset:5px}
.photo-service-number{position:absolute;left:26px;top:25px;font-size:12px;letter-spacing:.12em;background:#11111144;backdrop-filter:blur(14px);padding:8px 11px;border-radius:20px}
.photo-service-copy{padding:30px;width:100%}.photo-service h3{font-size:27px;font-weight:600;line-height:1.12;letter-spacing:-.04em;margin:0 0 13px;color:#fff}
.photo-service p{font-size:15px;line-height:1.65;color:#ededf0;margin:0 0 23px}
.photo-service-more{display:flex;justify-content:flex-start;align-items:center;font-size:13px;font-weight:600;border-top:1px solid #ffffff30;padding-top:16px}
pest-faq{display:block;background:#fff;margin-top:85px}
.faq-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;padding-block:85px;align-items:start}
.faq-intro h2{font-size:clamp(35px,4vw,53px);line-height:1.08;letter-spacing:-.055em;font-weight:600;margin:12px 0 22px}.faq-intro h2 span{color:#85858d}
.faq-intro>p:not(.eyebrow){font-size:16px;line-height:1.7;color:var(--muted);max-width:330px}
.faq-intro img{display:block;width:100%;max-width:290px;height:380px;object-fit:contain;margin:25px auto 0;mix-blend-mode:multiply}
.faq-list{padding-top:6px}.faq-list details{border-bottom:1px solid #e5e5e9}.faq-list details:first-child{border-top:1px solid #e5e5e9}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;padding:26px 0;font-size:16px;line-height:1.5;font-weight:600;min-height:84px}.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{display:grid;place-items:center;flex-shrink:0;width:29px;height:29px;background:#f5f5f7;border-radius:50%;font-size:23px;font-weight:400;transition:transform .25s,color .25s,background .25s}
.faq-list details[open] summary>span{transform:rotate(45deg);background:#fff0f1;color:var(--red)}
.faq-list summary:focus-visible{outline:2px solid var(--red);outline-offset:5px;border-radius:6px}
.faq-answer{padding:0 36px 25px 0;animation:faq-in .25s ease-out}.faq-answer p{font-size:15px;line-height:1.8;color:#66666e;margin:0}
@keyframes faq-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.channel-picker{padding:0;border:0;margin:0 0 16px;min-width:0}.channel-picker legend{font-size:14px;font-weight:600;margin-bottom:12px}.channel-picker>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.quote-card .channel-picker label{position:relative;margin:0;display:block}.channel-picker input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0}
.channel-picker label>span{display:flex;gap:10px;justify-content:center;align-items:center;padding:16px 12px;background:#f5f5f7;border:1px solid transparent;border-radius:13px;font-size:14px;cursor:pointer;transition:background .2s,color .2s}
.channel-picker svg{width:20px;height:20px}.channel-picker input:checked+span{color:#b80c1a;background:#fff0f1;border-color:#e21d2b55}.channel-picker input:focus-visible+span{outline:2px solid #e21d2b;outline-offset:3px}
.mail-draft{margin-bottom:12px}.channel-hint{min-height:36px}.quote-art{display:block;width:100%;height:auto;margin-top:35px;mix-blend-mode:multiply}
.service-points{list-style:none;padding:20px;margin:24px 0;background:#f7f7f9;border-radius:16px;display:grid;gap:14px}.service-points li{display:flex;align-items:start;gap:12px;font-size:14px;line-height:1.6;color:#55555d}.service-points svg{width:20px;height:20px;color:#e21d2b;flex-shrink:0}.workspace .service-subtitle{font-size:21px;line-height:1.35;margin-top:18px;letter-spacing:-.025em}
.service-art img{max-height:350px;aspect-ratio:1.6;object-fit:cover}.pest-photo{margin:0 0 28px}.pest-photo img{display:block;width:100%;height:auto;max-height:290px;object-fit:cover;border-radius:18px}.pest-photo figcaption{font-size:12px;line-height:1.5;color:#76767e;margin-top:9px}
.environments{padding:20px 0 60px}.environment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.environment-grid article{background:white;border-radius:24px;overflow:hidden;padding:0 24px 27px}.environment-grid img{width:calc(100% + 48px);max-width:none;display:block;margin:0 -24px 22px;aspect-ratio:1.25;object-fit:contain}.environment-grid h3{font-size:22px;letter-spacing:-.03em;line-height:1.25;margin:0 0 12px}.environment-grid p{font-size:15px;color:var(--muted);line-height:1.8;margin:0}
@media(max-width:1000px){.photo-services{gap:16px}.photo-service{min-height:410px}.photo-service-copy{padding:23px}.photo-service h3{font-size:24px}.faq-section{gap:45px}.environment-grid{gap:15px}}
@media(max-width:760px){.photo-services{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-service{min-height:400px}.faq-section{grid-template-columns:1fr;gap:20px;padding-block:55px}.faq-intro{position:relative;min-height:250px;padding-right:40%}.faq-intro h2{font-size:35px}.faq-intro>p:not(.eyebrow){font-size:14px}.faq-intro img{position:absolute;right:0;bottom:0;width:36%;height:240px;margin:0}.faq-list summary{min-height:76px;padding:22px 0}.environment-grid{grid-template-columns:1fr}.environment-grid img{aspect-ratio:1.8;max-height:300px}.environments{padding-bottom:25px}pest-faq{margin-top:50px}}
@media(max-width:480px){.photo-services{grid-template-columns:1fr;gap:18px}.photo-service{min-height:410px}.photo-service-copy{padding:27px}.photo-service h3{font-size:29px}.photo-service p{font-size:16px}.faq-intro{padding-right:32%}.faq-intro h2{font-size:31px}.faq-intro img{width:31%;height:215px}.faq-intro>p:not(.eyebrow){max-width:240px}.faq-list summary{font-size:15px;gap:15px}.faq-answer{padding-right:8px}.channel-picker>div{gap:8px}.channel-picker label>span{padding-inline:10px}.service-art img{max-height:240px}}
@media(prefers-reduced-motion:reduce){.photo-service>img,.faq-list summary>span{transition:none}.photo-service:hover>img{transform:none}.faq-answer{animation:none}}
