.directory-page{font-family:Didact,Arial,sans-serif;background:white}.directory-page .site-header{height:70px;min-height:70px;padding:0 30px;position:relative;z-index:1100}.directory-page .brand img{width:170px}.directory-page .button{border-radius:40px;gap:20px;font-size:16px}.directory-page input,.directory-page select{border-radius:24px;font-size:16px;min-height:46px;padding:10px 16px}.directory-page label{font-size:15px;font-weight:400}.directory-page .site-header nav{font-size:16px}.directory-page h1,.directory-page h2,.directory-page h3{color:#313135}.directory-workspace{display:grid;grid-template-columns:clamp(260px,23vw,360px) clamp(330px,33vw,480px) minmax(0,1fr);height:calc(100dvh - 70px);overflow:hidden}.filter-sidebar{padding:27px 24px;overflow:auto;border-right:1px solid #e5e7e3;background:#fff}.filter-heading h1{font-size:41px;font-weight:600;letter-spacing:-1px;margin:0 0 25px}.directory-filters{display:flex;flex-direction:column;gap:16px}.filter-control{border:1px solid #d4d6dd;border-radius:24px;background:#fff}.filter-control summary{display:flex;align-items:center;gap:12px;padding:12px 16px;font-weight:400;list-style:none;min-height:64px}.filter-control summary::-webkit-details-marker{display:none}.filter-control summary>span:nth-child(2){flex:1}.filter-control summary strong{font-size:15px;font-weight:400;color:#313135;display:block}.filter-control summary small{font-size:14px;color:#797a88;margin:0}.filter-symbol{font-size:24px;line-height:1;color:#4b5642}.filter-control[open]{border-color:#4b5642;border-radius:22px}.filter-popover{padding:8px 16px 17px}.filter-popover label:last-child{margin-bottom:0}.filter-popover input[type=range]{accent-color:#4b5642;padding:0;margin-top:10px;min-height:24px}.expertise-options{max-height:235px;overflow:auto;margin:0;padding:0;border:0}.expertise-options .check{font-size:14px;gap:10px;margin:0;padding:8px 0;align-items:flex-start}.expertise-options input{accent-color:#4b5642;width:17px;height:17px;min-height:0;border-radius:3px;flex-shrink:0;margin-top:2px}.expertise-options label[hidden]{display:none}.select-control{margin:0}.select-control select{margin-top:8px;font-size:14px}.additional-filters{border-top:1px solid #e5e7e3;padding-top:15px}.additional-filters summary{font-size:15px;font-weight:400;margin-bottom:16px}.search-button{width:100%;justify-content:space-between}.reset-filters{text-align:center;font-size:14px;color:#797a88}.directory-results{overflow:auto;padding:26px 24px;background:#fcfcfc;scroll-behavior:smooth}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.results-heading h2{font-size:19px;margin:0;font-weight:600}.results-heading>span{font-size:13px;color:#797a88}.directory-cards{display:flex;flex-direction:column;gap:14px}.directory-card{display:flex;justify-content:space-between;gap:16px;padding:21px 18px;border:1px solid #e6e8e3;border-radius:9px;background:#fff;transition:border-color .15s,box-shadow .15s}.directory-card:hover,.directory-card.is-active{border-color:#8e9b82;box-shadow:0 3px 12px #4b564212}.directory-card-copy{min-width:0;flex:1}.directory-card h3{font-size:18px;line-height:1.4;font-weight:600;margin:0 0 7px;letter-spacing:-.2px}.directory-card h3 a{text-decoration:none}.verification-mark{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:6px;border-radius:50%;background:#e6f2e8;color:#28773d;font-size:11px;vertical-align:middle}.card-training{font-size:14px;line-height:1.4;margin:0 0 10px;color:#4b5642}.card-region{color:#797a88;font-size:14px;margin:0}.card-distance{color:#4b5642;font-size:13px;margin:8px 0 0}.directory-portrait{flex:0 0 90px;align-self:center}.directory-portrait img,.directory-portrait>span{width:90px;height:90px;border:5px solid #d4dbcf;border-radius:3px;object-fit:cover;display:flex;align-items:center;justify-content:center;background:#f1f3ee;font-size:35px;text-decoration:none}.show-on-map{border:0;background:none;padding:8px 0 0;color:#4b5642;font-size:13px;text-decoration:underline;text-underline-offset:3px}.map-panel{position:relative;min-width:0;border-left:1px solid #d4d6dd;background:#e6edef}.map-panel #directory-map{width:100%;height:100%;z-index:0;background:#e6edef}.map-fallback{position:absolute;top:40%;margin:20px}.map-page-note{font-size:12px;color:#797a88;text-align:center;margin-top:25px}.profile-marker{background:none;border:none}.profile-pin{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:3px solid white;border-radius:50%;background:#4b5642;color:white;box-shadow:0 2px 8px #31313550;transition:transform .15s;overflow:hidden}.profile-pin img{width:100%;height:100%;object-fit:cover}.profile-marker.is-active .profile-pin{transform:scale(1.22);border-color:#4b5642}.place-label{background:transparent;border:none;font:12px Didact,Arial,sans-serif;color:#68766e;white-space:nowrap;text-shadow:0 1px white,1px 0 white,-1px 0 white}.map-popup{font-family:Didact,Arial,sans-serif;width:200px}.map-popup strong{font-size:17px;display:block;margin-bottom:7px}.map-popup p{font-size:13px;line-height:1.4;margin:5px 0!important}.map-popup a{display:block;margin-top:12px;color:#4b5642!important}.leaflet-control-attribution{font-size:10px!important}.directory-empty{text-align:center;border:1px solid #e6e8e3;padding:30px 15px;border-radius:8px;background:white}.directory-empty>span{font-size:50px;color:#8c9a83}.directory-empty h3{font-size:21px}.directory-empty p{color:#797a88;font-size:15px}.directory-toolbar,.close-filters{display:none}.search-status{position:fixed;bottom:15px;left:20px;z-index:1500;border-radius:6px;padding:8px 16px;background:#fff;box-shadow:0 3px 15px #0002;max-width:calc(100% - 40px);font-size:14px}.search-status:empty{display:none}.directory-results[aria-busy=true]{opacity:.55}.directory-search footer{display:none}.home-hero{position:relative;isolation:isolate;min-height:calc(100dvh - 70px);display:flex;align-items:center;padding:55px max(30px,calc((100vw - 1200px)/2));background:#f9faf7;overflow:visible}.home-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:image-set(url('/image-variants/1280/media/2026/08/FAD_home4-1536x864.jpg') 1x,url('/image-variants/1920/media/2026/08/FAD_home4-1536x864.jpg') 2x) center right/cover;opacity:.22}.home-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fff 5%,#fffffff7 45%,#ffffff00 100%)}.home-intro{width:75%;max-width:880px;padding-right:30px}.home-intro h1{font-size:72px;font-weight:600;line-height:1.08;letter-spacing:-2px;margin:0 0 20px;max-width:750px}.home-intro>.divider{margin:25px 0}.home-intro>p{max-width:650px;font-size:22px;color:#797a88;line-height:1.4;margin:0 0 30px}.home-intro .directory-filters{display:grid;grid-template-columns:1fr 1fr;max-width:690px;align-items:start;position:relative}.home-intro .select-control{grid-column:1/-1;max-width:330px}.home-intro .search-button{width:150px;grid-column:1/-1}.explore-link{display:inline-block;font-size:15px;margin-top:22px}.directory-home .partner{margin-top:50px;background:#f4f5f1}.directory-home .recent{padding-bottom:60px}.recent h2{font-size:32px;font-weight:600;margin-bottom:26px}.recent .directory-cards{display:grid;grid-template-columns:1fr 1fr}.result-pagination .pagination{display:flex;gap:18px;align-items:center;font-size:14px}.directory-page .skip:focus{z-index:3000}@media(min-width:1700px){.directory-workspace{grid-template-columns:360px 480px 1fr}}@media(max-width:1100px) and (min-width:1001px){.directory-workspace{grid-template-columns:250px 330px 1fr}.filter-sidebar{padding:25px 18px}.directory-results{padding:25px 14px}.directory-card{padding:16px 13px}.directory-portrait{flex-basis:70px}.directory-portrait img,.directory-portrait>span{width:70px;height:70px}.results-heading>span{display:none}}@media(max-width:1000px){.directory-page .site-header{padding:10px 18px;flex-wrap:nowrap;gap:10px}.directory-page .brand img{width:140px}.directory-page .site-header nav{font-size:14px;gap:14px}.directory-page .site-header nav>a:first-child{display:none}.directory-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid #e5e7e3;height:60px}.directory-toolbar button,.close-filters{border:1px solid #d4d6dd;background:white;border-radius:25px;padding:7px 18px;font:inherit;font-size:14px;color:#4b5642}.view-switch{display:flex;border:1px solid #d4d6dd;border-radius:25px;padding:3px;gap:3px}.view-switch button{border:0;padding:4px 18px}.view-switch [aria-pressed=true]{background:#4b5642;color:white}.directory-workspace{display:block;height:calc(100dvh - 130px)}.filter-sidebar{display:none;position:fixed;inset:70px 0 0;z-index:1200;padding:25px;background:white}.filter-sidebar.is-open{display:block}.filter-heading{display:flex;align-items:start;justify-content:space-between}.close-filters{display:block;font-size:24px;padding:0 12px}.filter-heading h1{font-size:32px}.directory-results{height:100%;padding:22px 16px}.directory-card{padding:20px}.directory-portrait{flex-basis:85px}.directory-portrait img,.directory-portrait>span{width:85px;height:85px}.map-panel{height:100%;display:none;border:0}.directory-workspace[data-view=map] .map-panel{display:block}.directory-workspace[data-view=map] .directory-results{display:none}.home-hero{padding:45px 22px;min-height:calc(100dvh - 70px)}.home-intro{width:100%;padding:0}.home-intro h1{font-size:44px;letter-spacing:-1px}.home-intro>p{font-size:20px}.home-hero:after{background:#ffffffd9}.home-intro .directory-filters{grid-template-columns:1fr}.home-intro .select-control{max-width:none}.home-intro .search-button{width:100%}.recent .directory-cards{grid-template-columns:1fr}.recent h2{font-size:28px}}@media(prefers-reduced-motion:reduce){.directory-card,.profile-pin{transition:none}.directory-results{scroll-behavior:auto}}

.locate-button{width:100%;margin:0 0 8px}.locate-button:disabled{opacity:.6;cursor:wait}#location-status{font-size:13px;line-height:1.4;margin-bottom:16px}

.locate-button{border:1px solid #b5bfaa;border-radius:24px;background:#eef2e8;color:#3f4a36;padding:11px 15px;font:inherit;cursor:pointer}.locate-button:hover{background:#e2e9d9}.locate-button:focus-visible{outline:2px solid #4b5642;outline-offset:3px}

/* Compact search controls: visible placeholders, accessible labels. */
.directory-filters .filter-control{border-radius:14px}
.directory-filters .filter-control summary{min-height:52px;padding:12px 16px;cursor:pointer;justify-content:space-between;gap:10px}
.directory-filters .filter-control summary>span:nth-child(2){flex:initial}
.directory-filters .expertise-control summary>span:nth-child(2){flex:1}
.directory-filters .filter-control summary small{font-size:16px;color:#5b6556}
.directory-filters .filter-symbol{font-size:20px}
.directory-filters .filter-control[open]{border-radius:14px}
.directory-filters .select-control{margin:0;min-width:0}
.directory-filters .select-control select,.directory-filters .additional-filters select,.directory-filters .additional-filters input{margin:0;border-radius:14px;min-height:54px;font-size:16px}
.directory-filters .additional-filters label{margin:0 0 12px}
.directory-filters .radius-control input[type=range]{width:100%;margin:8px 0;min-height:24px;padding:0;accent-color:#4b5642}
.directory-filters .radius-control small{display:block;font-size:13px;color:#70786b}
.home-intro .directory-filters{grid-template-columns:minmax(0,1fr) auto;max-width:650px;gap:12px;align-items:start}
.home-intro .directory-filters .search-button{grid-column:auto;min-height:54px;width:auto;padding:14px 24px;border-radius:14px;white-space:nowrap}
@media(max-width:480px){.home-intro .directory-filters{grid-template-columns:minmax(0,1fr)}.home-intro .directory-filters .search-button{width:100%}}

/* Live-site training colours; text labels remain alongside the colour. */
.directory-card.training-certified{border-color:#6ad07f;background:#f1fff4}
.directory-card.training-foundation{border-color:#d0ac6c;background:#fffbf3}
/* Override Leaflet's generic auto-sized image rules inside circular markers. */
.leaflet-container .profile-pin{position:relative}
.leaflet-container .profile-pin img{display:block!important;position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover;object-position:center;margin:0;padding:0;border:0;border-radius:0;mask:none;-webkit-mask:none}
/* Map controls and attribution. */
.map-popup{max-height:260px;overflow:auto;overscroll-behavior:contain}.map-popup a{display:inline-block;min-height:32px;padding:6px 0}.map-popup button,.map-layer-switch button{min-height:44px;background:white;color:#35442f;border:0;padding:8px 12px;font:14px Didact,Arial,sans-serif;cursor:pointer}.map-popup button:focus-visible,.profile-marker:focus-visible,.map-layer-switch button:focus-visible{outline:3px solid #294f79;outline-offset:3px}.leaflet-control-zoom a{min-width:44px;min-height:44px;line-height:44px}.show-on-map{min-height:44px}.map-panel .leaflet-control-attribution{font-size:11px;max-width:100%;white-space:normal}.map-panel .leaflet-control-scale{margin-bottom:105px}.map-layer-switch{overflow:hidden;border-radius:5px}.map-panel .leaflet-top{z-index:600}

.map-panel .leaflet-bottom.leaflet-right{bottom:0;right:0}.map-panel .leaflet-control-scale{margin-bottom:12px}

@media(max-width:700px){.home-hero:before{background-image:image-set(url('/image-variants/640/media/2026/08/FAD_home4-1536x864.jpg') 1x,url('/image-variants/1280/media/2026/08/FAD_home4-1536x864.jpg') 2x)}}
