.catalog-page{background:var(--soft)}.catalog-page main{padding-top:76px}
.catalog-hero{padding:clamp(6rem,10vw,10rem) 0 clamp(4rem,7vw,7rem);background:var(--paper)}
.catalog-hero-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);align-items:end;gap:clamp(3rem,8vw,8rem);width:var(--page);margin:auto}
.catalog-hero h1{max-width:8ch;margin:0;font-size:clamp(4rem,8vw,6rem);font-weight:550;letter-spacing:-.04em;line-height:.9;text-wrap:balance}
.catalog-hero p{max-width:35rem;margin:0 0 2rem;color:var(--muted);font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.65}.catalog-hero strong{display:block;font-size:clamp(2.2rem,4vw,4rem);font-weight:550;line-height:1}.catalog-hero span{display:block;margin-top:.45rem;color:var(--muted);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}
.catalog-content{padding:0 0 var(--section-space)}
.catalog-toolbar{position:sticky;z-index:20;top:76px;display:flex;flex-wrap:wrap;gap:.55rem;width:100%;padding:1rem max(40px,calc((100vw - min(1280px,calc(100vw - 80px)))/2));border-block:1px solid var(--line);background:rgba(232,234,232,.96);backdrop-filter:blur(12px)}
.catalog-filter{min-height:44px;padding:.6rem .9rem;border:1px solid #8f958f;border-radius:4px;background:transparent;color:var(--ink);cursor:pointer;font-size:.7rem;font-weight:750;transition:background 180ms ease,color 180ms ease,border-color 180ms ease}.catalog-filter:hover,.catalog-filter.is-active{border-color:var(--green);background:var(--green);color:var(--ink)}.catalog-filter:focus-visible{outline:3px solid rgba(22,184,15,.35);outline-offset:2px}
.catalog-status{width:var(--page);margin:2.2rem auto 1rem;color:var(--muted);font-size:.72rem}.catalog-grid{display:grid;grid-auto-flow:dense;grid-auto-rows:320px;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;width:var(--page);margin:auto}
.catalog-card{position:relative;grid-column:span 4;min-width:0;padding:0;overflow:hidden;border:0;background:#302c29;color:var(--white);cursor:zoom-in;text-align:left}.catalog-card:nth-child(9n + 1),.catalog-card:nth-child(9n + 6){grid-column:span 8;grid-row:span 2}.catalog-card:nth-child(9n + 4){grid-row:span 2}.catalog-card[hidden]{display:none}.catalog-card img{width:100%;height:100%;object-fit:cover;transition:transform 650ms var(--ease),filter 300ms ease}.catalog-card::after{position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(19,20,19,.9));content:""}.catalog-card:hover img{transform:scale(1.035);filter:saturate(1.08)}
.catalog-card figcaption{position:absolute;z-index:2;right:1.1rem;bottom:1rem;left:1.1rem;margin:0}.catalog-card figcaption span{display:block;color:var(--green);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.catalog-card.catalog-reveal{opacity:0;transform:translateY(18px);transition:opacity 500ms ease,transform 650ms var(--ease)}.catalog-card.catalog-reveal.is-visible{opacity:1;transform:none}
.catalog-cta{display:flex;align-items:end;justify-content:space-between;gap:3rem;width:var(--page);margin:0 auto var(--section-space);padding-top:2rem;border-top:1px solid var(--ink)}.catalog-cta h2{margin:0 0 .5rem;font-size:clamp(2rem,4vw,4.5rem);font-weight:550;letter-spacing:-.035em}.catalog-cta p{margin:0;color:var(--muted)}.catalog-cta .button{min-width:230px}
.catalog-lightbox{width:min(1100px,calc(100vw - 40px));max-width:none;height:min(84vh,820px);max-height:none;padding:0;border:0;overflow:visible;background:transparent;color:var(--white)}.catalog-lightbox::backdrop{background:rgba(18,16,14,.94);backdrop-filter:blur(6px)}.catalog-lightbox figure{display:grid;grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;margin:0;background:var(--ink)}.catalog-lightbox figure img{width:100%;height:100%;min-height:0;object-fit:contain}.catalog-lightbox figcaption{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:1rem;border-top:1px solid rgba(255,255,255,.18)}.catalog-lightbox figcaption span{display:block;color:rgba(255,255,255,.72);font-size:.7rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:880px){.catalog-page main{padding-top:70px}.catalog-hero-inner{grid-template-columns:1fr;align-items:start;gap:2.5rem}.catalog-hero h1{font-size:clamp(3.8rem,12vw,6rem)}.catalog-toolbar{top:70px;flex-wrap:nowrap;overflow-x:auto;padding-inline:24px;scrollbar-width:none}.catalog-toolbar::-webkit-scrollbar{display:none}.catalog-filter{flex:0 0 auto}.catalog-grid{grid-auto-rows:360px}.catalog-card,.catalog-card:nth-child(9n + 1),.catalog-card:nth-child(9n + 6){grid-column:span 6;grid-row:span 1}.catalog-card:nth-child(9n + 4){grid-row:span 1}.catalog-cta{align-items:stretch;flex-direction:column}.catalog-cta .button{width:100%}}
@media(max-width:700px){.catalog-hero{padding:5rem 0 4rem}.catalog-hero h1{max-width:7ch;font-size:clamp(3.4rem,15vw,4.8rem)}.catalog-toolbar{padding-inline:16px}.catalog-status{margin-block:1.5rem .8rem}.catalog-grid{grid-auto-rows:420px;grid-template-columns:1fr;width:100%;gap:10px}.catalog-card,.catalog-card:nth-child(9n + 1),.catalog-card:nth-child(9n + 6){grid-column:1}.catalog-card figcaption{right:1rem;bottom:1rem;left:1rem}.catalog-lightbox{width:calc(100vw - 20px);height:76vh}.catalog-lightbox figcaption{align-items:start;flex-direction:column}}
@media(max-width:420px){.catalog-grid{grid-auto-rows:380px}}
@media(prefers-reduced-motion:reduce){.catalog-card.catalog-reveal{opacity:1;transform:none}}
