html:has(.directory-page){scroll-behavior:auto}.directory-page main :is(a,button),.directory-page .directory-filter-fab{transition:none}.directory-page main .button:hover{transform:none}.directory-top{padding-block:28px 32px}.directory-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:16px}.directory-breadcrumb a:hover{color:var(--green)}.directory-top h1{font-size:36px;line-height:1.2;letter-spacing:-1px;margin:24px 0}.directory-area-links{display:flex;flex-wrap:wrap;gap:8px 24px;border-bottom:1px solid var(--line);padding-bottom:18px;font-size:16px}.directory-area-links a{padding-block:6px;color:var(--muted)}.directory-area-links a[aria-current=page],.directory-area-links a:hover{color:var(--green)}.directory-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:54px;align-items:start;min-height:570px;padding-block:10px 80px}.directory-sidebar{position:sticky;top:115px}.directory-all,.directory-family>button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:18px 0;background:transparent;border:0;border-bottom:1px solid #edf0ed;text-align:left;font-size:16px;font-weight:400;line-height:1.5}.directory-all>span{font-size:16px;color:#849088}.directory-family>button b{font-weight:400;color:#91a398;font-size:19px}.directory-sidebar button[aria-pressed=true],.directory-sidebar button:hover{color:var(--green)}.directory-family-children{display:flex;flex-direction:column;gap:12px;padding:18px 0 24px 14px;font-size:16px;color:var(--muted)}.directory-family-children[hidden],.directory-product[hidden]{display:none}.directory-family-children a:hover{color:var(--green)}.directory-family-children>button{border:0;padding:5px 0;background:transparent;color:var(--muted);text-align:left;font-size:16px;line-height:1.6}.directory-family-children>button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.directory-family-children>button b{font-size:19px;font-weight:400}.directory-family-children .directory-charging-nested{padding:0 0 4px 18px;gap:4px;border-left:1px solid var(--line)}.directory-family-children[hidden]{display:none}.directory-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px}.directory-product{min-width:0;display:block;scroll-margin-top:120px}.directory-product-image{display:grid;place-items:center;aspect-ratio:1;background:#fafafa;border-radius:8px;overflow:hidden}.directory-product-image svg{width:78%;height:78%;color:#527963;filter:drop-shadow(0 7px 6px #153b2c12)}.directory-product-image img{display:block;width:100%;height:100%;object-fit:contain}.directory-carousel{position:relative}.directory-carousel-viewport{position:absolute;inset:0;display:block;overflow:hidden;touch-action:pan-y pinch-zoom;cursor:grab;user-select:none;-webkit-user-select:none}.directory-carousel-track{display:flex;width:100%;height:100%;pointer-events:none;transform:translateZ(0)}.directory-carousel-track>img{flex:0 0 100%;min-width:0;pointer-events:none;user-select:none;-webkit-user-select:none}.directory-carousel.is-dragging .directory-carousel-viewport{cursor:grabbing}.directory-carousel-dots{position:absolute;z-index:1;left:50%;bottom:0;transform:translate(-50%);display:flex;align-items:center;justify-content:center}.directory-carousel-dots>button{display:grid;place-items:center;width:20px;height:24px;padding:0;border:0;background:transparent}.directory-carousel-dots>button:before{content:"";width:8px;height:8px;border:0;border-radius:50%;background:#d0d0d0}.directory-carousel-dots>button[aria-pressed=true]:before{background:#555}.directory-carousel-viewport:focus-visible{outline:2px solid #555;outline-offset:-3px}.directory-carousel-dots>button:focus-visible{outline:2px solid #555;outline-offset:1px}.directory-product h2{font-size:16px;font-weight:400;line-height:1.5;letter-spacing:0;margin-top:12px;overflow-wrap:anywhere}.directory-product p{margin-top:5px;color:var(--muted);font-size:16px;line-height:1.6}.directory-product:hover h2{color:var(--green)}.directory-contact{padding:42px;background:var(--pale)}.directory-contact h2{font-size:28px}.directory-contact p{margin:16px 0;color:var(--muted)}@media(max-width:1100px){.directory-layout{grid-template-columns:220px minmax(0,1fr);gap:30px}.directory-product-grid{gap:30px 18px}}@media(max-width:760px){.directory-layout{grid-template-columns:1fr;gap:30px}.directory-sidebar{position:static}.directory-top h1{font-size:30px}.directory-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.directory-area-links{gap:8px 18px}.directory-contact{padding:24px}}.directory-filter-fab{display:none}.directory-filter-dialog{width:100%;max-width:none;max-height:min(84dvh,760px);margin:auto 0 0;padding:0;border:0;border-radius:20px 20px 0 0;background:#fff;color:var(--ink);overflow:hidden;box-shadow:0 -12px 48px #10251b24}.directory-filter-dialog[open]{display:flex;flex-direction:column}.directory-filter-dialog::backdrop{background:#0c201b73;backdrop-filter:blur(3px)}.directory-filter-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line);flex-shrink:0}.directory-filter-header h2{font-size:20px;line-height:1.4;letter-spacing:0}.directory-filter-header button{width:44px;height:44px;border:0;background:#fafafa;color:var(--ink);font-size:28px;border-radius:50%}.directory-filter-body{padding:0 20px 12px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.directory-filter-dialog .directory-sidebar{position:static}.directory-filter-footer{padding:14px 20px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;flex-shrink:0}.directory-filter-footer p{margin:0 0 10px;font-size:16px;color:var(--muted)}.directory-filter-footer .button{width:100%}.directory-results{scroll-margin-top:120px}@media(max-width:760px){.directory-filter-ready .directory-filter-fab{position:fixed;z-index:45;bottom:max(76px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 24px;border:1px solid #ffffff40;border-radius:28px;background:var(--dark);color:#fff;box-shadow:0 6px 24px #0b2d2833;font-size:16px;font-weight:500}}
