.intro{padding-block:var(--space-section-lg) var(--space-lg)}.kicker{align-items:center;gap:var(--space-sm);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps-sm);text-transform:uppercase;color:var(--accent);margin:0 0 var(--space-sm);display:inline-flex}.kicker:before{content:"";background:var(--accent);width:22px;height:1.5px;transform:translateY(var(--optical-marker));flex-shrink:0}h1{font-family:var(--font-serif);font-size:var(--text-display);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-heading);margin:0}.lede{margin:var(--space-md) 0 0;color:var(--fg-muted);font-size:var(--text-md);line-height:var(--leading-body);max-width:var(--measure-text)}.lede-extra{margin-top:var(--space-md);font-size:var(--text-base);color:var(--fg-subtle)}.lede strong{color:var(--fg-strong);font-weight:var(--weight-semibold)}.catalogue-toolbar{padding:var(--space-lg);margin-bottom:var(--space-2xl);background:var(--bg-subtle);border:var(--border-w) solid var(--border);border-radius:var(--radius-lg)}main>section.list{content-visibility:visible;contain-intrinsic-size:none}.search-row{margin-top:var(--space-md);align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.search-wrap{flex:24rem;min-width:0;position:relative}@media (width<=520px){.search-wrap{flex-basis:100%}.sort-control{flex:auto;min-width:0}#reviews-sort{flex:1;min-width:0}.reset-btn{flex-shrink:0}}.search-icon{color:var(--fg-subtle);pointer-events:none;transition:color var(--dur-fast) var(--ease-standard);position:absolute;top:50%;left:.95rem;transform:translateY(-50%)}.search-wrap:focus-within .search-icon{color:var(--accent)}.search-row input{width:100%;padding:var(--space-md) var(--space-lg) var(--space-md) var(--space-4xl);border:var(--border-w) solid var(--border-input);border-radius:var(--radius-md);background:var(--bg-elevated);min-height:44px;color:var(--fg);font-size:var(--text-base);box-shadow:var(--shadow-card);transition:border-color var(--dur-fast), box-shadow var(--dur-fast)}.search-row input:hover{border-color:color-mix(in oklch, var(--accent) 45%, var(--border-strong))}.search-row input:focus{border-color:var(--accent);box-shadow:var(--shadow-card), 0 0 0 3px var(--ring);outline:none}.search-meta{color:var(--fg-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex-basis:100%;margin:0}.search-meta:empty{display:none}.sort-control{align-items:center;gap:var(--space-sm);display:inline-flex}.sort-label{font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps-sm);text-transform:uppercase;color:var(--fg-subtle)}#reviews-sort{padding:var(--space-sm) var(--space-3xl) var(--space-sm) var(--space-md);font-size:var(--text-sm);border:var(--border-w) solid var(--border-input);border-radius:var(--radius-md);background-color:var(--bg-elevated);color:var(--fg);cursor:pointer;min-height:44px;box-shadow:var(--shadow-card);appearance:none;transition:border-color var(--dur-fast), box-shadow var(--dur-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239f5405' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;background-size:.9rem}[data-theme=dark] #reviews-sort,.dark #reviews-sort{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23f18916' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) #reviews-sort{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23f18916' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}}#reviews-sort:hover{border-color:color-mix(in oklch, var(--accent) 45%, var(--border-strong))}#reviews-sort:focus{border-color:var(--accent);box-shadow:var(--shadow-card), 0 0 0 3px var(--ring);outline:none}.reset-btn{align-items:center;gap:var(--space-xs);min-height:44px;padding:var(--space-sm) var(--space-lg);font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:var(--radius-pill);border:var(--border-w) dashed var(--border-strong);color:var(--fg-muted);cursor:pointer;transition:color var(--dur-fast), border-color var(--dur-fast);background:0 0;display:inline-flex}.reset-btn:hover{color:var(--accent);border-color:var(--accent);border-style:solid}.reset-btn:before{content:"";border-radius:var(--radius-pill);background:var(--fg-subtle);width:8px;height:8px}.filter-state{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-pill);background:color-mix(in oklch, var(--accent) 8%, transparent);border:var(--border-w) solid color-mix(in oklch, var(--accent) 28%, transparent);font-size:var(--text-sm);color:var(--fg);flex-wrap:wrap;flex-basis:100%;width:max-content;max-width:100%;margin:0;display:inline-flex}.filter-state-prefix{text-transform:uppercase;letter-spacing:var(--tracking-caps-sm);font-size:var(--text-3xs);font-weight:var(--weight-bold);color:var(--fg-muted)}.filter-state-label{font-weight:var(--weight-bold);color:var(--accent);font-family:var(--font-serif);font-size:var(--text-md);letter-spacing:var(--tracking-snug)}.filter-state-clear{border:var(--border-w) solid color-mix(in oklch, var(--accent) 35%, transparent);border-radius:var(--radius-pill);background:var(--bg-elevated);width:26px;height:26px;color:var(--accent);cursor:pointer;font-size:var(--text-md);line-height:var(--leading-none);transition:background var(--dur-fast), color var(--dur-fast), transform var(--dur-fast);justify-content:center;align-items:center;margin-inline-start:var(--space-3xs);padding:0;display:inline-flex}.filter-state-clear:hover{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.filter-state-clear:active{transform:scale(.92)}.filter-state-clear:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.sig-filter{margin-top:var(--space-md);padding-top:var(--space-md);border-top:var(--border-w) dashed var(--border)}.sig-summary{align-items:center;gap:var(--space-sm);min-height:44px;padding:var(--space-2xs) var(--space-xs);margin:calc(var(--space-2xs) * -1) calc(var(--space-xs) * -1);cursor:pointer;width:max-content;max-width:100%;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--fg-strong);border-radius:var(--radius-md);transition:color var(--dur-fast) var(--ease-standard);list-style:none;display:inline-flex}.sig-summary::-webkit-details-marker{display:none}.sig-summary::marker{content:""}.sig-summary:hover{color:var(--accent)}.sig-summary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.sig-summary-ico{color:var(--accent);flex-shrink:0}.sig-summary-text{white-space:nowrap}.sig-count{border-radius:var(--radius-pill);background:var(--accent);min-width:1.4em;height:1.4em;color:var(--accent-fg);font-size:var(--text-3xs);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 .4em;line-height:1;display:inline-flex}.sig-count[hidden]{display:none}.sig-summary-chevron{color:var(--fg-subtle);transition:transform var(--dur-fast) var(--ease-standard);flex-shrink:0}.sig-filter[open] .sig-summary-chevron{transform:rotate(180deg)}.sig-body{padding-top:var(--space-md)}.sig-help{margin:0 0 var(--space-md);font-size:var(--text-sm);color:var(--fg-muted);line-height:var(--leading-body);max-width:var(--measure-text)}.sig-help a{color:var(--accent);font-weight:var(--weight-semibold)}.sig-help a:hover{text-underline-offset:3px;text-decoration:underline}.sig-help a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-xs)}.sig-axes{gap:var(--space-sm) var(--space-lg);flex-wrap:wrap;display:flex}.sig-axis{align-items:center;gap:var(--space-2xs);display:inline-flex}.sig-axis-sep{color:var(--fg-subtle);font-size:var(--text-sm);padding:0 var(--space-3xs)}.sig-chip{min-height:44px;padding:var(--space-2xs) var(--space-md);border:var(--border-w) solid var(--border-input);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--fg-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:color var(--dur-fast), border-color var(--dur-fast), background var(--dur-fast);align-items:center;display:inline-flex}.sig-chip:hover{color:var(--accent);border-color:color-mix(in oklch, var(--accent) 45%, var(--border-strong))}.sig-chip:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.sig-chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.sig-chip[aria-pressed=true]:hover{background:var(--accent-hover);color:var(--accent-fg)}.list{padding-block:clamp(1.5rem,1.35rem + .65vw,2rem) clamp(3.5rem,3.35rem + .65vw,4rem)}.grid{grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));gap:clamp(1rem,.85rem + .65vw,1.25rem);display:grid}.grid[data-sort=score]>*{order:calc(0 - var(--ord-score,0))}.grid[data-sort=price-asc]>*{order:var(--ord-price-asc,10000000)}.grid[data-sort=price-desc]>*{order:calc(0 - var(--ord-price-desc,-1))}.empty{margin-top:var(--space-md);padding:var(--space-2xl);border:var(--border-w) dashed var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--fg-muted)}.empty-title{color:var(--fg-strong);font-weight:var(--weight-semibold);margin:0}.empty-q{color:var(--accent);overflow-wrap:anywhere}.empty-sub{margin:var(--space-sm) 0 0;font-size:var(--text-sm);color:var(--fg-muted)}.empty-sub strong{color:var(--fg);font-weight:var(--weight-semibold)}.empty-clear{margin-top:var(--space-lg);min-height:44px;padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-pill);border:var(--border-w) solid var(--border-strong);background:var(--bg-elevated);color:var(--fg-strong);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:color var(--dur-fast), border-color var(--dur-fast), background var(--dur-fast);justify-content:center;align-items:center;display:inline-flex}.empty-clear:hover{color:var(--accent);border-color:var(--accent)}