.hc-project-archive{--hc-project-columns:3;--hc-project-gap:24px;--hc-project-ratio:4 / 3;--hc-project-radius:14px;--hc-project-accent:#d77a24;--hc-project-heading:#191816;--hc-project-card-text:#fff;--hc-project-filter-bg:#fff;--hc-project-filter-active-bg:#171715;--hc-project-filter-active-text:#fff;width:100%}
.hc-project-archive__header{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:30px}
.hc-project-archive__intro{min-width:0}.hc-project-archive__eyebrow{margin:0 0 8px;color:var(--hc-project-accent);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hc-project-archive__heading{margin:0;color:var(--hc-project-heading);font-size:clamp(34px,4vw,58px);font-weight:800;line-height:1.02;letter-spacing:-.035em;text-transform:uppercase}
.hc-project-archive__filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.hc-project-archive__filters button{appearance:none;padding:11px 20px;border:1px solid rgba(25,24,22,.14);border-radius:8px;background:var(--hc-project-filter-bg);color:#37342f;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}.hc-project-archive__filters button:hover{transform:translateY(-1px);border-color:rgba(25,24,22,.38)}.hc-project-archive__filters button.is-active{background:var(--hc-project-filter-active-bg);border-color:var(--hc-project-filter-active-bg);color:var(--hc-project-filter-active-text)}
.hc-project-archive__grid{display:grid;grid-template-columns:repeat(var(--hc-project-columns),minmax(0,1fr));gap:var(--hc-project-gap)}
.hc-project-card{min-width:0}.hc-project-card[hidden]{display:none!important}.hc-project-card__link{position:relative;display:block;aspect-ratio:var(--hc-project-ratio);overflow:hidden;border-radius:var(--hc-project-radius);background:#1b1b19;color:var(--hc-project-card-text);isolation:isolate;text-decoration:none;box-shadow:0 10px 30px rgba(16,15,13,.1)}.hc-project-card__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.hc-project-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(5,5,4,.12) 48%,rgba(5,5,4,.9) 100%)}.hc-project-card__content{position:absolute;left:22px;right:54px;bottom:20px;display:grid;gap:4px;z-index:2}.hc-project-card__eyebrow{font-size:10px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;opacity:.74}.hc-project-card__title{font-size:clamp(20px,2vw,29px);font-weight:800;line-height:1.02;letter-spacing:-.02em;text-transform:uppercase}.hc-project-card__subtitle{font-size:13px;font-weight:600;opacity:.78}.hc-project-card__arrow{position:absolute;right:20px;bottom:18px;z-index:2;font-size:30px;font-weight:300;line-height:1;transition:transform .2s ease}.hc-project-card__link:hover{color:var(--hc-project-card-text)}.hc-project-card__link:hover .hc-project-card__image{transform:scale(1.045)}.hc-project-card__link:hover .hc-project-card__arrow{transform:translateX(4px)}.hc-project-card__link:focus-visible{outline:3px solid var(--hc-project-accent);outline-offset:3px}
.hc-project-archive__empty{margin:24px 0 0;color:#666;font-weight:650}
@media(max-width:1024px){.hc-project-archive{--hc-project-columns:2}.hc-project-archive__header{align-items:flex-start;flex-direction:column}.hc-project-archive__filters{justify-content:flex-start}}
@media(max-width:767px){.hc-project-archive{--hc-project-columns:1;--hc-project-gap:16px}.hc-project-archive__header{margin-bottom:22px}.hc-project-archive__filters{width:100%;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.hc-project-archive__filters::-webkit-scrollbar{display:none}.hc-project-archive__filters button{flex:0 0 auto;padding:10px 16px}.hc-project-card__content{left:18px;right:50px;bottom:17px}.hc-project-card__arrow{right:17px;bottom:16px}}
@media(prefers-reduced-motion:reduce){.hc-project-card__image,.hc-project-card__arrow,.hc-project-archive__filters button{transition:none}}
