.cat-page{background:var(--cream-100);color:var(--ink-900);min-height:60vh}.ct-hero{padding:calc(var(--section-pad) + var(--sp-2)) var(--gutter) var(--section-pad);border-bottom:var(--rule)}.ct-hero-inner{max-width:1280px;margin:0 auto}.ct-hero h1{max-width:18ch;margin:.4em 0}.ct-dek{max-width:62ch;margin:0 0 var(--sp-3);font-size:var(--t-body);color:var(--meta-600)}.ct-fine{max-width:62ch;font-size:var(--t-meta);color:var(--meta-400);margin:0;line-height:1.7}.ct-shelf{padding:var(--section-pad) var(--gutter)}.ct-shelf#archive{background:var(--ground-200);border-top:var(--rule)}.ct-shelf-inner{max-width:1280px;margin:0 auto}.ct-shelf-head{align-items:baseline;gap:var(--sp-3);padding-bottom:var(--sp-2);margin-bottom:var(--sp-6);border-bottom:var(--rule);flex-wrap:wrap;display:flex}.ct-shelf-head h2{margin:0}.ct-shelf-note{font-size:var(--t-meta);color:var(--meta-600);max-width:48ch;margin:0}.ct-grid{gap:var(--sp-6) var(--gutter);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.ct-cell{min-width:0}.ct-card{gap:var(--sp-1);color:inherit;text-decoration:none;display:grid}.ct-thumb{aspect-ratio:4/5;background:var(--wall-300);border:var(--rule);margin-bottom:var(--sp-2);display:block;overflow:hidden}.ct-thumb img{object-fit:contain;object-position:center;width:100%;height:100%;transition:opacity .16s;display:block}.ct-card:hover .ct-thumb img{opacity:.88}.ct-house{display:block}.ct-title{font-family:var(--font-display);color:var(--ink-900);font-size:18px;line-height:1.2}.ct-meta{color:var(--meta-600)}.ct-withheld{color:var(--meta-400)}.ct-open{margin-top:var(--sp-1);font-size:var(--t-meta);letter-spacing:var(--track-flat);color:var(--ink-900);justify-self:start;font-weight:500}.ct-foot{padding:var(--section-pad) var(--gutter);border-top:var(--rule)}.ct-foot-inner{max-width:1280px;margin:0 auto}.ct-foot-line{max-width:56ch;margin:0 0 var(--sp-3);color:var(--meta-600)}.ct-foot-cta{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.ct-foot-link{font-size:var(--t-meta);letter-spacing:var(--track-flat);font-weight:500}@media (max-width:640px){.ct-grid{gap:var(--sp-4) var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
