.projects-page{z-index:10;min-height:100vh;color:var(--text-1);padding:clamp(7.2rem,13vh,9.5rem) 4rem clamp(5rem,12vh,8rem);position:relative;overflow:hidden}.projects-showcase{z-index:1;justify-content:center;align-items:center;gap:0;min-height:100vh;display:grid;position:relative}.projects-showcase__center{text-align:right;justify-self:center;max-width:34ch;margin-bottom:clamp(-.45rem,-1.1vh,-.2rem);display:grid}.projects-showcase__count{color:color-mix(in srgb, var(--accent) 78%, var(--text-1) 22%);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:clamp(.88rem,1vw,1.1rem)}.projects-showcase__info{color:color-mix(in srgb, var(--text-1) 70%, transparent);margin:0;font-size:clamp(.94rem,1.04vw,1.08rem);line-height:1.5}.projects-marquee{margin-top:clamp(-1.4rem,-1.8vh,-1.15rem);position:relative;overflow:hidden}.projects-marquee__track{will-change:transform;width:max-content;animation:132s linear infinite projects-marquee-scroll;display:flex}.projects-marquee__group{gap:clamp(.85rem,1.8vw,1.45rem);margin:0;padding:0 clamp(1rem,2.2vw,2rem);list-style:none;display:flex}.projects-marquee__item{flex:0 0 clamp(200px,46vw,620px)}.projects-marquee__link{color:inherit;display:block;position:relative}.projects-marquee__visual{aspect-ratio:16/10;background:linear-gradient(145deg, color-mix(in srgb, var(--surface-3) 92%, #1a1f1c 8%) 0%, color-mix(in srgb, #101211 70%, var(--surface-3) 30%) 100%);position:relative;overflow:hidden;box-shadow:0 32px 48px -36px #000000e0,inset 0 1px #f0eee614}.projects-marquee__visual:after{content:"";pointer-events:none;background:linear-gradient(#0000000a,#0000003d),radial-gradient(92% 92%,#0000 52%,#00000052 100%);position:absolute;inset:0}.projects-marquee__image{object-fit:cover;object-position:center 20%;filter:saturate(.82)contrast(1.08)brightness(.92);width:100%;height:100%;transition:transform .5s,filter .5s;transform:scale(1)}.projects-marquee__hover-frame{aspect-ratio:16/10;opacity:0;pointer-events:none;border:none;width:56%;transition:transform .52s,opacity .42s,border-color .35s;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)scale(.88)}.projects-marquee__hover-image{object-fit:cover;width:100%;height:100%;transition:transform .58s;transform:scale(1.04)}.projects-marquee__placeholder{text-align:center;background:linear-gradient(130deg,#4c665133,#0e110ff0),repeating-linear-gradient(-42deg,#ffffff17 0 12px,#ffffff05 12px 24px);place-items:center;height:100%;padding:1.2rem;display:grid}.projects-marquee__placeholder strong{margin:0;font-size:1.02rem;font-weight:600;display:block}.projects-marquee__placeholder span{color:color-mix(in srgb, var(--text-1) 72%, transparent);margin-top:.45rem;font-size:.95rem;display:block}.projects-marquee__badge{color:color-mix(in srgb, var(--text-2) 90%, transparent);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;align-items:center;margin-left:auto;font-size:clamp(.84rem,.95vw,1.08rem);display:inline-flex}.projects-marquee__caption{justify-content:space-between;align-items:flex-start;gap:1.6rem;margin-top:1rem;display:flex}.projects-marquee__title{color:color-mix(in srgb, var(--text-1) 94%, transparent);letter-spacing:.04em;text-transform:uppercase;font-size:clamp(.5rem,1.6vw,1rem);font-weight:600;line-height:1.2}@media (hover:hover) and (pointer:fine){.projects-marquee:hover .projects-marquee__track,.projects-marquee:focus-within .projects-marquee__track{animation-play-state:paused}.projects-marquee__link:hover .projects-marquee__image,.projects-marquee__link:focus-visible .projects-marquee__image{filter:saturate(1.02)contrast(1.08)brightness(.74);transform:scale(1.02)}.projects-marquee__link:hover .projects-marquee__hover-frame,.projects-marquee__link:focus-visible .projects-marquee__hover-frame{opacity:1;border-color:#ffffff80;transform:translate(-50%,-50%)scale(1)}.projects-marquee__link:hover .projects-marquee__hover-image,.projects-marquee__link:focus-visible .projects-marquee__hover-image{transform:scale(1.08)}.projects-marquee__link:focus-visible{outline:none}.projects-marquee__link:focus-visible .projects-marquee__visual{border-color:color-mix(in srgb, var(--accent) 78%, var(--text-1) 22%)}}@media (width<=1100px){.projects-showcase__title{max-width:22ch}}@media (width<=900px){.projects-page{padding-top:clamp(6.4rem,11vh,7.6rem)}.projects-showcase__header{grid-template-columns:1fr;gap:1.2rem}.projects-showcase__side{text-align:left;justify-self:start;max-width:52ch}.projects-marquee__item{flex-basis:clamp(240px,74vw,500px)}.projects-marquee__caption{gap:.9rem}}@media (width<=640px){.projects-showcase__title{font-size:clamp(1.36rem,8vw,2.2rem)}}@media (width<=720px){img{object-position:center 20%}.projects-showcase{justify-content:stretch;align-items:start;min-height:auto}.projects-showcase__center{text-align:center;justify-self:center;max-width:none;margin-bottom:1rem}.projects-marquee{margin-top:0;overflow:visible}.projects-marquee__track{width:100%;animation:none;display:block}.projects-marquee__group{grid-template-columns:1fr;gap:1rem;padding:0;display:grid}.projects-marquee__item{flex:none}.projects-marquee__group--clone{display:none}.projects-marquee__badge,.projects-marquee__title{letter-spacing:.08em;font-size:.68rem}}@media (prefers-reduced-motion:reduce){.projects-marquee{scrollbar-width:thin;overflow-x:auto}.projects-marquee__track{animation:none}.projects-marquee__group--clone{display:none}}@keyframes projects-marquee-scroll{0%{transform:translate(0,0)}to{transform:translate(-50%)}}
