.catalogue-heading{padding-block:58px 34px}.catalogue-heading h1{max-width:900px;font-size:clamp(2.5rem,4.6vw,4.1rem)}.catalogue-heading>p:last-child{max-width:690px;margin-top:22px;color:var(--muted);font-size:1.1rem}.catalogue-body{padding-bottom:54px}.catalogue-categories{display:flex;flex-wrap:wrap;gap:9px;padding-block:16px 26px}.catalogue-categories a{padding:11px 20px;border:1px solid #a8b6ab;border-radius:4px;text-decoration:none;font-weight:700;min-height:46px}.catalogue-categories a[aria-current]{background:var(--green);border-color:var(--green);color:var(--ivory)}.catalogue-search{padding:25px;background:#e8eee3;border-radius:6px;margin-bottom:26px}.catalogue-search label{display:block;font-weight:700;margin-bottom:9px}.search-controls{display:flex;gap:10px;align-items:stretch}.search-controls input{min-width:0;flex:1;min-height:50px;padding:12px;border:1px solid #708879;border-radius:4px;color:var(--ink);background:#fff}.search-controls .button{min-height:50px;padding:12px 22px}.search-clear{border:0;background:transparent;color:var(--ink);text-decoration:underline;padding:10px;min-height:44px}.catalogue-search #search-hint{margin-top:10px;font-size:.84rem;color:var(--muted)}.catalogue-summary{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-block:14px 24px}.catalogue-summary>p{font-size:.9rem;color:var(--muted)}.product-grid{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.product-grid>li{min-width:0;display:flex}.product-card{background:#fff;border:1px solid var(--rule);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;width:100%}.product-photo{aspect-ratio:4/3;background:#fff;display:flex;align-items:center;justify-content:center;min-width:0;padding:22px}.product-photo img{width:100%;height:100%;object-fit:scale-down}.product-photo.pending{background:#f0f1eb;color:#526353;padding:25px;border-bottom:1px solid var(--rule);font-size:.8rem;text-align:center}.product-photo.pending span{max-width:165px;line-height:1.6}.product-card-copy{padding:20px;position:relative;flex:1;display:flex;flex-direction:column}.product-category{font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:11px;color:var(--muted)}.product-card h2{font-size:1.05rem;letter-spacing:-.01em;line-height:1.4;overflow-wrap:anywhere;text-wrap:initial}.product-card h2 a{text-decoration:none}.product-card h2 a:hover{text-decoration:underline}.sku{font-size:.75rem;color:var(--muted);padding-top:16px;margin-top:auto;padding-right:20px}.card-arrow{position:absolute;right:19px;bottom:17px;color:var(--green);font-size:1.25rem}.catalogue-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:34px}.catalogue-pagination a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 13px;border:1px solid var(--rule);border-radius:3px;text-decoration:none}.catalogue-pagination a[aria-current]{background:var(--green);color:var(--ivory)}.catalogue-cta{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;border-top:2px solid var(--green);padding-block:45px 58px}.catalogue-cta h2{font-size:2rem}.catalogue-cta p:not(.eyebrow){margin-top:17px;color:var(--muted);max-width:520px}.catalogue-cta>div:last-child{justify-self:end}.catalogue-cta>div:last-child>p{font-size:.85rem}.catalogue-breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;padding-block:30px;font-size:.85rem}.product-detail{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;padding-block:15px 65px;align-items:start}.product-detail>.product-photo{aspect-ratio:1;border:1px solid var(--rule);border-radius:6px;position:sticky;top:20px}.product-detail>.pending{font-size:1rem}.product-detail>.pending span{max-width:240px}.product-detail h1{font-size:clamp(2rem,3.7vw,3.25rem);line-height:1.12;overflow-wrap:anywhere}.product-pack{font-size:1.3rem;margin-top:18px;color:var(--muted)}.product-detail dl{margin-block:30px}.product-detail dl>div{display:grid;grid-template-columns:minmax(110px,.75fr) 1.3fr;gap:20px;padding-block:13px;border-bottom:1px solid var(--rule);font-size:.9rem}.product-detail dt{font-weight:700}.product-detail dd{margin:0;overflow-wrap:anywhere}.product-order-note{color:var(--muted);font-size:.95rem;margin-bottom:24px}.product-existing{display:block;min-height:44px;padding-top:16px;font-size:.92rem;font-weight:700}.product-source-note{font-size:.79rem;color:var(--muted);margin-top:24px}.catalogue-related{padding-bottom:60px}.catalogue-related h2{font-size:1.8rem}.catalogue-related .catalogue-summary>a{font-size:.88rem;min-height:44px;display:flex;align-items:center}.search-status{margin-block:20px;font-weight:700}.search-status:empty{margin:0}.search-list{padding:0;margin:0;list-style:none}.search-list li{padding:20px;border:1px solid var(--rule);border-radius:4px;margin-block:10px;background:white}.search-list a{display:inline-block;padding-block:5px;font-weight:700;overflow-wrap:anywhere}.search-list p{font-size:.8rem;color:var(--muted);margin-top:6px}.catalogue-no-js{font-size:.9rem;color:var(--muted);margin-bottom:20px}.catalogue-entry{margin-top:30px;padding-top:24px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;gap:25px}.catalogue-entry p{max-width:660px;color:var(--muted)}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-detail{gap:35px}.catalogue-related .product-grid>li:last-child{display:none}}
@media(max-width:700px){.catalogue-heading{padding-top:38px}.catalogue-heading>p:last-child{font-size:1rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.product-card-copy{padding:16px}.product-card h2{font-size:.94rem}.product-photo{padding:14px}.product-photo.pending{padding:17px;font-size:.74rem}.card-arrow{right:13px;bottom:14px}.catalogue-search{padding:19px}.search-controls{flex-wrap:wrap}.search-controls input{flex-basis:100%}.catalogue-categories{gap:8px}.catalogue-categories a{font-size:.88rem;padding:10px 16px}.catalogue-cta{grid-template-columns:1fr;gap:28px;padding-block:35px 44px}.catalogue-cta>div:last-child{justify-self:start}.product-detail{grid-template-columns:1fr;gap:28px;padding-bottom:40px}.product-detail>.product-photo{position:static;width:min(100%,440px);justify-self:center}.product-detail h1{font-size:2.15rem}.product-detail-copy .button{width:100%}.catalogue-related .product-grid>li:last-child{display:flex}.catalogue-related h2{font-size:1.5rem}.catalogue-related .catalogue-summary{align-items:flex-start;flex-direction:column;gap:5px}.catalogue-breadcrumbs{gap:9px}.catalogue-entry{align-items:flex-start;flex-direction:column}.catalogue-pagination{gap:6px}}
@media(max-width:379px){.product-grid{grid-template-columns:1fr}.product-card{display:grid;grid-template-columns:100px minmax(0,1fr)}.product-photo{aspect-ratio:auto;min-height:145px}.product-photo.pending{border-bottom:0;border-right:1px solid var(--rule);padding:10px;font-size:.7rem}.product-category{font-size:.63rem}.product-card h2{font-size:.9rem}.sku{font-size:.7rem}.product-detail>.product-photo{aspect-ratio:1}}
@media print{.catalogue-search,.search-status,.catalogue-pagination,.catalogue-cta,.catalogue-categories{display:none}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-detail{grid-template-columns:1fr 1fr}.product-detail>.product-photo{position:static}.product-card{break-inside:avoid}.product-detail .button,.product-existing{display:none}}

.product-description{padding-block:5px 25px}.product-description h2{font-size:1.4rem;letter-spacing:-.02em;margin-bottom:16px}.product-description p{font-size:1rem;line-height:1.7;margin-top:12px;overflow-wrap:anywhere}

.catalogue-categories a.category-parent-selected{background:var(--green);border-color:var(--green);color:var(--ivory)}
.category-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:38px}
.category-directory section{min-width:0;background:#fff;border:1px solid var(--rule);border-radius:6px;padding:23px}
.category-directory h2{font-size:1.2rem;line-height:1.3;margin:0 0 15px}
.category-directory h2 a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;min-height:36px}
.category-directory nav{display:grid}
.category-directory nav a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:9px 0;border-top:1px solid var(--rule);font-size:.91rem;line-height:1.35;text-decoration:none}
.category-directory nav a:hover span:first-child{text-decoration:underline}
.category-count{font-size:.76rem;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}
.catalogue-subcategories{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 30px;padding-bottom:24px;border-bottom:1px solid var(--rule)}
.catalogue-subcategories a{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 14px;background:#fff;border:1px solid var(--rule);border-radius:4px;font-size:.86rem;text-decoration:none}
.catalogue-subcategories a[aria-current]{border-color:var(--green);background:#e8eee3;font-weight:700}
.category-directory a:focus-visible,.catalogue-subcategories a:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(max-width:850px){.category-directory{gap:14px}.category-directory section{padding:18px}.category-directory nav a{font-size:.84rem}}
@media(max-width:650px){.category-directory{grid-template-columns:1fr;gap:14px}.category-directory section{padding:20px}.category-directory nav a{font-size:.94rem}.catalogue-subcategories a{max-width:100%;font-size:.84rem}.catalogue-categories a{padding:10px 12px}.category-directory h2 a{min-height:44px}}
@media print{.category-directory,.catalogue-subcategories{display:none}}

.search-list li{display:flex;align-items:center;gap:20px}.search-result-copy{min-width:0;flex:1}.search-list .search-result-photo{display:flex;align-items:center;justify-content:center;flex:0 0 104px;width:104px;height:104px;padding:4px}.search-result-photo img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:600px){.search-list li{padding:14px;gap:14px}.search-list .search-result-photo{flex-basis:80px;width:80px;height:96px}}

/* Extend each native product link across its card, retaining one keyboard stop. */
.product-card,.search-list li{position:relative}
.product-card-copy{position:static}
.product-card h2 a::after,.search-result-copy>a::after{content:"";position:absolute;inset:0;z-index:1}
.product-card:hover,.search-list li:hover{border-color:var(--green)}
.product-card:hover h2 a{text-decoration:underline}
.product-card:focus-within,.search-list li:focus-within{outline:3px solid var(--green);outline-offset:3px}
