/* Spacious product catalog */
.products{padding:110px 6vw 130px;background:#f2f0e9}.product-heading{display:grid;grid-template-columns:1.45fr .55fr;gap:8vw;align-items:end;padding-bottom:62px;border-bottom:1px solid var(--line)}.product-heading h2{margin-top:16px;font-size:clamp(44px,5.2vw,76px);line-height:1.02;letter-spacing:-.05em;font-weight:500}.product-heading>p{margin:0;color:var(--muted);line-height:1.85;max-width:430px}.product-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:5vw;padding-top:46px;align-items:start}.product-categories{position:sticky;top:28px}.product-categories>p{margin:0 0 18px;font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.16em;color:var(--copper)}
.products .filter-row{display:block;margin:0;border-top:1px solid var(--line);border-bottom:0}.products .filter-row button{width:100%;margin:0;padding:18px 2px;display:flex;align-items:center;justify-content:space-between;text-align:left;border-bottom:1px solid var(--line);color:#777a73;transition:color .2s,padding-left .2s}.products .filter-row button::after{display:none}.products .filter-row button:hover{color:var(--ink);padding-left:7px}.products .filter-row button.active{color:var(--ink);font-weight:600;padding-left:12px}.products .filter-row button.active::before{content:'—';color:var(--copper);margin-right:8px}.products .filter-row button.active span{margin-right:auto}.products .filter-row sup{color:#a1a39d}.category-note{margin-top:34px;padding:24px;background:#173e3a;color:#fff}.category-note span{font:600 13px 'Space Grotesk',sans-serif}.category-note p{color:#9fb0ad;font-size:12px;line-height:1.7;margin:12px 0 22px}.category-note a{color:#e79758;font-size:11px;border-bottom:1px solid #e79758;padding-bottom:3px}
.products .product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;background:transparent}.products .product-card,.products .product-card.feature{grid-column:span 1;min-height:650px;padding:0;background:#e9e6de;border:1px solid rgba(21,23,20,.08);transition:transform .3s ease,box-shadow .3s ease}.products .product-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(20,24,20,.1)}.products .product-card.dark{background:#e9e6de;color:var(--ink)}.products .product-card .tag{z-index:3;top:18px;left:18px}.products .product-card .card-index{z-index:3;top:20px;right:20px;color:#2f332f}.product-image{display:block;width:100%;height:410px;object-fit:contain;margin:0;padding:26px;background:#fff;mix-blend-mode:normal;border-bottom:1px solid rgba(21,23,20,.08);transition:transform .45s ease}.product-card:hover .product-image{transform:scale(1.018)}
.products .card-copy{margin:0;padding:28px 30px 32px;display:grid;grid-template-columns:1fr auto;column-gap:20px}.products .card-copy small{grid-column:1/-1}.products .card-copy h3{font-size:34px;margin:7px 0 12px}.products .card-copy p{grid-column:1/-1;margin:0 0 22px;min-height:42px;color:var(--muted)}.products .card-copy a{grid-column:1/-1;width:max-content}
@media(max-width:1100px){.product-layout{grid-template-columns:210px minmax(0,1fr);gap:30px}.products .product-grid{gap:22px}.products .product-card,.products .product-card.feature{min-height:590px}.product-image{height:350px}}
@media(max-width:820px){.product-heading{grid-template-columns:1fr;gap:25px}.product-layout{grid-template-columns:1fr}.product-categories{position:static}.category-note{display:none}.products .filter-row{display:flex;overflow-x:auto;border-top:0}.products .filter-row button{width:auto;min-width:max-content;margin-right:24px;padding:15px 0;gap:10px}.products .filter-row button.active{padding-left:0}.products .filter-row button.active::before{display:none}}
@media(max-width:620px){.products{padding:75px 6vw 90px}.product-heading{padding-bottom:38px}.product-heading h2{font-size:43px}.products .product-grid{grid-template-columns:1fr}.products .product-card,.products .product-card.feature{min-height:570px}.product-image{height:350px;padding:20px}.products .card-copy{padding:24px}}

body.modal-open{overflow:hidden}.product-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:28px;visibility:hidden;opacity:0;transition:opacity .25s ease,visibility .25s ease}.product-modal.open{visibility:visible;opacity:1}.modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(8,11,9,.78);backdrop-filter:blur(7px);cursor:zoom-out}.modal-panel{position:relative;z-index:1;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);width:min(1120px,94vw);max-height:90vh;background:#f2f0e9;box-shadow:0 35px 100px #0008;overflow:auto;transform:translateY(18px) scale(.985);transition:transform .3s ease}.product-modal.open .modal-panel{transform:none}.modal-close{position:absolute;z-index:3;right:18px;top:16px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#f2f0e9;font-size:25px;line-height:1;cursor:pointer}.modal-visual{display:grid;place-items:center;min-height:620px;background:#fff;border-right:1px solid var(--line)}.modal-visual img{width:100%;height:100%;max-height:680px;object-fit:contain;padding:38px}.modal-content{padding:70px 60px 50px;align-self:center}.modal-category{color:var(--copper);font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.16em;text-transform:uppercase}.modal-content h2{font-size:clamp(50px,6vw,82px);line-height:1;margin:12px 0 28px;letter-spacing:-.05em}.modal-description{color:var(--muted);font-size:15px;line-height:1.85;margin:0 0 35px}.modal-specs{margin:0;border-top:1px solid var(--line)}.modal-specs div{display:grid;grid-template-columns:125px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.modal-specs dt{font:600 9px 'Space Grotesk',sans-serif;letter-spacing:.13em;color:#999}.modal-specs dd{margin:0;font-size:13px;line-height:1.5}.modal-actions{display:flex;align-items:center;gap:24px;margin-top:34px}.modal-continue{border:0;background:none;border-bottom:1px solid var(--ink);padding:8px 0;cursor:pointer;font-size:12px}
@media(max-width:850px){.product-modal{padding:12px}.modal-panel{grid-template-columns:1fr;max-height:94vh}.modal-visual{min-height:330px;height:42vh;border-right:0;border-bottom:1px solid var(--line)}.modal-visual img{padding:24px}.modal-content{padding:38px 28px}.modal-content h2{font-size:52px}.modal-close{right:12px;top:12px}.modal-actions{flex-wrap:wrap}}
