:root{--spruce:#063f44;--leaf:#c3f07c;--shadow:0 16px 35px -22px #123b3bc4}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #dd9b23;outline-offset:4px}body{font-family:Arial,Helvetica,sans-serif}header{position:sticky;top:0;z-index:8;background:white;box-shadow:0 1px 12px #153d3810}.catalog{position:relative;z-index:5}.hero{position:relative;isolation:isolate;overflow:hidden}.hero:has(#ht){min-height:clamp(480px,40vw,640px);background-position:center;background-color:#103b42}.hero:has(#ht)::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#052c30ba,transparent 74%),linear-gradient(0deg,#072b33bb,transparent 48%)}.hero #ey{display:flex;align-items:center;gap:12px}.hero #ey:before{content:"";width:44px;height:3px;background:var(--leaf)}.hero h1#ht{font-size:clamp(3.25rem,5.8vw,6.3rem);margin-bottom:28px}.hero .hero-range{background:var(--leaf);color:#103934}.hero .white{background:#13373260;border:1px solid #ffffffb5;color:white}.btn,.quote-add,.cta{transition:transform .2s,box-shadow .2s}.btn:hover,.quote-add:hover,.cta:hover{transform:translateY(-3px);box-shadow:var(--shadow);text-decoration:none}.hero .dots{align-items:center;gap:6px}.hero .dot{width:40px;height:32px;background:none;border:0;border-radius:0;position:relative}.hero .dot:after{content:"";display:block;height:3px;background:#fff7}.hero .dot.on:after{background:var(--leaf)}.rotor{background:#0b3337bb;border:1px solid #ffffff80;color:white;border-radius:100%;width:36px;height:36px;font-size:13px}.upnext{position:absolute;right:5%;bottom:46px;display:flex;align-items:center;gap:16px;text-align:left;background:#052f34e8;border:1px solid #ffffff48;border-radius:8px;padding:8px 20px 8px 8px;color:white;box-shadow:var(--shadow)}.upnext img{width:94px;height:63px;object-fit:cover;border-radius:4px}.upnext small{display:block;color:var(--leaf);font-size:10px;letter-spacing:.15em;text-transform:uppercase}.upnext b{display:block;font-size:18px}.benefits{background:linear-gradient(100deg,#073639,#0a5551)}.benefits b:before{content:"✓";margin-right:9px;color:var(--leaf)}.cats a,.card,.products .product,.news a{transition:transform .25s,box-shadow .25s,border-color .25s}.cats a:hover,.card:hover,.products .product:hover,.news a:hover{transform:translateY(-5px);box-shadow:var(--shadow);text-decoration:none}.products .product img,.cats img,.card img{transition:scale .4s}.products .product:hover img,.cats a:hover img,.card:hover img{scale:1.035}.section .ey{display:flex;align-items:center;gap:10px}.section .ey:before{content:"";width:24px;height:3px;background:#44a575}.section h2,.inner-title{color:#143e40}.product .save[aria-pressed=true]{color:#008158}.news a{border-radius:8px;overflow:hidden}.news h3,.news small{margin-inline:12px}.story{background:linear-gradient(115deg,#0a3036,#075e55)}.story img{clip-path:polygon(7% 0,100% 0,100% 100%,0 100%)}.listlink{background:none;border:0;font:inherit;font-weight:bold;color:#076650}.quote-add,.quote-action{border:0;background:#00664f;color:white;padding:12px 18px;font:inherit;font-weight:bold;border-radius:6px;cursor:pointer}.quote-add{margin-bottom:12px}.filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#eff4ed;border-radius:8px;padding:14px;margin:0 0 22px}.filters input,.filters select,.quote-row input{font:inherit;padding:10px;border:1px solid #bbcfc5;border-radius:4px;background:white;max-width:100%}.filters input{flex:1 1 200px}.filters output{color:#28544e}.grid [hidden]{display:none}.quote-dialog{width:min(92vw,580px);max-height:80vh;padding:26px;border:0;border-radius:12px;color:#173c3d}.quote-dialog::backdrop{background:#09272cc9}.quote-dialog h2{font-size:32px;margin:6px 0 22px}.quote-dialog .dismiss{float:right;background:none;border:0;font-size:26px}.quote-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid #dbe5df;padding:12px 0}.quote-row a{flex:1;color:#075c50}.quote-row input{width:65px}.quote-row button{border:0;background:transparent;color:#065549;text-decoration:underline}.quote-action{display:inline-block;margin-top:18px;text-decoration:none}.hero:not(:has(#ht)){background:linear-gradient(100deg,#083338 35%,#136653)}.hero:not(:has(#ht)):after{content:"";position:absolute;right:0;top:0;height:100%;width:36%;background:repeating-linear-gradient(120deg,transparent 0 18px,#ffffff12 19px 20px);z-index:-1}.progress-line{position:fixed;inset:0 auto auto 0;width:100%;height:3px;transform-origin:left;background:#6cc565;z-index:15;pointer-events:none}
@media(prefers-reduced-motion:no-preference){.rise{animation:rise .55s cubic-bezier(.2,.8,.2,1) both}.hero .introduce{animation:rise .55s both}.hero .wash{animation:wash .9s both}@keyframes rise{from{opacity:.15;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes wash{from{opacity:.3}to{opacity:1}}}
@media(max-width:800px){.upnext{display:none}.story img{clip-path:none}.hero:has(#ht){min-height:410px}.hero h1#ht{font-size:clamp(3rem,9vw,4.3rem)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Keep the wordmarks still and large enough to read at a glance. */
header img.logo,header>div>a>img{width:clamp(220px,20vw,285px);max-height:78px;display:block;object-fit:contain}.head{height:92px}.brands{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;background:white;border:1px solid #d8e2dc;border-radius:12px;overflow:hidden}.brand-cell{min-height:116px;padding:15px;display:grid;place-items:center;border:1px solid #eef1ec}.brands img{width:auto;height:auto;max-width:min(100%,220px);max-height:80px;object-fit:contain}.brandtitle{margin-bottom:24px}.brand-cell:hover{background:#f8faf7}
@media(max-width:1000px){.brands{grid-template-columns:repeat(3,minmax(0,1fr))}.head nav{gap:12px}}
@media(max-width:650px){header img.logo,header>div>a>img{width:clamp(155px,46vw,230px);max-height:62px}.head{height:70px;gap:5px}.head .btn{white-space:nowrap;padding:9px}.brands{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-cell{min-height:88px;padding:12px}.brands img{max-height:60px}}
#search select{min-width:0;width:clamp(125px,13vw,185px);flex-shrink:0;background:white;color:#173c3d;border:1px solid #ccd8ce;border-left:0;padding:6px 8px;font:inherit}#search input{flex:1;min-width:0}@media(max-width:420px){#search select{width:115px;font-size:13px}#search button{padding-inline:12px}}
