/* Reference: supplied explanatory/FAQ captures and the live provider search. */
.hero-search{border-radius:30px;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr) auto;padding:6px}
.hero-search .search-query-field{display:flex;align-items:center;min-width:0;min-height:48px}
.hero-search .search-query-field>label{flex:1;min-width:0;padding:10px 14px;min-height:48px}
.hero-search input{font-weight:400;font-size:13px;line-height:1.6}
.hero-search input::placeholder{color:var(--sub);opacity:1}
.hero-search>.search-location{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;padding:10px 14px}
.hero-search .search-location>.search-at{font-size:14px;color:var(--sub);flex:none}
.hero-search .btn{border-radius:24px;min-height:48px;white-space:nowrap}
.hero-search .search-clear{background:none;border:0;border-radius:50%;padding:0;width:44px;height:44px;flex:0 0 44px;color:var(--sub);display:flex;align-items:center;justify-content:center}
.search-clear>span{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:21px;line-height:1;background:var(--soft)}
.search-clear:hover>span{background:var(--pale);color:var(--navy)}
.search-clear:focus-visible,.project-faq summary:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.search-options{top:calc(100% + 12px);left:-6px;right:auto;width:420px;max-width:calc(100vw - 56px);max-height:min(410px,55dvh);padding:10px;border-radius:22px}
.search-options-label{border:0;margin:0;padding:11px 12px 7px;font-size:11px}
.search-options [data-search-group]+[data-search-group]{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.search-options button{display:flex;align-items:center;gap:13px;min-height:48px;padding:12px;border-radius:12px}
.search-options button>.brand-icon{width:25px;height:28px;object-fit:contain;flex:none}
.search-options button>span{min-width:0;overflow-wrap:anywhere}
.search-options button strong{display:block;font-size:13px;font-weight:500;line-height:1.6}
.search-options button small{display:block;font-size:10px;line-height:1.6;color:var(--sub)}
.search-options button small:first-child{margin-bottom:2px}
.search-options button small:last-child{margin-top:3px}
.project-explanation{background:var(--soft);padding:48px 0;margin-top:48px}
.project-explanation-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px}
.project-explanation-columns>div{min-width:0}
.project-explanation section+section{margin-top:28px}
.project-explanation h2{font-size:23px;line-height:1.45;font-weight:500;margin:0 0 13px;letter-spacing:-.4px}
.project-explanation p{font-size:13px;line-height:1.9;margin:0}
.project-explanation a,.project-faq .faq a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.project-explanation a:hover,.project-faq .faq a:hover{text-decoration-thickness:2px}
.project-faq{padding-top:48px;padding-bottom:48px}
.project-faq>.eyebrow{font-weight:400;font-size:12px;letter-spacing:.07em;margin-bottom:12px}
.project-faq>h2{font-size:26px;line-height:1.5;font-weight:500;letter-spacing:-.5px}
.project-faq .faq{margin-top:22px}
.project-faq .faq details{border-bottom:1px solid var(--line)}
.project-faq .faq summary{font-size:14px;padding:20px 38px 20px 0;line-height:1.7;min-height:64px}
.project-faq .faq summary::after{content:'';width:9px;height:9px;border:solid var(--navy);border-width:0 1px 1px 0;right:9px;top:25px;transform:rotate(45deg);transition:transform .18s}
.project-faq .faq details[open] summary::after{content:'';transform:rotate(225deg);top:29px}
.project-faq .faq details>div{font-size:13px;line-height:1.9;padding:0 45px 23px 0;max-width:1040px;color:var(--sub)}
@media(min-width:801px) and (max-width:1050px){
 .hero-search{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);border-radius:26px;gap:5px 0}
 .hero-search>.btn{grid-column:1/-1}
 .hero-search .search-query-field>label{padding-inline:12px}
}
@media(max-width:800px){
 .hero-search input{font-size:16px}
 .project-explanation-columns{gap:30px}
 .project-explanation h2{font-size:21px}
 .project-explanation,.project-faq{padding-top:36px;padding-bottom:36px}
 .project-faq>h2{font-size:24px}
}
@media(max-width:600px){
 .hero-search{grid-template-columns:minmax(0,1fr);border-radius:26px;gap:0}
 .hero-search>.search-slot+.search-location{border-left:0;border-top:1px solid var(--line);padding:12px 14px}
 .hero-search .btn{grid-column:auto;margin-top:6px;min-height:48px;border-radius:22px}
 .hero-search .search-query-field>label{padding-inline:12px}
 .search-options{width:calc(100% + 12px);max-width:none;top:calc(100% + 7px);border-radius:18px}
 .project-explanation-columns{grid-template-columns:minmax(0,1fr);gap:26px}
 .project-explanation section+section{margin-top:26px}
 .project-explanation{margin-top:30px}
 .project-explanation h2{font-size:20px;margin-bottom:11px}
 .project-explanation p{font-size:13px}
 .project-faq>.eyebrow{font-size:11px}
 .project-faq>h2{font-size:23px;line-height:1.45}
 .project-faq .faq summary{font-size:13px;padding-right:30px}
 .project-faq .faq details>div{padding-right:24px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.project-faq .faq summary::after{transition:none}}
