/* Product overview only: native families, shared heading system and inquiry-led navigation. */
.nany-products-overview{--npo-accent:var(--nany-green-accessible,#197d2b);background:#f5f7f9;color:var(--nany-ink);padding:0 0 76px;font-family:var(--nany-font);font-size:15px;line-height:1.75}
.nany-products-overview *{box-sizing:border-box}
.nany-products-overview a{text-decoration:none}
.npo-main{min-width:0}
.npo-breadcrumb{padding-block:24px}
.npo-breadcrumb nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:12px;line-height:1.7;color:var(--nany-muted);overflow-wrap:anywhere}
.npo-breadcrumb a{color:var(--nany-muted)}.npo-breadcrumb a:hover{color:var(--npo-accent)}.npo-breadcrumb nav>span{color:#a1aab8}
.npo-banner{display:grid;grid-template-columns:1fr 1.12fr;min-height:310px;background:var(--nany-blue);isolation:isolate;overflow:hidden;border-radius:5px}
.npo-banner-copy{padding:35px clamp(28px,3.4vw,52px);min-width:0;align-self:center}
.npo-eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 12px;font-size:10px;line-height:1.5;letter-spacing:.13em;font-weight:700;color:var(--npo-accent)}
.npo-eyebrow:before{content:"";display:block;flex:0 0 20px;height:2px;background:var(--nany-green)}
.npo-eyebrow-light{color:#c5e6ce}
.npo-banner h1{font-size:48px;line-height:1.15;font-weight:700;letter-spacing:0;text-transform:uppercase;margin:0 0 15px;color:#fff}
.npo-banner-intro{max-width:520px;color:#e1e7f5;font-size:15px;line-height:1.8;margin:0}
.npo-banner-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px}
.nany-products-overview .npo-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:46px;padding:11px 18px;border:1px solid transparent;border-radius:4px;color:#fff;background:var(--npo-accent);font-size:13px;line-height:1.5;font-weight:700;transition:background .2s,color .2s}
.nany-products-overview .npo-button:hover{background:#146725;color:#fff}
.npo-button svg,.npo-banner-contact svg{flex-shrink:0;width:18px;height:18px}
.nany-products-overview .npo-banner-contact{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#fff;font-size:13px;line-height:1.5;font-weight:600}
.nany-products-overview .npo-banner-contact:hover{color:#a9efb5}
.npo-banner-image{position:relative;min-width:0;min-height:310px;overflow:hidden;background:#e4ebef}
.npo-banner-image>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.npo-banner-image:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0d203880);pointer-events:none}
.npo-image-caption{position:absolute;z-index:1;bottom:23px;left:26px;right:22px;display:flex;align-items:center;gap:10px;font-size:11px;line-height:1.6;letter-spacing:.035em;color:#fff;text-shadow:0 1px 4px #0006}
.npo-image-caption>span{display:block;width:7px;height:7px;border-radius:50%;background:#70d783;flex-shrink:0}
.npo-banner-no-image{grid-template-columns:1fr}
.npo-catalog{padding-top:52px;scroll-margin-top:125px}
.npo-catalog-heading{margin-bottom:26px}
.npo-catalog-heading>div{min-width:0}
#main .npo-catalog-heading h2.nany-section-title{margin-bottom:0}
.npo-category-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;padding:0 0 25px;border-bottom:1px solid #dfe6ed}
.npo-category-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;max-width:100%;padding:8px 13px;border:1px solid #dce4eb;border-radius:4px;background:#fff;color:#455269;font-size:12px;line-height:1.5;transition:border-color .2s,background .2s,color .2s;overflow-wrap:anywhere}
.npo-category-nav a:hover{border-color:var(--npo-accent);background:#edf5ef;color:var(--npo-accent)}
.npo-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch}
.npo-family{min-width:0;scroll-margin-top:130px}
.npo-category-card{height:100%;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid #e0e6ed;border-radius:12px;color:var(--nany-ink);transition:border-color .2s,box-shadow .2s,transform .2s}
.npo-card-image{position:relative;aspect-ratio:1/1;flex-shrink:0;overflow:hidden;background:#ecf1f7;border-bottom:1px solid #e5ebf0;padding:0}
.npo-card-image>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;transition:transform .35s}
.npo-card-content{display:flex;align-items:center;justify-content:center;flex:1;min-height:76px;padding:16px 18px;min-width:0;background:var(--npo-accent);transition:background .2s}
.npo-card-title{margin:0;color:#fff;font-family:inherit;font-size:18px;line-height:1.45;font-weight:600;letter-spacing:0;text-align:center;overflow-wrap:anywhere}
.npo-category-card:hover{color:var(--nany-ink);border-color:#8fb49a;box-shadow:0 12px 28px #142b4b0b;transform:translateY(-3px)}
.npo-category-card:hover .npo-card-image>img{transform:scale(1.035)}
.npo-category-card:hover .npo-card-content,.npo-category-card:focus-visible .npo-card-content{background:var(--nany-blue)}
.npo-category-card:focus-visible{outline:3px solid var(--npo-accent);outline-offset:4px}
.npo-empty{padding:28px;background:#fff;border-left:3px solid var(--npo-accent);margin:0}
.npo-category-grid-empty{grid-template-columns:1fr}
@media(max-width:1200px){.npo-banner-copy{padding:30px}.npo-banner h1{font-size:42px}.npo-banner-actions{gap:12px 16px}.npo-banner-intro{font-size:14px}.npo-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}}
@media(max-width:1000px){.npo-banner{grid-template-columns:1fr 1fr}.npo-banner-copy{padding:30px 25px}.npo-banner h1{font-size:38px}.npo-banner-actions{align-items:flex-start;flex-direction:column;gap:7px}.npo-catalog{padding-top:40px}.npo-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.npo-banner{grid-template-columns:1fr}.npo-banner-copy{padding:30px}.npo-banner-image{min-height:210px;order:-1}.npo-banner-image>img{object-position:center 48%}.npo-banner-actions{flex-direction:row;align-items:center;gap:12px 18px}.npo-category-nav{gap:7px}}
@media(max-width:600px){.nany-products-overview{padding-bottom:42px}.npo-breadcrumb{padding-block:18px}.npo-breadcrumb nav{font-size:11px;gap:6px 9px}.npo-banner-copy{padding:26px 24px}.npo-banner h1{font-size:34px;margin-bottom:13px}.npo-eyebrow{font-size:9px;letter-spacing:.1em}.npo-banner-intro{font-size:14px;margin-bottom:0}.npo-banner-image{min-height:170px}.npo-image-caption{bottom:16px;left:20px;font-size:10px}.npo-banner-actions{gap:10px 16px}.nany-products-overview .npo-button{padding:10px 14px;gap:12px;font-size:12px;min-height:44px}.nany-products-overview .npo-banner-contact{font-size:12px}.npo-catalog{padding-top:32px;scroll-margin-top:100px}.npo-catalog-heading{margin-bottom:20px}.npo-category-nav{padding-bottom:22px;margin-bottom:24px}.npo-category-nav a{font-size:11px;padding:8px 10px;min-height:38px}.npo-category-grid{grid-template-columns:1fr;gap:20px}.npo-family{scroll-margin-top:110px}}
@media(max-width:360px){.npo-banner-copy{padding:24px 20px}.npo-banner-actions{align-items:flex-start;flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){.npo-category-card,.npo-card-image>img,.npo-card-content,.npo-category-nav a,.nany-products-overview .npo-button{transition:none}.npo-category-card:hover,.npo-category-card:hover .npo-card-image>img{transform:none}}
