.product-categories{background:var(--paper,#f4f0e8);color:var(--ink,#172019);padding:90px 7vw}.product-categories>h2{font-size:clamp(30px,4vw,62px);max-width:850px;line-height:1.12;letter-spacing:-.045em;margin:20px 0 42px}.category-grid,.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.category-card{display:flex;align-items:flex-end;position:relative;min-height:390px;overflow:hidden;background:#172019;color:#f4f0e8;text-decoration:none}.category-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s}.category-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,18,12,.98),rgba(10,18,12,.12))}.category-card-copy{position:relative;z-index:1;padding:32px;width:100%}.category-card h3{font-size:clamp(26px,3vw,42px);line-height:1.12;letter-spacing:-.035em;margin:16px 0 24px;max-width:90%}.category-card-copy>span:last-of-type{font-size:14px;border-bottom:1px solid #c8f34a;padding-bottom:5px}.category-card-copy>b{float:right;color:#c8f34a;font-size:28px}.category-card-copy p{max-width:300px;line-height:1.6;color:#d2d6cd;margin:0 0 24px}.category-coming{background:#253329}.category-lines{position:absolute;inset:0;opacity:.15;background:repeating-linear-gradient(110deg,transparent 0 60px,#c8f34a 61px 62px,transparent 63px 120px)}.category-card:hover>img{transform:scale(1.035)}.category-card:focus-visible{outline:4px solid #638416;outline-offset:5px}.category-page .detail-hero h1{font-size:clamp(40px,7vw,100px);overflow-wrap:break-word}.product-list{padding:60px 7vw 90px;background:#f4f0e8;color:#172019}.product{border:1px solid #d7dbd0;display:flex;flex-direction:column;min-width:0}.product-media{background:#e5e6dc;aspect-ratio:4/3;overflow:hidden}.product-media img,.product-media video{display:block;width:100%;height:100%;object-fit:contain}.product-copy{padding:28px;display:flex;align-items:flex-start;flex-direction:column;flex:1}.product-copy h2{font-size:clamp(24px,3vw,36px);line-height:1.2;margin:0 0 16px}.product-copy p{line-height:1.7;margin:0 0 24px}.product-copy .button{margin-top:auto;background:#172019;color:#f4f0e8;white-space:normal}.order-note{margin-top:40px;border-top:1px solid #c6ccbd;padding-top:30px;max-width:850px;line-height:1.8}.downpipe-empty{background:#f4f0e8;color:#172019;padding:80px 7vw 100px}.downpipe-empty h2{font-size:clamp(30px,4vw,56px);max-width:850px;line-height:1.15}.downpipe-empty p{max-width:650px;line-height:1.8;margin:24px 0}.downpipe-empty .button{background:#172019;color:#f4f0e8}.category-page .detail-nav{flex-wrap:wrap;gap:20px}
@media(max-width:650px){.category-grid,.product-grid{grid-template-columns:1fr}.product-categories{padding:54px 6vw}.category-card{min-height:340px}.category-card-copy,.product-copy{padding:24px}.product-list{padding:32px 6vw 60px}.category-page .detail-hero{padding-left:6vw;padding-right:6vw}.category-page .detail-nav{padding:20px 6vw}.category-page .detail-nav>a:not(.brand){font-size:12px}.downpipe-empty{padding:50px 6vw 70px}}
.downpipe-list .product-media{aspect-ratio:auto;background:#172019}.downpipe-list .product-media img{height:auto;width:100%;object-fit:contain}.downpipe-list .product{align-self:start}.category-downpipes>img{object-position:center 65%}
.downpipe-demo{padding:60px 7vw;background:#172019;color:#f4f0e8}.downpipe-demo-copy{max-width:850px}.downpipe-demo h2{font-size:clamp(30px,4vw,56px);line-height:1.15;margin:18px 0}.downpipe-demo-copy>p:last-child{line-height:1.7;color:#d2d6cd;max-width:680px}.downpipe-demo figure{margin:30px 0 18px}.downpipe-demo video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#101810;border:1px solid #3e4b40}.downpipe-demo figcaption{font-size:13px;line-height:1.7;color:#c5cdbf;max-width:900px;margin-top:18px}.demo-download{color:#c8f34a;text-underline-offset:5px}.demo-download:focus-visible,.downpipe-demo video:focus-visible{outline:2px solid #c8f34a;outline-offset:5px}@media(max-width:650px){.downpipe-demo{padding:40px 6vw}}
/* Fixed square viewports: intrinsic portrait dimensions must not set card height. */
.contact-message-form[hidden]{display:none}.contact-result:not(:empty){padding:20px 0;color:#c8f34a;line-height:1.6}.contact-result h3{font-size:28px;margin:0 0 8px}.contact-result p{margin:0}.contact-panel button:disabled{opacity:.6;cursor:wait}
.contact-message-form{display:grid;gap:10px;margin:24px 0;border-bottom:1px solid #65735a;padding-bottom:24px}.contact-message-form input,.contact-message-form textarea{box-sizing:border-box;width:100%;font:inherit;font-size:16px;padding:12px;background:#f4f0e8;color:#172019;border:1px solid #65735a;border-radius:0}.contact-message-form textarea{resize:vertical;min-height:100px}.contact-message-form .contact-honeypot{display:none}.contact-privacy{font-size:12px;line-height:1.5;color:#d2d6cd;margin:6px 0}.contact-message-form button[type="submit"]{background:#c8f34a;color:#172019}
.contact-panel{box-sizing:border-box;width:min(520px,90vw);max-height:85vh;overflow:auto;padding:32px;border:1px solid #65735a;background:#172019;color:#f4f0e8;box-shadow:0 20px 80px #0008}.contact-panel::backdrop{background:#000a}.contact-panel h2{font-size:28px;line-height:1.2;margin:32px 0 16px}.contact-close{display:block;margin-left:auto}.contact-product{overflow-wrap:anywhere}.contact-address{font-size:clamp(18px,4vw,24px);user-select:text}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.contact-panel button,.contact-gmail{font:inherit;cursor:pointer;padding:12px 16px;border:1px solid #c8f34a;background:transparent;color:#f4f0e8;text-decoration:none}.contact-panel .contact-copy{background:#c8f34a;color:#172019}.contact-panel :focus-visible{outline:3px solid #c8f34a;outline-offset:4px}.contact-status{font-size:14px;min-height:1.5em;line-height:1.5}
.downpipe-list .product-media{position:relative;width:75%;aspect-ratio:1/1;margin-inline:auto;flex:none}
.downpipe-list .product-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.downpipe-demo figure{width:50%;max-width:860px}
@media(prefers-reduced-motion:reduce){.category-card>img{transition:none}}
