/* Shared storefront rhythm; campaign images and destinations stay editor-controlled. */
.asay-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}
.brand-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;color:#087f79}
body.store-enterprise .product-card .add-cart,.quote-panel .btn.primary,.quote-filters .btn.primary,.need-hero .btn.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#087f79!important;color:#fff!important;border:1px solid #087f79!important;box-shadow:none;font-weight:650;border-radius:9px;min-height:44px}
body.store-enterprise .product-card .add-cart:hover,.quote-panel .btn.primary:hover{background:#066961!important;border-color:#066961!important}
body.store-enterprise .product-card .add-cart:disabled{background:#e9eff1!important;color:#536672!important;border-color:#dce5e9!important;cursor:not-allowed}
body.store-enterprise .product-card .add-cart .asay-icon{width:18px;height:18px}
body.store-enterprise .product-card .favorite-button.active .asay-icon{fill:#ffe5e5}
body.store-enterprise .product-card .product-info>.product-title-link{height:94px;min-height:94px;overflow:hidden;margin:8px 0}
body.store-enterprise .product-card .product-info h3{font-size:15px;line-height:1.4;height:2.8em;min-height:2.8em;max-height:2.8em;-webkit-line-clamp:2;line-clamp:2;margin:0 0 4px;letter-spacing:-.15px}
body.store-enterprise .product-card .product-name-specs{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-size:11px;line-height:1.45;color:#536672;font-weight:400;overflow-wrap:anywhere}
body.store-enterprise .product-card .product-title-link:not(.has-specs) h3{-webkit-line-clamp:3;line-clamp:3;height:4.2em;min-height:4.2em;max-height:4.2em}
body.store-enterprise .reference-category-cards .ref-cat{background:linear-gradient(125deg,#f1f8f8,#e4f1f1)!important;color:#15374a!important;border:1px solid #d6e6e9!important;box-shadow:none!important;border-radius:14px!important}
body.store-enterprise .reference-category-cards .ref-cat:nth-child(even){background:linear-gradient(125deg,#eef3f8,#dfe9ef)!important}
body.store-enterprise .reference-category-cards .ref-cat h3{color:#15374a!important;font-weight:700;letter-spacing:-.2px;text-transform:none}
body.store-enterprise .reference-category-cards .ref-cat p{color:#405f6c!important;line-height:1.5}
body.store-enterprise .reference-category-cards .ref-cat b{background:#fff!important;color:#087f79!important;border:1px solid #c5dedd!important;border-radius:8px!important;box-shadow:none}
body.store-enterprise .banner-slide:not(.banner-custom-artwork){background:linear-gradient(115deg,#eaf5f5,#cee7e6)!important;color:#15374a!important}
body.store-enterprise .banner-slide .banner-copy em{background:#087f79!important;color:white!important;border-radius:8px!important;font-weight:650}
.mobile-banner-content{display:none}
.shop-by-need{padding-top:38px;padding-bottom:38px}
.brand-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}
.brand-section-heading h2{font-size:26px;line-height:1.3;color:#15374a;margin:8px 0 0;letter-spacing:-.6px}
.brand-section-heading>a{font-size:13px;font-weight:600;color:#087f79;white-space:nowrap}
.need-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.need-card{display:flex;flex-direction:column;align-items:start;padding:24px;border:1px solid #dce8eb;background:#fff;border-radius:14px;color:#15374a;min-width:0;transition:border-color .2s,box-shadow .2s}
.need-card:hover{border-color:#78b8b3;box-shadow:0 8px 24px #133b4b0a}
.need-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#eaf6f4;color:#087f79;margin-bottom:18px}
.need-icon .asay-icon{width:26px;height:26px}
.need-card h3{margin:0 0 8px;font-size:18px}.need-card p{font-size:13px;line-height:1.6;color:#536672;margin:0 0 20px}.need-action{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650;color:#087f79;margin-top:auto}
.need-hero{padding-top:38px;padding-bottom:30px}.need-hero h1{font-size:34px;color:#15374a;margin:12px 0}.need-hero p{line-height:1.6;color:#536672}.need-results{padding-bottom:40px}
.quote-hero{padding-top:38px;padding-bottom:28px;color:#15374a}.quote-hero h1{font-size:clamp(25px,3vw,40px);line-height:1.18;letter-spacing:-1px;margin:12px 0 16px;overflow-wrap:anywhere}.quote-hero p{max-width:720px;font-size:15px;line-height:1.7;color:#536672;margin:0}.quote-steps{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px;font-size:12px;font-weight:600;color:#3d6270}
.quote-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:24px;padding-bottom:48px;align-items:start}
.quote-panel{background:#fff;border:1px solid #dce8eb;border-radius:16px;padding:28px;min-width:0;color:#15374a;box-shadow:0 8px 28px #183b4b05}.quote-panel h2{font-size:22px;line-height:1.35;margin:0 0 12px;letter-spacing:-.4px}.quote-panel h3{font-size:17px;margin:28px 0 18px}.quote-panel p{font-size:14px;line-height:1.7;color:#536672}.quote-panel a{color:#087f79}.quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.quote-fields.single{grid-template-columns:1fr}.quote-fields .full{grid-column:1/-1}.quote-fields label,.quote-filters label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:#294b5b;min-width:0}.quote-fields label small{font-size:11px;font-weight:400;color:#607987}.quote-fields input,.quote-fields select,.quote-fields textarea,.quote-filters input,.quote-filters select{width:100%;min-height:44px;border:1px solid #cbdce2;border-radius:8px;background:#fff;color:#15374a;padding:11px 12px;font:inherit;font-weight:400;box-sizing:border-box}.quote-fields textarea{resize:vertical;line-height:1.6}.quote-fields :is(input,select,textarea):focus,.quote-filters :is(input,select):focus{outline:2px solid #087f79;outline-offset:2px}.quote-panel .quote-privacy{font-size:12px;margin:20px 0}.quote-submit{margin-top:16px;padding:12px 22px;cursor:pointer;font-size:14px}.quote-aside{background:#f0f8f7}.quote-aside ul{padding-left:18px;line-height:2;font-size:13px;margin:22px 0}.quote-aside>a{display:flex;width:fit-content;margin-top:20px;font-size:13px}.quote-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.quote-badge{display:inline-block;white-space:nowrap;font-size:11px;font-weight:600;background:#e8f6f3;color:#087f79;padding:7px 11px;border-radius:20px}.quote-notice{padding:12px 14px;border:1px solid #b7dfd4;background:#effaf5;border-radius:8px;color:#236452!important}.quote-message{white-space:pre-wrap;overflow-wrap:anywhere}.quote-internal{white-space:pre-wrap;overflow-wrap:anywhere;border-left:3px solid #bcccd4;padding:10px 14px;background:#f5f8fa}.quote-timeline{list-style:none;padding:0 0 0 18px;border-left:2px solid #d7e9e8;margin:20px 0 0}.quote-timeline li{position:relative;padding:0 0 26px 4px}.quote-timeline li:before{content:'';position:absolute;left:-25px;top:4px;width:10px;height:10px;background:#087f79;border-radius:50%;border:2px solid white}.quote-timeline li:last-child{padding-bottom:0}.quote-timeline span{display:block;font-size:11px;color:#607987;margin-bottom:7px}.quote-timeline b{display:block;font-size:13px}.quote-timeline p{margin-bottom:0}.quote-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.quote-filters{display:flex;align-items:end;gap:16px;margin-bottom:22px}.quote-filters label:first-child{flex:1}.quote-filters button{padding:10px 20px}.quote-table-wrap{overflow-x:auto}.quote-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.quote-table th{background:#f4f8fa;color:#567180;font-size:11px;font-weight:600;padding:14px 12px}.quote-table td{padding:18px 12px;border-bottom:1px solid #e6eef1;vertical-align:middle}.quote-table small{display:block;color:#607987;margin-top:6px;font-size:11px}.quote-table a{white-space:nowrap;font-weight:600}
.brand-quote-entry{position:fixed;right:24px;bottom:94px;z-index:30;display:flex;align-items:center;gap:8px;padding:12px 16px;min-height:44px;border:1px solid #dce8eb;border-radius:28px;background:#fff;color:#15374a;box-shadow:0 4px 16px #17384c14;font-size:12px;font-weight:650}.brand-quote-entry:hover{border-color:#087f79;color:#087f79}
@media(max-width:767px){
body.store-enterprise .product-card .product-info>.product-title-link{height:68px;min-height:68px;margin:0;padding-top:4px}
body.store-enterprise .product-card .product-info h3{font-size:12px;line-height:1.4;margin:0 0 3px}
body.store-enterprise .product-card .product-name-specs{font-size:9px;line-height:1.4}
body.store-enterprise .product-card .add-cart{gap:5px;font-size:11px}
/* A fixed mobile frame prevents layout shifts between differently sized images. */
body.store-enterprise.storefront-home .reference-fold .container.reference-banners{width:100%!important;max-width:100%!important;min-width:0!important;left:auto!important;right:auto!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;transform:none!important;box-sizing:border-box!important}
body.store-enterprise.storefront-home .reference-main-banner.banner-carousel{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16 / 6!important;width:100%!important;position:relative!important;box-sizing:border-box!important;padding:0!important;border-radius:10px!important;background:#fff!important;overflow:hidden!important}
body.store-enterprise .banner-carousel .banner-track{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;transform:none!important}
body.store-enterprise .banner-carousel .banner-slide{display:none!important;position:relative!important;inset:auto!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;background:#fff!important;transform:none!important}
body.store-enterprise .banner-carousel .banner-slide.is-active{display:block!important}
body.store-enterprise .banner-slide>.banner-copy,body.store-enterprise .banner-slide>.banner-real-image,body.store-enterprise .banner-slide>.banner-guarantees,body.store-enterprise .mobile-banner-copy{display:none!important}
body.store-enterprise .banner-carousel .banner-slide .mobile-banner-content{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;margin:0!important;background:transparent!important}
body.store-enterprise .banner-carousel .mobile-banner-content>img{display:block!important;position:absolute!important;inset:0!important;transform:none!important;width:100%!important;height:100%!important;min-height:0!important;max-width:100%!important;max-height:100%!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;mix-blend-mode:normal!important;filter:none!important}
body.store-enterprise .banner-carousel .slider-dots{bottom:4px!important;left:50%!important;transform:translateX(-50%)!important;display:flex!important;gap:0!important;height:24px;max-width:calc(100% - 112px);align-items:center;justify-content:center;background:#ffffffe6;border-radius:20px;padding:0 4px;box-shadow:0 1px 6px #15374a1a}
body.store-enterprise .banner-carousel .slider-dots button{width:24px!important;height:24px!important;padding:8px!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important}
body.store-enterprise .banner-carousel .slider-dots button:after{content:'';display:block;width:8px;height:8px;background:#cbdde0;border-radius:50%}
body.store-enterprise .banner-carousel .slider-dots button.active:after{background:#087f79}
body.store-enterprise .banner-carousel .banner-arrow{top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;display:grid!important;place-items:center!important;width:44px!important;height:44px!important;padding:0!important;font-size:26px!important;line-height:1!important;background:#ffffffe6!important;color:#15374a!important;border:1px solid #15374a1a!important;border-radius:50%!important;box-shadow:0 2px 8px #15374a1f!important}
body.store-enterprise .banner-carousel .banner-prev{left:4px!important;right:auto!important}
body.store-enterprise .banner-carousel .banner-next{right:4px!important;left:auto!important}
body.store-enterprise .banner-carousel .banner-arrow:focus-visible,body.store-enterprise .banner-carousel .slider-dots button:focus-visible{outline:2px solid #087f79;outline-offset:-2px}
.shop-by-need{padding-top:28px;padding-bottom:28px}.brand-section-heading{display:block;margin-bottom:18px}.brand-section-heading h2{font-size:23px;margin-bottom:12px}.brand-section-heading>a{font-size:12px;white-space:normal}.need-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.need-card{padding:16px 12px;border-radius:12px}.need-icon{width:38px;height:38px;margin-bottom:14px}.need-card h3{font-size:15px;line-height:1.35}.need-card p{font-size:12px;margin-bottom:14px}.need-action{font-size:11px}.need-hero h1{font-size:28px}
.quote-hero{padding-top:26px;padding-bottom:24px}.quote-hero p{font-size:14px}.quote-steps{gap:10px;font-size:11px;flex-direction:column}.quote-layout{grid-template-columns:1fr;gap:16px;padding-bottom:30px}.quote-panel{padding:20px 16px;border-radius:12px}.quote-panel h2{font-size:20px}.quote-fields{grid-template-columns:1fr;gap:17px}.quote-fields input,.quote-fields select,.quote-fields textarea,.quote-filters input,.quote-filters select{font-size:16px}.quote-submit{width:100%}.quote-heading{align-items:start;flex-wrap:wrap}.quote-filters{flex-direction:column;align-items:stretch}.quote-table{min-width:650px}.brand-quote-entry{display:none}
}
@media(prefers-reduced-motion:reduce){.need-card{transition:none}}

.mobile-slider-fields{padding:20px;border:1px solid #d7e7e9;border-radius:12px;margin:18px 0;background:#f3f9f8}.mobile-slider-fields label{display:block;margin:16px 0}.mobile-slider-fields input{display:block;width:100%;margin-top:7px}.mobile-slider-fields p{line-height:1.6;color:#536672}.need-products{padding-bottom:40px}

body.store-enterprise .discount-rate-card{background:#edf6f5;color:#15374a;border:1px solid #dae8ea;border-radius:14px}body.store-enterprise .discount-rate-card:nth-child(even){background:#edf2f7}body.store-enterprise .discount-rate-card strong{color:#087f79}body.store-enterprise .discount-category-card>div{background:#edf5f5;border:1px solid #dbe8eb;border-radius:14px}body.store-enterprise .discount-category-card>span{background:#087f79}body.store-enterprise .market-promo-card{background:#15374a;border:1px solid #dbe8eb;border-radius:14px;color:#fff}body.store-enterprise .market-promo-card:nth-child(even){background:#087f79}body.store-enterprise .market-promo-card h3{line-height:1.35;letter-spacing:-.3px}body.store-enterprise .market-promo-card b{width:fit-content;background:white;color:#15374a;border-radius:8px;padding:10px 13px;font-weight:650}body.store-enterprise .market-showcase-heading h2{letter-spacing:-.6px;font-weight:700}body.store-enterprise .ref-cat h3{font-family:inherit!important}
