:root{font-family:Arial,Helvetica,sans-serif;color:#171717;background:#fff;font-synthesis:none;font-weight:400;--muted:#777;--line:#e9e9e9}*{box-sizing:border-box}body{margin:0}body.viewing{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,#stage:focus-visible{outline:2px solid #171717;outline-offset:5px}[hidden]{display:none!important}.skip-link{position:fixed;top:-60px;left:20px;padding:12px;background:#171717;color:#fff;z-index:30}.skip-link:focus{top:10px}.archive-header{height:100px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 40px;gap:20px}.wordmark{font-size:23px;letter-spacing:-1.3px;white-space:nowrap;width:max-content}.wordmark span{font-size:10px;vertical-align:top;letter-spacing:0;margin-left:2px}.archive-header h1{font-size:12px;font-weight:400;letter-spacing:1.1px;text-transform:uppercase;text-align:center;margin:0}.header-index{text-align:right;font-size:10px;letter-spacing:.7px;color:var(--muted)}main{min-height:calc(100svh - 204px)}.archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:5px 40px 0;padding:17px 0 20px;border-bottom:1px solid var(--line)}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:28px}.filters button{padding:6px 0;font-size:12px;color:#818181;line-height:1;position:relative;white-space:nowrap;min-height:32px}.filters button[aria-pressed=true]{color:#111}.filters button[aria-pressed=true]:after{content:'';position:absolute;height:1px;left:0;right:0;bottom:0;background:currentColor}.filters button:hover{color:#111}.filters sup{font-size:9px;vertical-align:super;margin-left:4px;color:inherit}#results-count{font-size:10px;color:var(--muted);white-space:nowrap;margin:0}.product-grid{list-style:none;margin:0;padding:28px 32px 70px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:12px;row-gap:36px}.product-card{min-width:0}.product-link{display:block;text-align:center}.product-image{position:relative;aspect-ratio:1 / 1.10;overflow:hidden}.product-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .35s ease}.product-link:hover img{transform:scale(1.035)}.view-object{position:absolute;bottom:12px;left:0;right:0;font-size:9px;letter-spacing:.9px;opacity:0;transform:translateY(3px);transition:opacity .2s,transform .2s}.product-link:hover .view-object,.product-link:focus-visible .view-object{opacity:1;transform:none}.product-info{padding:9px 4px 13px}.product-info h3{font-size:12px;font-weight:400;letter-spacing:.15px;margin:0 0 5px}.product-info p{font-size:10px;line-height:1.4;color:var(--muted);margin:0}.archive-footer{margin:0 40px;padding:26px 0 32px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-caption{font-size:9px;letter-spacing:1px}.home-return{color:#171717;display:flex;gap:28px;align-items:center;padding:12px 0;min-height:40px}.home-return:hover{text-decoration:underline;text-underline-offset:4px}.home-return span{font-size:17px}.noscript{margin:20px 40px;font-size:13px;line-height:1.5}
/* One live 3D scene is opened on demand; the catalog stays light. */
dialog{border:0;background:#fff;color:#171717;margin:0;padding:0;width:100vw;max-width:none;height:100svh;max-height:none;overflow:auto}dialog::backdrop{background:#fff}.viewer-header{height:80px;padding:0 36px;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;letter-spacing:.8px;position:relative;z-index:2}.viewer-header>span{color:var(--muted)}#close-viewer{padding:10px 0 10px 20px;font-size:12px;display:flex;gap:30px;align-items:center;min-height:44px}#close-viewer span{font-size:27px;font-weight:300;line-height:1}.viewer-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);min-height:calc(100svh - 80px)}.viewer-visual{position:relative;min-height:560px;height:calc(100svh - 80px)}#stage{position:absolute;inset:0 0 94px;cursor:grab;touch-action:none;opacity:0;outline-offset:-8px}#stage.ready{opacity:1;transition:opacity .45s ease}#viewer-poster{transition:opacity .4s ease}#viewer-poster.fading{opacity:0}#stage.dragging{cursor:grabbing}#stage canvas{display:block;width:100%;height:100%}#viewer-poster{position:absolute;inset:0 0 94px;width:100%;height:calc(100% - 94px);object-fit:contain}#viewer-status{position:absolute;bottom:126px;left:10%;right:10%;text-align:center;font-size:12px;color:var(--muted);line-height:1.5;pointer-events:none}.viewer-controls{position:absolute;bottom:53px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;white-space:nowrap}.viewer-controls button{padding:10px 3px;min-height:40px;font-size:11px}.viewer-controls #zoom-in,.viewer-controls #zoom-out{font-size:22px;width:30px}.viewer-controls #auto[aria-pressed=true]{text-decoration:underline;text-underline-offset:4px}.viewer-hint{position:absolute;bottom:23px;left:15px;right:15px;text-align:center;color:var(--muted);font-size:8px;letter-spacing:.7px;margin:0}.viewer-info{padding:clamp(50px,12vh,170px) 60px 36px 28px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{margin:0 0 24px;text-transform:uppercase;letter-spacing:1px;font-size:10px;color:var(--muted)}.viewer-info h2{font-size:clamp(30px,3vw,48px);font-weight:400;letter-spacing:-1.8px;line-height:1.04;margin:0 0 13px}#product-description{font-size:15px;margin:0;line-height:1.5}.product-specs{margin-top:42px;color:var(--muted);font-size:10px;line-height:1.7;letter-spacing:.3px}.product-specs p{margin:0 0 8px}.detail-360{font-size:65px;font-weight:400;letter-spacing:-4px;line-height:1;margin:45px 0 35px}.viewer-pagination{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;margin-top:auto;border-top:1px solid var(--line);padding-top:16px}.viewer-pagination button{padding:14px 0;font-size:11px;white-space:nowrap}#filtered-position{font-size:10px;color:var(--muted);white-space:nowrap}
@media(min-width:1700px){.product-grid{grid-template-columns:repeat(5,minmax(0,1fr));padding-left:50px;padding-right:50px}.archive-header{padding-left:60px;padding-right:60px}.archive-toolbar,.archive-footer{margin-left:60px;margin-right:60px}}
@media(max-width:1000px){.archive-header{padding:0 26px;height:88px}.archive-toolbar{margin-left:26px;margin-right:26px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:24px 20px 55px;gap:28px 8px}.archive-footer{margin-left:26px;margin-right:26px}.viewer-info{padding:65px 28px 25px 15px}.viewer-layout{grid-template-columns:minmax(0,1.25fr) minmax(260px,1fr)}.viewer-header{padding:0 26px}.viewer-controls{gap:9px}}
@media(max-width:640px){.archive-header{height:85px;padding:0 20px;grid-template-columns:1fr auto;gap:10px}.wordmark{font-size:21px}.archive-header h1{font-size:9px;letter-spacing:.6px;text-align:right}.header-index{display:none}.archive-toolbar{margin:0 20px;padding:7px 0 17px;display:block}.filters{gap:10px;justify-content:space-between}.filters button{font-size:11px;min-height:38px}.filters sup{font-size:8px;margin-left:3px}#results-count{font-size:9px;text-align:right;margin-top:13px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 10px 42px;gap:26px 2px}.product-image{aspect-ratio:1/1.17}.product-info{padding:6px 5px 12px}.product-info h3{font-size:11px}.product-info p{font-size:9px;max-width:170px;margin:auto}.view-object{display:none}.archive-footer{margin:0 20px;padding:17px 0 22px;font-size:9px}.footer-caption{display:none}.home-return{gap:20px}.viewer-header{height:64px;padding:0 20px;font-size:8px;letter-spacing:.5px}.viewer-header>span{max-width:150px}#close-viewer{font-size:10px;gap:16px;padding-left:0}.viewer-layout{display:flex;flex-direction:column;min-height:calc(100svh - 64px)}.viewer-visual{height:54svh;min-height:350px;max-height:560px}.viewer-info{padding:17px 24px 23px;flex:1;display:block}.eyebrow{margin-bottom:12px;font-size:9px}.viewer-info h2{font-size:31px;letter-spacing:-1px;margin-bottom:8px}#product-description{font-size:12px}.product-specs{margin-top:20px;font-size:9px;line-height:1.5;padding-right:62px}.product-specs p{margin-bottom:5px}.detail-360{font-size:38px;letter-spacing:-2px;float:right;margin:-47px 0 0}.viewer-pagination{margin-top:23px;padding-top:5px;gap:10px}.viewer-pagination button{font-size:11px;min-height:42px}.viewer-controls{bottom:39px;gap:16px}.viewer-hint{font-size:7px;bottom:14px;letter-spacing:.4px}#stage{inset:0 0 79px}#viewer-poster{height:calc(100% - 79px);bottom:79px}#viewer-status{bottom:100px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
.project-heading{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:25px 8px 0;border-top:1px solid var(--line);margin-top:18px;scroll-margin-top:30px}.project-heading:first-child,.project-heading.first-project{border:0;margin-top:0;padding-top:8px}.project-heading h2{font-size:17px;font-weight:400;letter-spacing:-.3px;margin:0}.project-count{font-size:10px;color:var(--muted);white-space:nowrap}
@media(max-width:640px){.project-heading{padding:19px 10px 0;margin-top:12px}.project-heading h2{font-size:15px}.project-count{font-size:9px}.filters{justify-content:flex-start;gap:6px 20px;row-gap:0}.filters button{min-height:36px}}

/* A single grid continues to preserve complete project families. */
.filters{flex-wrap:wrap;row-gap:8px}.archive-toolbar{align-items:flex-start}.viewer-controls{flex-wrap:wrap;justify-content:center;row-gap:10px}#open-package{border:1px solid #d5d5d2;padding:7px 10px;border-radius:2px}#open-package[aria-pressed="true"]{background:#171717;color:white}.viewer-controls [hidden]{display:none!important}
@media(max-width:700px){.archive-toolbar{gap:20px}.filters{column-gap:19px}.viewer-controls{column-gap:17px;padding-inline:15px}#open-package{order:4}}
@media(max-width:640px){.viewer-controls{width:calc(100% - 40px);max-width:360px;display:grid;grid-template-columns:auto auto 30px 30px;gap:6px 16px;bottom:35px;padding:0}.viewer-controls #open-package{grid-column:1/-1;justify-self:center;order:5;min-width:114px}#stage{bottom:116px}#viewer-poster{height:calc(100% - 116px);bottom:116px}}
