.proj-hero{position:relative;padding:200px var(--pad-x) 80px;border-bottom:1px solid var(--line);background:var(--bg-deep)}.proj-hero .eyebrow{font-family:var(--font-display);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:14px;margin-bottom:26px}.proj-hero .eyebrow:before{content:"";width:50px;height:1px;background:var(--accent)}.proj-hero h1{font-family:var(--font-display);font-weight:600;font-size:clamp(50px,8vw,132px);letter-spacing:-.022em;line-height:.94;text-transform:uppercase;margin:0;max-width:16ch}.proj-hero h1 .muted{color:var(--fg-soft)}.proj-hero .meta{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:36px}.proj-hero .lead{color:var(--fg-mute);font-size:17px;max-width:60ch;margin:0;line-height:1.65}.proj-hero .count{font-family:var(--font-display);font-weight:600;font-size:56px;line-height:1;letter-spacing:-.02em;color:var(--accent)}.proj-hero .count small{display:block;font-family:var(--font-mono);font-size:10px;color:var(--fg-soft);letter-spacing:.16em;text-transform:uppercase;margin-top:8px}.filter-bar{position:-webkit-sticky;position:sticky;top:58px;z-index:50;background:rgba(7,7,7,.78);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border-bottom:1px solid var(--line);padding:16px var(--pad-x);display:flex;align-items:center;gap:28px;font-family:var(--font-display);font-size:13px;letter-spacing:.22em;text-transform:uppercase;overflow-x:auto;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-bar .lbl{color:var(--fg-soft);flex:none}.filter-bar button{padding:8px 0;color:var(--fg-mute);position:relative;transition:color .3s;flex:none}.filter-bar button:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .5s var(--ease-out)}.filter-bar button.is-active,.filter-bar button:hover{color:var(--fg)}.filter-bar button.is-active:after,.filter-bar button:hover:after{transform:scaleX(1)}.filter-bar button.is-active{color:var(--accent)}.filter-bar .count-badge{font-family:var(--font-mono);font-size:12px;color:var(--fg-soft);margin-left:6px;letter-spacing:.08em}.proj-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:28px;gap:28px;padding:80px var(--pad-x) 120px}.proj-card{position:relative;overflow:hidden;cursor:pointer;background:var(--surface);border:1px solid var(--line);display:block;transition:transform .6s var(--ease-out)}.proj-card.hidden{display:none}.proj-card .media{aspect-ratio:4/3;background-size:cover;background-position:50%;filter:brightness(.78) saturate(.85);transition:transform 1.2s var(--ease),filter .6s}.proj-card:hover .media{transform:scale(1.06);filter:brightness(.9)}.proj-card .info{padding:22px 24px 26px;display:flex;justify-content:space-between;align-items:end;gap:16px}.proj-card .info .cat{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.proj-card .info h3{font-family:var(--font-display);font-weight:500;font-size:21px;letter-spacing:-.005em;text-transform:uppercase;margin:0;line-height:1.05}.proj-card .info .year{font-family:var(--font-mono);font-size:11px;color:var(--fg-mute);letter-spacing:.1em}.proj-card .num{left:18px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--fg);background:rgba(7,7,7,.55);padding:5px 10px;border:1px solid var(--line)}.proj-card .arrow,.proj-card .num{position:absolute;top:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.proj-card .arrow{right:18px;width:36px;height:36px;border:1px solid rgba(244,241,234,.45);border-radius:50%;display:grid;place-items:center;background:rgba(7,7,7,.4);transition:background .3s,border-color .3s,transform .4s var(--ease-out)}.proj-card:hover .arrow{background:var(--accent);border-color:var(--accent);transform:rotate(-45deg)}.proj-card.s-6{grid-column:span 6}.proj-card.s-4{grid-column:span 4}.proj-card.s-5{grid-column:span 5}.proj-card.s-7{grid-column:span 7}.proj-card.s-8{grid-column:span 8}.proj-card.s-12{grid-column:span 12}.proj-card.s-12 .media{aspect-ratio:21/9}.cat-marker{grid-column:1/-1;padding-top:60px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:end;gap:24px}.cat-marker:first-child{border-top:0;padding-top:0}.cat-marker .num{font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase}.cat-marker h2{font-family:var(--font-display);font-weight:500;font-size:clamp(32px,4vw,60px);letter-spacing:-.01em;line-height:1;text-transform:uppercase;margin:6px 0 0}.cat-marker p{color:var(--fg-mute);max-width:40ch;font-size:14px;margin:0;line-height:1.6}@media (max-width:960px){.proj-grid{grid-template-columns:1fr;gap:18px}.proj-card.s-12,.proj-card.s-4,.proj-card.s-5,.proj-card.s-6,.proj-card.s-7,.proj-card.s-8{grid-column:span 1}.proj-hero .meta{flex-direction:column;align-items:flex-start}}@media (max-width:600px){.proj-hero{padding:140px var(--pad-x) 50px}.proj-hero h1{font-size:clamp(38px,10vw,60px)}.proj-hero .count{font-size:40px}.filter-bar{gap:16px;padding:14px var(--pad-x);top:50px}.proj-grid{padding:40px var(--pad-x) 80px;gap:14px}.proj-card .info{padding:16px 18px 20px}.proj-card .info h3{font-size:17px}.cat-marker{padding-top:40px;flex-direction:column;align-items:flex-start}}