/* Product galleries: generous media, a calm title and one clear route to the specification. */
.catalogue-overview,.catalogue-detail{scroll-margin-top:110px;padding:58px 0 80px;background:#fff;color:#1b252d}
.catalogue-overview>.section-wrap,.catalogue-detail>.section-wrap{max-width:1360px}
.catalogue-intro{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:12px}
.catalogue-intro h2{font-size:42px;font-weight:400;line-height:1.12;letter-spacing:-.045em;margin:0}
/* Each family is one linked object: category title and representative product. */
.family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}
.products-directory .family-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:28px 26px 12px;background:#f2f5f7;border-radius:8px;color:#1b252d;text-decoration:none}
.family-card h2{font-size:25px;font-weight:400;line-height:1.22;letter-spacing:-.035em;margin:0;padding-right:42px;min-height:3.66em;overflow-wrap:break-word}
.family-card-arrow{position:absolute;top:29px;right:24px;width:24px;height:24px;fill:none;stroke:#0047ab;stroke-width:1.5}
.family-card-media{display:block;width:100%;aspect-ratio:5/4;margin-top:14px;min-height:0}
.family-card-media img{display:block;box-sizing:border-box;width:100%;height:100%;padding:14px;object-fit:contain;mix-blend-mode:multiply}
.products-directory .family-card:is(:hover,:focus-visible){background:#e8eff5;color:#0047ab;text-decoration:none}
.products-directory .family-card:focus-visible{outline:2px solid #0047ab;outline-offset:4px}
.catalogue-result-heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 32px}
.catalogue-detail .directory-category-title{flex:1 1 320px;font-size:38px;font-weight:400;line-height:1.13;letter-spacing:-.04em;max-width:800px;margin:0;color:#1b252d}
.catalogue-detail .directory-search{display:flex;flex:0 1 340px;align-items:center;gap:10px;box-sizing:border-box;width:340px;max-width:100%;height:48px;margin:0;padding:5px 5px 5px 13px;border:1px solid #d5dfe7;border-radius:6px;background:#fff;overflow:visible;transition:border-color .18s}
.catalogue-detail .directory-search:focus-within{border-color:#3778bb;outline:none;box-shadow:inset 0 0 0 1px #3778bb}
.catalogue-detail .directory-search>svg{flex:none;width:19px;height:19px;margin:0;fill:none;stroke:currentColor;stroke-width:1.5;color:#728695}
.catalogue-detail .directory-search input{box-sizing:border-box;flex:1;min-width:0;width:100%;height:36px;padding:0;border:0;background:transparent;color:#19364c;font-size:15px;line-height:1.4}
.catalogue-detail .directory-search input::placeholder{color:#72818c;opacity:1}
.catalogue-detail .directory-search button{display:grid;flex:none;place-items:center;align-self:center;min-width:70px;height:36px;padding:0 13px;border:0;border-radius:3px;background:#e8f0f8;color:#0756a6;font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;transition:background .18s,color .18s}
.catalogue-detail .directory-search button:is(:hover,:focus-visible){background:#0756a6;color:#fff;text-decoration:none}
.catalogue-detail .directory-search button:focus-visible{outline:2px solid #0756a6;outline-offset:2px}
.catalogue-detail .result-tools{margin:20px 0 28px;font-size:14px;color:#72808a}
.catalogue-detail .product-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px}
/* Detailed products use the same unified surface as the category cards. */
.products-directory .product-card-link{position:relative;display:flex;flex-direction:column;box-sizing:border-box;height:100%;min-width:0;padding:25px 24px 14px;border:0;border-radius:8px;overflow:hidden;background:#f2f5f7;color:#1b252d;text-decoration:none}
.catalogue-detail .product-directory-card h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:3.9em;max-width:none;margin:0;padding-right:28px;font-size:21px;font-weight:400;line-height:1.3;letter-spacing:-.025em;overflow-wrap:break-word;color:inherit}
.product-card-arrow{position:absolute;top:27px;right:22px;width:21px;height:21px;fill:none;stroke:#0047ab;stroke-width:1.5}
.catalogue-detail .product-image{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:auto;aspect-ratio:4/3;margin-top:auto;padding-top:20px;border-radius:0;background:transparent}
.catalogue-detail .product-image img{display:block;box-sizing:border-box;width:100%;height:100%;padding:12px;object-fit:contain;mix-blend-mode:multiply;transform:none;transition:none}
.products-directory .product-card-link:is(:hover,:focus-visible){background:#e8eff5;color:#0047ab;text-decoration:none}
.products-directory .product-card-link:is(:hover,:focus-visible) h3{text-decoration:none}
.products-directory .product-card-link:is(:hover,:focus-visible) .product-image{background:transparent}
.catalogue-detail .directory-footnote{margin-top:34px}
.products-directory .product-card-link:focus-visible{outline:2px solid #0047ab;outline-offset:5px}
@media(max-width:1100px){
 .catalogue-detail .product-card-grid{gap:24px}
}
@media(max-width:800px){
 .catalogue-overview,.catalogue-detail{padding:40px 0 55px}
 .catalogue-intro h2{font-size:35px}
 .catalogue-detail .product-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}
 .catalogue-detail .directory-category-title{font-size:33px}
.catalogue-detail .product-directory-card h3{font-size:20px}
}
@media(max-width:540px){
 .catalogue-detail .directory-search{flex-basis:100%;width:100%;margin-top:0}
 .catalogue-detail .directory-search input{font-size:16px}
 .catalogue-intro{display:block}
 .catalogue-intro h2{font-size:32px;margin-bottom:18px}
 .catalogue-detail .product-card-grid{grid-template-columns:1fr;gap:27px}
 .catalogue-detail .product-card-link{display:flex;gap:0;padding:24px 22px 12px}
 .catalogue-detail .product-directory-card h3{font-size:21px;min-height:0;-webkit-line-clamp:4}
 .catalogue-detail .product-image{width:100%;height:auto;aspect-ratio:5/3;margin-top:20px;padding:0}
 .catalogue-detail .product-image img{padding:10px 18px}
 .product-card-arrow{top:26px;right:20px}

}
@media(prefers-reduced-motion:reduce){.catalogue-detail .product-image,.catalogue-detail .directory-search,.catalogue-detail .directory-search button{transition:none}}

@media(max-width:1100px){.family-card h2{font-size:22px}.products-directory .family-card{padding:24px 20px 10px}.family-card-arrow{top:25px;right:20px}}
@media(max-width:800px){.family-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.family-card h2{min-height:3.66em}}
@media(max-width:540px){.family-grid{grid-template-columns:1fr;gap:16px;margin-top:24px}.products-directory .family-card{padding:24px 22px 12px}.family-card h2{font-size:24px;min-height:0;max-width:22ch}.family-card-arrow{right:22px}.family-card-media{aspect-ratio:5/3;margin-top:20px}.family-card-media img{padding:10px 22px}}
