.projects-page .page-header{padding-top:calc(var(--navbar-height) + var(--space-4xl));padding-bottom:var(--space-xl);text-align:left;max-width:none;width:100%;margin-inline:auto;padding-inline:clamp(1.5rem,5vw,5rem)}.projects-page .page-header__title{font-family:var(--font-display);font-size:var(--fs-4xl);font-weight:var(--fw-light);letter-spacing:var(--ls-wider);text-transform:uppercase;margin-bottom:var(--space-md)}.projects-page .page-header__line{margin-inline:0}.projects-page .page-header__subtitle{font-family:var(--font-primary);font-size:var(--fs-base);color:var(--text-muted);max-width:540px;margin-inline:0;line-height:var(--lh-relaxed)}.projects-filter{max-width:none;width:100%;margin-inline:auto;padding-inline:clamp(1.5rem,5vw,5rem);padding-bottom:var(--space-3xl);display:flex;align-items:center;gap:var(--space-2xs);border-bottom:1px solid var(--gray-200)}.projects-filter__btn{font-family:var(--font-primary);font-size:var(--fs-sm);font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-muted);background:none;border:none;padding:var(--space-sm) var(--space-lg);cursor:pointer;position:relative;transition:color var(--transition-base);white-space:nowrap}.projects-filter__btn:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background-color:var(--black);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.projects-filter__btn:hover{color:var(--text)}.projects-filter__btn.active{color:var(--text);font-weight:var(--fw-semibold)}.projects-filter__btn.active:after{transform:scaleX(1)}.projects-filter__count{font-family:var(--font-primary);font-size:.65rem;font-weight:var(--fw-regular);color:var(--text-muted);margin-left:var(--space-2xs);vertical-align:super}.projects-page .section>.container{max-width:none;padding-inline:clamp(1.5rem,5vw,5rem)}.projects-page .section--sm{padding-block:clamp(3rem,5vw,5rem)}.projects-section{padding-bottom:clamp(2rem,4vw,3.5rem)}.projects-section+.projects-section{border-top:none;padding-top:0}.projects-section__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:clamp(1.5rem,3vw,2.5rem);border-top:none;padding-top:0}.projects-section__label{font-family:var(--font-primary);font-size:.7rem;font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-2xs)}.projects-section__title{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:var(--fw-light);letter-spacing:var(--ls-wider);text-transform:uppercase;line-height:var(--lh-tight)}.projects-section__line{width:40px;height:1px;background-color:var(--black);margin-top:var(--space-xs)}.projects-section__count{font-family:var(--font-primary);font-size:.7rem;font-weight:var(--fw-regular);letter-spacing:var(--ls-wide);color:var(--text-muted);white-space:nowrap}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.projects-grid .project-card--featured{grid-column:1 / -1}.project-card--featured .project-card__image-wrapper{aspect-ratio:21 / 9}.project-card--featured .project-card__info-name{font-size:clamp(1.4rem,2.2vw,2rem)}.project-card{display:flex;flex-direction:column;position:relative;overflow:hidden;cursor:pointer;text-decoration:none;color:inherit;transition:transform var(--transition-base)}.project-card:hover{transform:translateY(-2px)}.project-card__image-wrapper{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;background-color:var(--gray-100)}.project-card__image-wrapper img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out-expo);will-change:transform}.project-card:hover .project-card__image-wrapper img{transform:scale(1.04)}.project-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,rgba(0,0,0,.15) 40%,transparent 70%);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-lg);opacity:0;transition:opacity .4s var(--ease-out-expo)}.project-card:hover .project-card__overlay{opacity:1}.project-card__category{font-family:var(--font-primary);font-size:.68rem;font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:#ffffffd9;margin-bottom:var(--space-2xs)}.project-card__name{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-regular);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--white);line-height:var(--lh-snug)}.project-card__location{font-family:var(--font-primary);font-size:.7rem;font-weight:var(--fw-regular);color:#ffffffa6;margin-top:var(--space-2xs);letter-spacing:var(--ls-wide)}.project-card__arrow{position:absolute;top:var(--space-sm);right:var(--space-sm);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--white);color:var(--black);opacity:0;transform:translate(-6px,6px);transition:opacity .35s var(--ease-out-expo),transform .35s var(--ease-out-expo)}.project-card:hover .project-card__arrow{opacity:1;transform:translate(0)}.project-card__info{padding:var(--space-md) 0 var(--space-xs);display:flex;flex-direction:column;gap:var(--space-2xs)}.project-card__info-name{font-family:var(--font-display);font-size:clamp(1rem,1.3vw,1.25rem);font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text);line-height:var(--lh-snug)}.project-card__info-location{font-family:var(--font-primary);font-size:.75rem;font-weight:var(--fw-regular);color:var(--text-muted);display:inline-flex;align-items:center;gap:var(--space-xs);letter-spacing:var(--ls-wide);text-transform:uppercase}.project-card__info-location:before{content:"";display:inline-block;width:14px;height:1px;background:var(--gray-400);flex-shrink:0}.project-card__tags{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-top:var(--space-2xs)}.project-card__tag{font-family:var(--font-primary);font-size:.65rem;font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-muted);background:var(--gray-100);padding:3px 10px;transition:background-color var(--transition-fast)}.project-card:hover .project-card__tag{background:var(--gray-200)}.project-card__metrics{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid var(--gray-100)}.project-card__metric{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-primary);font-size:.7rem;font-weight:var(--fw-regular);color:var(--text-muted)}.project-card__metric svg{width:14px;height:14px;opacity:.5}.projects-divider{max-width:none;width:100%;margin-inline:auto;padding-inline:clamp(1.5rem,5vw,5rem);padding-block:var(--space-sm)}.projects-divider__line{height:1px;background-color:var(--gray-200)}.projects-theme--light,.projects-theme--dark{transition:background-color .8s cubic-bezier(.25,1,.5,1),color .8s cubic-bezier(.25,1,.5,1);will-change:background-color,color}.projects-theme--light{background-color:var(--white);color:var(--text)}.projects-theme--light .projects-section__label{color:var(--text-muted)}.projects-theme--light .projects-section__title{color:var(--text)}.projects-theme--light .projects-section__line{background-color:var(--black)}.projects-theme--light .project-card__info-name{color:var(--text)}.projects-theme--light .project-card__info-location{color:var(--text-muted)}.projects-theme--light .project-card__info-location:before{background:var(--gray-400)}.projects-theme--dark{background-color:var(--black);color:var(--white)}.projects-theme--dark .projects-section__label{color:#ffffff73}.projects-theme--dark .projects-section__title{color:var(--white)}.projects-theme--dark .projects-section__line{background-color:var(--white)}.projects-theme--dark .project-card__info-name{color:var(--white)}.projects-theme--dark .project-card__info-location{color:#ffffff80}.projects-theme--dark .project-card__info-location:before{background:#ffffff4d}.projects-theme--dark .project-card__image-wrapper{background-color:var(--gray-800)}.projects-theme--dark .project-card__tag{background:var(--gray-800);color:#fff9}.projects-theme--dark .project-card:hover .project-card__tag{background:var(--gray-700)}.projects-theme--dark .project-card__metrics{border-top-color:var(--gray-700)}.projects-theme--dark .project-card__metric{color:#ffffff73}@media(max-width:1200px){.projects-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}}@media(max-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.project-card--featured{grid-column:1 / -1}.project-card--featured .project-card__image-wrapper{aspect-ratio:16 / 9}}@media(max-width:768px){.projects-page .page-header{padding-top:calc(var(--navbar-height) + var(--space-3xl));padding-bottom:var(--space-lg);text-align:center}.projects-page .page-header__line,.projects-page .page-header__subtitle{margin-inline:auto}.projects-filter{overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;padding-bottom:var(--space-xl);gap:0}.projects-filter::-webkit-scrollbar{display:none}.projects-filter__btn{font-size:.7rem;padding:var(--space-xs) var(--space-md)}.projects-section__header{flex-direction:column;gap:var(--space-2xs)}.projects-grid{grid-template-columns:1fr;gap:var(--space-xl)}.project-card--featured{grid-column:auto}.project-card--featured .project-card__image-wrapper{aspect-ratio:16 / 10}.project-card__overlay{opacity:1;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,rgba(0,0,0,.1) 40%,transparent 65%)}.project-card__arrow{display:none}.project-card__name{font-size:var(--fs-base)}.project-card__info{padding-top:var(--space-sm)}.project-card__info-name{font-size:var(--fs-base)}.projects-section+.projects-section{padding-top:0}.projects-section{padding-bottom:var(--space-2xl)}.projects-section__title{font-size:var(--fs-xl)}}@media(max-width:480px){.projects-grid{gap:var(--space-lg)}.project-card__image-wrapper{aspect-ratio:16 / 10}.project-card__overlay{opacity:1;padding:var(--space-md)}.project-card__info-name{font-size:.9rem}}@media(max-width:375px){.projects-section__title{font-size:var(--fs-lg)}.projects-filter__btn{font-size:.62rem;padding:var(--space-2xs) var(--space-sm)}}
