/* A complete, searchable directory with a light editorial composition. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
.directory-footer{background:#f5f6f3;padding:65px 0 26px;border-top:1px solid #dfe2da}.footer-intro{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:45px;padding-bottom:52px}.footer-intro .footer-brand{display:block;width:205px}.footer-statement{font-size:34px;letter-spacing:-.04em;line-height:1.13;margin-top:28px}.footer-statement span{color:#8a8f83}.footer-office,.footer-reach{padding-top:12px;font-size:13px;line-height:1.8}.footer-office address{font-style:normal;margin:24px 0 13px;color:#5f665a}.footer-office>a{font-size:12px}.footer-reach>a{display:block;overflow-wrap:anywhere}.footer-phone{font-size:25px;letter-spacing:-.04em;margin-top:20px}.footer-reach .footer-contact-link{display:inline-flex;gap:50px;border-bottom:1px solid #b7bfaf;padding:13px 0 7px;margin-top:8px;color:#a64000}.footer-directory-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:32px 0 25px;border-top:1px solid #d1d7ca}.footer-directory-heading h2{font-size:35px;letter-spacing:-.04em;margin-top:9px}.footer-directory-heading button{border:1px solid #ccd3c4;border-radius:30px;background:transparent;padding:10px 17px;font-size:12px;cursor:pointer;white-space:nowrap}.footer-directory-heading button span{margin-left:22px}.footer-directory{columns:3;column-gap:36px;padding-bottom:25px}.footer-group{break-inside:avoid;page-break-inside:avoid;margin-bottom:25px;border-top:1px solid #cdd4c4}.footer-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;min-height:72px;padding:17px 0}.footer-group summary::-webkit-details-marker{display:none}.footer-group-number{font-size:10px;color:#859078;font-variant-numeric:tabular-nums}.footer-group h3{font-size:17px;line-height:1.25;letter-spacing:-.02em;flex:1}.footer-group-toggle{font-size:21px;color:#9c460e;transition:rotate .2s}.footer-group[open] .footer-group-toggle{rotate:45deg}.footer-group ul{list-style:none;padding:0 0 10px 26px;margin:0}.footer-group a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:7px 0;font-size:12px;line-height:1.55;color:#5d6655}.footer-group a>span:last-child{color:#939d8b;font-size:13px}.footer-group a:hover,.footer-office>a:hover,.footer-reach>a:hover{color:#a64000}.footer-network{border-block:1px solid #d1d7ca;display:grid;grid-template-columns:260px 1fr;gap:40px;padding:32px 0}.footer-network>div>p:last-child{font-size:25px;line-height:1.2;letter-spacing:-.03em;margin-top:14px}.footer-network ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}.footer-network a{display:flex;gap:15px;font-size:10px;padding:8px 11px;background:#fff;border:1px solid #dde1d7;border-radius:4px}.footer-network a:hover{border-color:#bb7645;color:#a64000}.directory-footer .footer-bottom{padding-top:24px;border:0;gap:20px;display:flex;justify-content:space-between;font-size:10px;align-items:center}.directory-footer .footer-bottom nav{display:flex;gap:20px;margin:0}.directory-footer .footer-bottom a:hover{color:#a64000}
@media(min-width:1101px){.directory-dialog[open]{animation:directory-enter .22s ease-out}@keyframes directory-enter{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}}
@media(max-width:1200px){.header .desktop-nav{gap:16px}.desktop-nav button{font-size:12px}.directory-layout{grid-template-columns:220px minmax(0,1fr)}.directory-heading{display:block}.directory-search{margin-top:15px;width:100%}.directory-main{padding:23px 25px 0}.directory-results ul{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-intro{gap:25px}.footer-network{grid-template-columns:210px 1fr}}
@media(max-width:1000px){.header .desktop-nav{display:none}.directory-dialog{width:calc(100vw - 28px);height:calc(100dvh - 28px)}.directory-sidebar{padding:22px 15px}.directory-edition{display:none}.footer-directory{columns:2}.footer-intro{grid-template-columns:1fr 1fr}.footer-intro>div:first-child{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.footer-statement{margin:0}.footer-network{grid-template-columns:1fr;gap:20px}.directory-footer .footer-bottom{flex-wrap:wrap}}
@media(max-width:700px){.directory-dialog{width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}.directory-top{padding:14px 20px}.directory-top img{width:165px}.directory-layout{display:flex;flex-direction:column}.directory-sidebar{padding:14px 0 0;border-right:0;border-bottom:1px solid #d8ddd1;overflow:visible;background:#f1f2ed;flex-shrink:0}.directory-sidebar>.directory-overline,.directory-help{display:none}.directory-categories{display:flex;overflow-x:auto;scrollbar-width:thin;margin:0;padding:0 18px 12px;gap:7px}.directory-categories button{white-space:nowrap;border:1px solid #d8ddd1;background:#fafbf8;font-size:12px;gap:16px;padding:10px 12px}.directory-categories button[aria-pressed=true]{border-color:#c78150;background:#fff7ef}.directory-main{padding:22px 20px 0;flex:1;min-height:0}.directory-heading h2{font-size:30px;margin-top:6px}.directory-heading .directory-overline{font-size:8px}.directory-search{margin-top:16px;min-width:0}.directory-search input{font-size:16px;padding:12px 0}.directory-status{margin:14px 0 7px;font-size:10px}.directory-results ul{grid-template-columns:1fr}.directory-dialog .directory-results a{font-size:14px;min-height:47px;padding:11px 0}.directory-bottom{padding:14px 20px;gap:8px;flex-wrap:wrap;font-size:11px;flex-shrink:0}.directory-bottom>span{display:none}.directory-bottom a:last-child{font-size:10px;width:100%}.directory-footer{padding-top:45px}.footer-intro{display:block;padding-bottom:30px}.footer-intro>div:first-child{display:block}.footer-intro .footer-brand{width:185px}.footer-statement{margin-top:25px;font-size:35px}.footer-office,.footer-reach{padding-top:32px}.footer-office address{margin-top:12px}.footer-phone{margin-top:12px}.footer-directory-heading{padding:26px 0;display:block}.footer-directory-heading h2{font-size:30px;margin-top:10px}.footer-directory-heading button{margin-top:20px}.footer-directory{columns:1;padding:0}.footer-group{margin-bottom:0}.footer-group summary{min-height:70px}.footer-group h3{font-size:18px}.footer-group ul{padding-bottom:22px}.footer-group a{min-height:44px;font-size:13px}.footer-network{padding:30px 0;margin-top:25px}.footer-network>div>p:last-child{font-size:25px}.footer-network a{min-height:42px;align-items:center;font-size:11px}.directory-footer .footer-bottom{display:block;line-height:1.8}.directory-footer .footer-bottom nav{flex-wrap:wrap;margin:18px 0;gap:10px 24px}}
@media(max-height:650px) and (min-width:701px){.directory-dialog{height:calc(100dvh - 20px)}.directory-top{padding:10px 25px}.directory-main{padding-top:15px}.directory-sidebar{padding-top:15px}.directory-bottom{padding:10px 25px}}
@media(prefers-reduced-motion:reduce){.directory-dialog[open]{animation:none}.footer-group-toggle{transition:none}}

/* Header categories open an attached dropdown, on hover, click or keyboard. */
.header{height:82px;gap:25px;padding-inline:clamp(22px,4vw,70px);background:#fafafaed;border-bottom:1px solid #e3e4e1;backdrop-filter:blur(18px)}
.header .brand{width:166px}.header .desktop-nav{display:flex;justify-content:space-between;gap:clamp(12px,1.6vw,26px);flex:1;max-width:950px;height:100%;align-items:center}.desktop-nav button{position:relative;border:0;background:none;color:#444743;cursor:pointer;padding:10px 0;height:100%;font-size:12px;white-space:nowrap}.desktop-nav button::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:#b85316;transform:scaleX(0);transition:transform .2s}.desktop-nav button:hover,.desktop-nav button[aria-expanded=true]{color:#a64000}.desktop-nav button[aria-expanded=true]::after{transform:scaleX(1)}.header-contact{font-size:12px;white-space:nowrap;color:#a64000;display:flex;gap:12px;align-items:center}.header-contact span{font-size:18px}
.mega-dropdown{position:fixed;z-index:79;left:0;right:0;top:82px;background:#fafaf8;border-bottom:1px solid #d9ddd3;box-shadow:0 22px 35px -25px #434a4460;max-height:calc(100dvh - 82px);overflow:hidden;color:#252923;animation:dropdown-reveal .2s ease-out}.mega-dropdown .directory-layout{max-width:1440px;margin-inline:auto;padding:35px var(--gutter) 30px}.mega-dropdown .directory-main{display:flex;flex-direction:column;max-height:calc(100dvh - 150px);min-width:0}.directory-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.directory-heading h2{font-size:36px;letter-spacing:-.04em;line-height:1.1;margin-top:9px}.directory-overline{font-size:10px;font-weight:600;letter-spacing:.13em;line-height:1.5;color:#70736d}.directory-search{display:flex;align-items:center;gap:10px;border:1px solid #d3d8cc;border-radius:6px;background:white;width:300px;padding:0 12px;flex-shrink:0}.directory-search:focus-within{outline:2px solid #a64000;outline-offset:2px}.directory-search svg{height:18px;width:18px;color:#70776b;flex-shrink:0}.directory-search input{background:none;border:0;outline:0;min-width:0;width:100%;font:inherit;font-size:12px;padding:13px 0;color:inherit}.directory-search input::-webkit-search-cancel-button{display:none}.directory-search button{background:none;border:0;font-size:21px;cursor:pointer}.directory-status-row{display:flex;align-items:center;justify-content:space-between;margin:19px 0 15px}.directory-status{font-size:11px;color:#737b6c}.dropdown-close{border:0;background:none;color:#70776b;font-size:11px;cursor:pointer;padding:8px 0 8px 16px}.dropdown-close:hover{color:#a64000}.directory-results{overflow-y:auto;overscroll-behavior:contain;padding:0 8px 6px 0;scrollbar-width:thin;scrollbar-color:#c0c8b7 transparent;min-height:0}.directory-results h3{font-size:18px;margin-bottom:14px}.directory-results:not(.is-search):not(.is-all) h3{display:none}.directory-results section+section{margin-top:25px}.directory-results ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 35px;align-items:start}.directory-results a{font-size:13px;line-height:1.4;min-height:40px;padding:9px 0;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#4d5546;border-bottom:1px solid #e4e7de}.directory-results a>span:last-child{font-size:13px;color:#9aa58f;flex-shrink:0;transition:transform .18s}.directory-results a:hover{color:#a64000}.directory-results a:hover>span:last-child{color:#a64000;transform:translate(2px,-2px)}.directory-empty{padding:30px 0;color:#747b6e;font-size:16px}.mega-dropdown:has([data-directory-group=company]:not([hidden])):not(:has(.is-search)) .directory-results a{font-size:18px;min-height:52px;letter-spacing:-.025em}
@keyframes dropdown-reveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:1150px){.header{gap:18px;padding-inline:24px}.header .brand{width:142px}.header .desktop-nav{gap:14px}.desktop-nav button{font-size:11px}.header-contact{font-size:11px;gap:5px}.directory-results ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1380px){.header{height:125px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:76px 49px;gap:0;padding-inline:24px}.header .brand{width:165px}.header-contact{grid-column:2;grid-row:1;font-size:12px}.header .desktop-nav{display:flex;grid-column:1/-1;grid-row:2;max-width:none;gap:25px;overflow-x:auto;scrollbar-width:none;margin-inline:-24px;padding-inline:24px;height:49px;justify-content:flex-start}.header .desktop-nav::-webkit-scrollbar{display:none}.desktop-nav button{font-size:12px;flex-shrink:0;padding-inline:0}.mega-dropdown{top:125px;max-height:calc(100dvh - 125px)}.mega-dropdown .directory-main{max-height:calc(100dvh - 187px)}.mega-dropdown .directory-layout{padding-top:25px;padding-bottom:25px}.hero-copy{padding-top:150px}}
@media(max-width:700px){.header{padding-inline:20px}.header .brand{width:156px}.header .desktop-nav{margin-inline:-20px;padding-inline:20px;gap:26px}.mega-dropdown .directory-layout{padding:24px 22px 18px}.mega-dropdown .directory-main{padding:0;max-height:calc(100dvh - 150px)}.directory-heading{display:block}.directory-heading h2{font-size:30px;margin-top:7px}.directory-heading .directory-overline{font-size:8px}.directory-search{width:100%;margin-top:20px}.directory-search input{font-size:16px;padding:12px 0}.directory-status-row{margin:10px 0 8px}.directory-results ul{grid-template-columns:1fr;gap:0}.directory-results a{font-size:14px;min-height:45px;padding:11px 0}.directory-results section+section{margin-top:24px}.directory-results{padding-right:6px}.hero-copy{padding-top:160px}}
@media(prefers-reduced-motion:reduce){.mega-dropdown{animation:none}.desktop-nav button::after,.directory-results a>span:last-child{transition:none}}

.directory-results section{margin-top:0}.directory-results section:not([hidden])~section:not([hidden]){margin-top:25px}

/* Larger primary navigation labels across desktop and mobile. */
.header .desktop-nav button,.header .header-contact{font-size:0.875rem}

/* Preserve the supplied logo proportions at a legible display size. */
.header .brand{display:block;width:240px;max-width:100%}
.header .brand img,.footer-intro .footer-brand img{width:100%;height:auto;object-fit:contain}
.footer-intro .footer-brand{width:275px;max-width:100%}
@media(max-width:1380px){.header .brand{width:240px}.header-contact{margin-left:12px}.hero-copy{padding-top:167px}}
@media(max-width:700px){.header .brand{width:220px}.hero-copy{padding-top:177px}}
/* Blend the original white logo backdrop into the header/footer surface. */
.header .brand img,.footer-intro .footer-brand img{mix-blend-mode:multiply}
