/* Shared company navigation and search */
.family-company-menu{position:relative;display:inline-block}
.family-company-menu summary{cursor:pointer;list-style:none;white-space:nowrap}
.family-company-menu summary::-webkit-details-marker{display:none}
.family-company-menu summary::after{content:"⌄";margin-left:6px}
.family-company-list{position:absolute;top:calc(100% + 15px);left:0;width:290px;padding:10px;background:#fff;border:1px solid #d7e4ed;border-radius:9px;box-shadow:0 15px 45px #08294133;z-index:100}
body header .family-company-list a{display:block!important;padding:12px!important;color:#163f59!important;font-size:13px!important;white-space:normal;text-shadow:none!important}
.family-company-list a:hover{background:#edf5f8}
body header .family-search-open{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.family-search-open svg{width:15px;height:15px;flex:none}
.family-search-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 28px));max-height:88dvh;margin:auto;padding:36px;border:1px solid #c4d9e5;border-radius:14px;background:#f6fafc;color:#173b52;box-shadow:0 25px 90px #051d3c55;font-family:Arial,sans-serif}
.family-search-dialog::backdrop{background:#061d35b8;backdrop-filter:blur(5px)}
.family-search-dialog h2{font-family:Georgia,serif;font-size:2.25rem;font-weight:400;line-height:1.2;margin:4px 35px 14px 0}
.family-search-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:32px;line-height:1;color:#173b52;cursor:pointer;padding:8px}
.family-search-intro{font-size:.92rem;line-height:1.65}
.family-query-form{margin:26px 0 22px}
.family-query-form label{display:block;font-size:.85rem;font-weight:700;margin-bottom:12px;color:#234e67}
.family-query-row{display:flex;gap:10px}
.family-query-row input{box-sizing:border-box;min-width:0;flex:1;width:100%;border:1px solid #9ab8cc;border-radius:7px;padding:15px;color:#173b52;background:#fff;font:16px Arial,sans-serif}
.family-query-row button{border:0;border-radius:7px;padding:14px 22px;background:#14618b;color:#fff;font:700 14px Arial,sans-serif;cursor:pointer}
.family-query-row input:focus,.family-search-dialog a:focus-visible,.family-query-row button:focus-visible,.family-company-menu summary:focus-visible{outline:3px solid #2d99c8;outline-offset:3px}
.family-search-content .family-brand-links{display:flex;position:static;inset:auto;z-index:auto;flex-direction:row;flex-wrap:wrap;gap:9px;width:auto;max-height:none;padding:0;background:transparent;box-shadow:none;border:0;margin:22px 0!important}
.family-brand-links a{display:inline-block!important;padding:9px 12px!important;background:#e5eef4;color:#22516d!important;font:12px/1.5 Arial,sans-serif!important;border-radius:20px;text-decoration:none!important}
.family-suggestion{display:flex;align-items:center;gap:16px;padding:15px 4px;border-bottom:1px solid #dce6ec;text-decoration:none;color:#143e58}
.family-suggestion:hover{background:#eaf3f8}
.family-suggestion strong{display:block;font:600 16px/1.4 Arial,sans-serif;margin-top:5px}
.family-result-company{display:block;font:12px/1.5 Arial,sans-serif;color:#467086;overflow-wrap:anywhere}
.family-see-all{display:block;padding-top:20px;font-size:14px;font-weight:700;color:#17618b}
.family-status{font:14px/1.7 Arial,sans-serif;color:#526f81}
body.family-search-page .review-ribbon{position:relative!important;top:auto!important}
body.family-search-page header{position:relative!important;top:auto!important;background:#e5f1f6!important}
body.family-search-page header .nav-links>a:not(.button),body.family-search-page header #navigation>a:not(.button),body.family-search-page header .family-company-menu{color:#173e56!important;text-shadow:none!important}
body.family-search-page header .license-assurance{color:#1475ad!important;text-shadow:none!important}
body.family-search-page main.family-search-main{display:block!important;position:relative;box-sizing:border-box;background:linear-gradient(150deg,#edf7fb,#f8fafb);color:#173b52;padding:65px max(6vw,20px) 90px;min-height:65vh;font-family:Arial,sans-serif}
.family-search-content{max-width:1100px;margin:auto}
.family-search-content>h1{font:400 clamp(2.4rem,5vw,4.4rem)/1.08 Georgia,serif;letter-spacing:-.03em;margin:0 0 22px}
.family-search-content>p{font-size:1rem;line-height:1.8;max-width:780px}
.family-filter{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:28px 0}
.family-filter label{font-size:.85rem;font-weight:600}
.family-filter select{font:14px Arial,sans-serif;padding:11px;border:1px solid #a6bfcd;border-radius:5px;background:#fff;color:#173b52;max-width:100%}
.family-results-heading{font:400 1.8rem/1.25 Georgia,serif!important;margin:32px 0 12px!important;color:#173b52!important}
.family-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px;margin:25px 0}
.family-result{min-width:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.family-result-image-link{display:block;overflow:hidden;aspect-ratio:3/2;background:#dfeaf0}
.family-result-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.family-result>.family-result-copy{padding:19px 0 0}
.family-result-copy{min-width:0;overflow-wrap:anywhere}
.family-suggestion>.family-result-photo{flex:0 0 92px;width:92px;height:70px;object-fit:cover}
.family-suggestion>.family-result-copy{flex:1}
.site-service-search .service-suggestion.family-suggestion{display:flex;gap:12px;padding:10px 11px;border:0;border-radius:0}
.site-service-search .family-suggestion>.family-result-photo{flex-basis:80px;width:80px;height:66px}
.site-service-search .family-result-company{font-size:11px}
.site-service-search .family-suggestion strong{font-size:14px;margin-top:4px}
.family-result h2{font:600 1.2rem/1.4 Arial,sans-serif!important;letter-spacing:0!important;margin:13px 0!important}
.family-result h2 a{color:#164b6b!important;text-decoration:none}
.family-result h2 a:hover{text-decoration:underline}
.family-result p{font:14px/1.8 Arial,sans-serif!important;color:#3e6177}
.family-result-link{display:inline-block;margin-top:15px;font-size:13px;color:#17618b!important}
.site-service-search .service-suggestions{max-height:min(68vh,650px);overflow:auto}
@media(max-width:1050px) and (min-width:761px){body .nav-links{gap:16px}body .nav-links>a{font-size:.72rem}}
@media(max-width:760px){.family-search-dialog{padding:25px 20px;max-height:90dvh}.family-search-dialog h2{font-size:1.8rem}.family-query-row button{padding:12px 15px}.family-query-row input{padding:13px 10px}.family-result-grid{grid-template-columns:1fr}.family-company-menu{display:block}.family-company-list{position:static;box-shadow:none;width:auto;margin-top:8px}.family-search-content>h1{font-size:2.6rem}body.family-search-page main.family-search-main{padding-top:36px}body.family-search-page header .mobile-toggle{color:#173e56}body.family-search-page header .nav-links{background:#eaf4f8}}
@media(max-width:420px){.family-suggestion{gap:12px}.family-suggestion>.family-result-photo{flex-basis:76px;width:76px;height:64px}.family-suggestion strong{font-size:14px}.family-suggestion .family-result-company{font-size:11px}.site-service-search .family-suggestion>.family-result-photo{flex-basis:68px;width:68px;height:60px}}

/* A visible service photo at the top of previously text-only introductions. */
body .page-hero.service-photo-hero{position:relative;isolation:isolate;overflow:hidden;background:#0c3552}
.service-photo-hero>.service-hero-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;z-index:-2}
.service-photo-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,27,49,.88) 0%,rgba(5,27,49,.70) 42%,rgba(5,27,49,.18) 100%)}
.service-photo-hero>.wrap{position:relative;padding-top:12px;padding-bottom:12px}
.service-photo-hero h1{max-width:820px;text-shadow:0 2px 20px #061f3955}
@media(max-width:760px){.service-photo-hero::before{background:linear-gradient(90deg,rgba(5,27,49,.82),rgba(5,27,49,.46))}.service-photo-hero>.service-hero-photo{object-position:62% center}}
