.cat-hero{padding:calc(var(--header-h) + clamp(32px,6vh,72px)) 0 calc(var(--sec) / 4);background:radial-gradient(800px 560px at 82% 30%,hsl(var(--c-brand) / .12),transparent 62%),radial-gradient(600px 480px at 0% 0%,hsl(var(--c-blue) / .08),transparent 60%),hsl(var(--c-bg))}.cat-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--v2-muted);margin-bottom:18px}.cat-crumbs a:hover{color:hsl(var(--c-g1))}.cat-hero .v2-h1{font-size:clamp(2.1rem,1.2rem + 3.2vw,3.6rem);max-width:22ch}.cat-hero .v2-lede{margin-top:18px;max-width:68ch}.cat-sample-note{margin-top:20px;max-width:68ch;padding:12px 16px;border-radius:var(--r-sm);font-size:14.5px;border:1px dashed hsl(var(--c-brand) / .45);background:hsl(var(--c-brand) / .06);color:var(--v2-fg-2)}.cat-toolbar{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center}.cat-search{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;border-radius:14px;border:1px solid var(--v2-border);background:hsl(var(--c-card) / .7);color:var(--v2-muted)}.cat-search:focus-within{border-color:hsl(var(--c-brand) / .7)}.cat-search input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--v2-fg);font:inherit;font-size:15.5px}.cat-search input::-moz-placeholder{color:var(--v2-dim)}.cat-search input::placeholder{color:var(--v2-dim)}.cat-sort select{min-height:52px;padding:0 14px;border-radius:14px;border:1px solid var(--v2-border);font:inherit;font-size:15px;background:hsl(var(--c-card) / .7);color:var(--v2-fg);max-width:100%}.cat-sort select:focus-visible,.cat-search input:focus-visible{outline:2px solid hsl(var(--c-brand));outline-offset:2px}.cat-count{grid-column:1 / -1;font-size:14px;color:var(--v2-muted)}.cat-apply{min-height:52px}.cat-facets{display:grid;gap:10px;margin-top:16px}.cat-chips{display:flex;flex-wrap:wrap;gap:8px}.cat-chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;font-size:14px;border:1px solid var(--v2-border);background:hsl(var(--c-card) / .55);color:var(--v2-fg-2);transition:border-color .2s,background-color .2s,color .2s}.cat-chip:hover{border-color:hsl(var(--c-brand) / .6)}.cat-chip[aria-current=true]{background:hsl(var(--c-brand));border-color:hsl(var(--c-brand));color:hsl(var(--c-ink));font-weight:600}.cat-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);margin-top:24px}.cat-grid>li[hidden],.cat-empty[hidden]{display:none}@media(min-width:640px){.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.cat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.cat-grid.cat-grid-3{grid-template-columns:minmax(0,1fr)}.cat-card{position:relative;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;border:1px solid hsl(var(--c-border) / .75);background:linear-gradient(180deg,hsl(var(--c-card) / .92),hsl(var(--c-card) / .62));transition:border-color .25s,transform .3s var(--ease-out)}.cat-card:hover,.cat-card:focus-within{border-color:hsl(var(--c-brand) / .55);transform:translateY(-2px)}.cat-card-link{display:flex;flex-direction:column;flex:1}.cat-card-link:focus-visible,.kit-cta:focus-visible{outline:2px solid hsl(var(--c-brand));outline-offset:-2px}.cat-card-body{display:grid;gap:10px;align-content:start;padding:16px 18px 18px;flex:1}.cat-card-title{font-size:1.15rem;font-weight:600;letter-spacing:-.02em;line-height:1.25}.cat-badge{justify-self:start;display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:12.5px;color:hsl(var(--c-g1));background:hsl(var(--c-brand) / .12);border:1px solid hsl(var(--c-brand) / .3)}.cat-card-cta{font-size:14.5px;font-weight:600;color:hsl(var(--c-g1));margin-top:auto}.cat-empty{margin-top:32px;display:grid;gap:10px;justify-items:start;padding:28px;border-radius:var(--r-lg);border:1px dashed var(--v2-border);color:var(--v2-muted)}.cat-empty-title{font-size:1.1rem;font-weight:600;color:var(--v2-fg)}.theme-shot{position:relative;display:block;aspect-ratio:4 / 3;background:hsl(var(--c-deep));overflow:hidden}.theme-shot img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top}.theme-promo{position:absolute;top:10px;right:10px;padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:650;background:hsl(var(--c-brand));color:hsl(var(--c-ink))}.theme-price{display:flex;align-items:baseline;gap:8px}.theme-price b{font-size:1.1rem;font-weight:650}.theme-price s{font-size:14px;color:var(--v2-dim)}.td-layout{display:grid;gap:32px;align-items:start}.td-shot{border-radius:var(--r-lg);border:1px solid var(--v2-border);background:hsl(var(--c-deep));overflow:hidden}.td-shot-scroll{max-height:min(78vh,900px);overflow-y:auto;overscroll-behavior:contain}.td-shot-scroll:focus-visible{outline:2px solid hsl(var(--c-brand));outline-offset:-2px}.td-shot img{width:100%;height:auto}.td-info{display:grid;gap:18px;align-content:start}.td-info .v2-h1{font-size:clamp(2rem,1.2rem + 2.8vw,3.2rem)}.td-facts{border-top:1px solid var(--v2-hair)}.td-facts>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--v2-hair)}.td-facts dt{font-size:14px;color:var(--v2-muted)}.td-facts dd{font-size:15px;font-weight:550;text-align:right;margin:0}.td-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.td-price b{font-size:clamp(1.8rem,1.4rem + 1.4vw,2.4rem);letter-spacing:-.03em;color:hsl(var(--c-g1))}.td-price s{color:var(--v2-dim)}.td-ctas .v2-btn{flex:1 1 200px}.td-note{font-size:14px;color:var(--v2-muted)}@media(min-width:960px){.td-layout{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px}.td-info{position:sticky;top:calc(var(--header-h) + 24px)}}.kit-card{padding:20px;gap:12px}.kit-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.kit-desc{font-size:14.5px;color:var(--v2-muted)}.kit-meta{display:flex;flex-wrap:wrap;gap:6px}.kit-meta li{padding:3px 10px;border-radius:999px;font-size:12.5px;border:1px solid var(--v2-border);color:var(--v2-fg-2)}.kit-meta .kit-price{border-color:hsl(var(--c-brand) / .4);color:hsl(var(--c-g1))}.kit-cta{margin-top:auto;padding-top:4px}.cat-section{padding-block:24px calc(var(--sec) / 2)}.cat-related-head{margin-bottom:8px}
