.catalog-top{padding-top:clamp(28px,4vw,46px);padding-bottom:30px}.catalog-top h1{margin-top:var(--rhythm-eyebrow)}.catalog-intro{margin:var(--rhythm-lede) 0 0;max-width:60ch}@media (width<=780px){.catalog-top{padding-bottom:var(--sp-4)}}.page-hero .catalog-top{padding-top:0;padding-bottom:0}.page-hero .catalog-intro{color:#b9c6c3;font-weight:300}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{border:1px solid var(--line);border-radius:var(--r-pill);color:var(--text-soft);min-height:var(--tap);transition:var(--dur-1);white-space:nowrap;background:#fff;align-items:center;padding:10px 18px;font-family:inherit;font-size:.88rem;display:inline-flex}.chip:hover{border-color:var(--ink)}.chip.on,.chip:has(input:checked),.filter-group__options:not(:has(input:checked)) .chip--any{background:var(--ink);border-color:var(--ink);color:#fff}.chip{cursor:pointer;position:relative}.chip>input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.chip:has(input:focus-visible){outline:2.5px solid var(--teal);outline-offset:2px}.filter-panel{border-radius:var(--r-sheet) var(--r-sheet) 0 0;max-height:82vh;padding:24px var(--gut) calc(24px + env(safe-area-inset-bottom));pointer-events:none;transition:var(--dur-4) var(--ease);visibility:hidden;z-index:var(--z-sheet);background:#fff;display:none;position:fixed;inset:auto 0 0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -20px 50px #141e2440}.filter-panel-scrim{opacity:0;pointer-events:none;z-index:var(--z-scrim);background:#0e161473;transition:all .3s;display:none;position:fixed;inset:0}@media (width<=780px){.filter-panel,.filter-panel-scrim{display:block}.filter-panel.open{pointer-events:auto;visibility:visible;transform:none}.filter-panel-scrim.open{opacity:1;pointer-events:auto}}.filter-sheet__head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.filter-sheet__head .x{min-height:var(--tap);min-width:var(--tap);background:0 0;border:0;font-size:1.6rem}.filter-zone{padding-top:clamp(22px,3vw,34px)}.filter-toolbar{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);grid-template-columns:minmax(0, 1fr) var(--fl-meta);min-width:0;display:grid;overflow:hidden}.filter-toolbar__groups{gap:var(--sp-4);min-width:0;padding:var(--sp-5) var(--sp-6);flex-direction:column;display:flex}.filter-group{align-items:start;gap:var(--sp-4);grid-template-columns:var(--fl-label) minmax(0, 1fr);min-width:0;display:grid}.filter-group__label{color:var(--text-mut);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;padding-top:15px;font-size:.68rem;line-height:1.2}.filter-group__options{gap:var(--sp-2);flex-wrap:wrap;min-width:0;display:flex}.filter-group__options .chip{height:var(--tap);min-height:var(--tap);padding-block:0}.filter-toolbar__meta{background:var(--bone);border-left:1px solid var(--line);gap:var(--sp-5);min-width:0;padding:var(--sp-5) var(--sp-6);flex-direction:column;justify-content:center;display:flex}.result-count{align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;min-width:0;display:flex}.result-count__n{color:var(--ink);letter-spacing:-.02em;font-size:1.75rem;font-weight:400;line-height:1}.result-count__l{color:var(--text-mut);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem}.result-count__reset{color:var(--teal-d);font-family:var(--sans);min-height:var(--tap);text-underline-offset:3px;background:0 0;border:0;flex:none;align-items:center;padding:0;font-size:.82rem;text-decoration:underline;display:inline-flex}.result-count__reset:hover{color:var(--ink)}.sort-control{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.sort-control__label{color:var(--text-mut);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}.sort{border:1px solid var(--line);border-radius:var(--r-md);color:var(--text);min-height:var(--tap);background:#fff;width:100%;padding:10px 12px;font-family:inherit;font-size:.9rem}.filter-note{margin:var(--sp-4) 0 0}@media (width<=1240px){.filter-toolbar{--fl-label:88px;--fl-meta:238px}.filter-group__options .chip{padding-inline:14px;font-size:.84rem}}@media (width<=1024px){.filter-toolbar{grid-template-columns:minmax(0,1fr)}.filter-toolbar__meta{border-left:0;border-top:1px solid var(--line);align-items:center;gap:var(--sp-6);flex-direction:row;justify-content:space-between}.sort-control{align-items:center;gap:var(--sp-3);flex-direction:row;min-width:0}.sort-control .sort{width:auto;min-width:180px}}@media (width<=780px){.filter-toolbar{display:none}.filter-zone{padding-top:0}}.filter-mobilebar{display:none}@media (width<=780px){.filter-mobilebar{backdrop-filter:blur(12px);border-bottom:1px solid var(--line);border-top:1px solid var(--line);align-items:center;gap:var(--sp-3);margin-inline:calc(-1 * var(--gut));padding:10px var(--gut);z-index:var(--z-sticky);background:#fffffff0;justify-content:space-between;display:flex;position:sticky;top:0}}.filter-toggle{border:1px solid var(--line);border-radius:var(--r-pill);color:var(--text);align-items:center;gap:var(--sp-2);min-height:var(--tap);background:#fff;padding:10px 18px;font-size:.88rem;display:inline-flex}.filter-toggle__badge{background:var(--ink);border-radius:var(--r-pill);color:#fff;font-family:var(--mono);justify-content:center;align-items:center;min-width:20px;height:20px;padding-inline:6px;font-size:.66rem;display:inline-flex}.result-count--inline .result-count__n{font-size:1.05rem}[data-filter-sheet] .filter-toolbar__groups{gap:var(--sp-5);padding:0}[data-filter-sheet] .filter-group{gap:var(--sp-3);grid-template-columns:minmax(0,1fr)}[data-filter-sheet] .filter-group__label{padding-top:0}[data-filter-sheet] .filter-toolbar__meta{border-left:0;border-top:1px solid var(--line);margin-top:var(--sp-5);padding:var(--sp-4) 0 0;align-items:stretch;gap:var(--sp-4);background:0 0;flex-direction:column}[data-filter-sheet] .sort-control{margin:var(--sp-5) 0 0;flex-direction:column;align-items:stretch}[data-filter-sheet] .sort-control .sort{width:100%;min-width:0}.filter-range{align-items:end;gap:var(--sp-2);min-width:0;max-width:320px;display:flex}.filter-range .field{min-width:0;margin-bottom:0}.pager{align-items:center;gap:var(--sp-4);flex-wrap:wrap;justify-content:space-between;margin-top:clamp(32px,5vw,56px);display:flex}.pager__step{flex:none}.pager__pos{color:var(--text-mut);font-family:var(--mono);letter-spacing:.12em;text-align:center;text-transform:uppercase;font-size:.7rem}@media (width<=600px){.pager{gap:var(--sp-3)}.pager__pos{order:3;width:100%}.pager .btn{flex:1 1 0}}
