.projects-intro{position:relative;min-height:calc(100dvh - 4rem);display:flex;align-items:center;justify-content:center;padding:1.5rem 1.25rem max(1.5rem,env(safe-area-inset-bottom,0px));overflow:clip;background:var(--bg-primary);isolation:isolate}.projects-intro__bg{position:absolute;inset:-4%;z-index:0;pointer-events:none;background-size:cover;background-position:50%;background-repeat:no-repeat;filter:brightness(.58) contrast(1.05);transform:scale(1.04);transition:transform .9s cubic-bezier(.4,0,.2,1);will-change:transform,opacity}.projects-intro--ready .projects-intro__bg{transform:scale(1)}.projects-intro__scrim{background:rgba(10,10,10,.55)}.projects-intro__scrim,.projects-intro__vignette{position:absolute;inset:0;z-index:0;pointer-events:none}.projects-intro__vignette{background:radial-gradient(ellipse 80% 72% at 50% 42%,transparent 0,rgba(10,10,10,.22) 52%,rgba(10,10,10,.62) 100%)}.projects-intro__inner{position:relative;z-index:10;width:min(100%,52rem);text-align:center;opacity:0;transform:translateY(1.1rem);transition:opacity .85s cubic-bezier(.4,0,.2,1),transform .85s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.projects-intro--ready .projects-intro__inner{opacity:1;transform:translateY(0)}.projects-intro__title{margin-bottom:1.75rem;font-family:var(--font-hand);font-weight:500;font-size:clamp(2.25rem,6vw,3.75rem);line-height:1.1;letter-spacing:.01em;color:var(--text-primary);text-align:center}.projects-intro__body{display:flex;flex-direction:column;gap:1.15rem;text-align:left;font-family:var(--font-body);font-weight:var(--font-weight-bold);font-size:clamp(.95rem,1.6vw,1.1rem);line-height:1.75;letter-spacing:.02em;color:var(--text-primary)}.projects-intro__body p{margin:0;color:rgba(245,241,234,.92);opacity:0;transform:translateY(.65rem);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}.projects-intro--ready .projects-intro__body p{opacity:1;transform:translateY(0)}.projects-intro--ready .projects-intro__body p:first-child{transition-delay:.12s}.projects-intro--ready .projects-intro__body p:nth-child(2){transition-delay:.22s}.projects-intro--ready .projects-intro__body p:nth-child(3){transition-delay:.32s}.projects-intro--ready .projects-intro__body p:nth-child(4){transition-delay:.42s}.projects-intro--ready .projects-intro__body p:nth-child(5){transition-delay:.52s}.projects-intro__hint{margin-top:2rem;display:inline-flex;flex-direction:column;align-items:center;gap:.55rem;font-family:var(--font-body);font-weight:var(--font-weight-bold);font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(245,241,234,.5);background:none;border:0;padding:.35rem .5rem;cursor:pointer;opacity:0;transition:color .35s cubic-bezier(.4,0,.2,1),opacity .7s cubic-bezier(.4,0,.2,1) .55s}.projects-intro--ready .projects-intro__hint{opacity:1;animation:projects-intro-hint 2.2s ease-in-out .9s infinite}.projects-intro__hint:focus-visible,.projects-intro__hint:hover{color:var(--accent);outline:none}.projects-intro__hint-chevron{display:block;width:.55rem;height:.55rem;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);opacity:.75}@keyframes projects-intro-hint{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:.9;transform:translateY(.28rem)}}@media (min-width:768px){.projects-intro{padding:2rem 2rem max(2rem,env(safe-area-inset-bottom,0px))}.projects-intro__inner{width:min(100%,56rem)}}@media (max-width:767px){.projects-intro{align-items:flex-start;padding:max(1.5rem,env(safe-area-inset-top,0px)) 1rem max(1.25rem,env(safe-area-inset-bottom,0px))}.projects-intro__inner{width:100%}.projects-intro__title{font-size:clamp(1.85rem,8vw,2.75rem);margin-bottom:1.15rem}.projects-intro__body{font-size:clamp(.88rem,3.4vw,1rem);gap:.85rem;line-height:1.65}.projects-intro__hint{margin-top:1.35rem;letter-spacing:.18em}}@media (max-height:700px){.projects-intro__title{margin-bottom:.85rem;font-size:clamp(1.65rem,5vh,2.25rem)}.projects-intro__body{gap:.65rem;font-size:.9rem}.projects-intro__hint{margin-top:1rem}}@media (prefers-reduced-motion:reduce){.projects-intro__bg,.projects-intro__body p,.projects-intro__hint,.projects-intro__inner{transition:none;animation:none;opacity:1;transform:none}.projects-intro__body p{transition-delay:0s}}.projects-filter{margin:0 0 1.15rem;padding:0 0 .9rem;border-bottom:1px solid rgba(245,241,234,.08);opacity:0;transform:translateY(.5rem);transition:opacity .55s cubic-bezier(.4,0,.2,1) .06s,transform .55s cubic-bezier(.4,0,.2,1) .06s}.projects-filter--visible{opacity:1;transform:translateY(0)}.projects-filter__search{position:relative;display:flex;align-items:center;margin-bottom:.65rem}.projects-filter__search-icon{position:absolute;left:.75rem;width:.9rem;height:.9rem;pointer-events:none;opacity:.45;color:var(--text-muted)}.projects-filter__input{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(245,241,234,.12);background:rgba(10,10,10,.45);color:var(--text-primary);font-family:var(--font-body);font-weight:var(--font-weight-bold);font-size:clamp(.9rem,2vw,1rem);letter-spacing:.03em;line-height:1.35;padding:.62rem 2.4rem .62rem 2.25rem;border-radius:0;outline:none;transition:border-color .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.projects-filter__input::-moz-placeholder{color:rgba(138,133,128,.85);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem}.projects-filter__input::placeholder{color:rgba(138,133,128,.85);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem}.projects-filter__input:hover{border-color:rgba(245,241,234,.2)}.projects-filter__input:focus{border-color:rgba(233,30,34,.65);background:rgba(10,10,10,.65);box-shadow:0 0 0 1px rgba(233,30,34,.22)}.projects-filter__clear{position:absolute;right:.3rem;display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border:0;background:transparent;color:var(--text-muted);cursor:pointer;font-family:var(--font-body);font-size:1.05rem;line-height:1;transition:color .25s cubic-bezier(.4,0,.2,1)}.projects-filter__clear:focus-visible,.projects-filter__clear:hover{color:var(--accent);outline:none}.projects-filter__group{margin-top:.55rem}.projects-filter__group-label{display:block;margin:0 0 .3rem;font-family:var(--font-body);font-weight:var(--font-weight-bold);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.projects-filter__chips{display:flex;flex-wrap:nowrap;gap:.35rem;align-items:center;overflow-x:auto;overflow-y:hidden;padding-bottom:.15rem;margin:0 -.1rem;padding-inline:.1rem;scrollbar-width:thin;scrollbar-color:rgba(233,30,34,.35) transparent;-webkit-overflow-scrolling:touch}.projects-filter__chips::-webkit-scrollbar{height:3px}.projects-filter__chips::-webkit-scrollbar-thumb{background:rgba(233,30,34,.4);border-radius:999px}.projects-filter__chip{flex:0 0 auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(245,241,234,.14);background:transparent;color:rgba(245,241,234,.75);font-family:var(--font-body);font-weight:var(--font-weight-bold);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;line-height:1.15;padding:.4rem .65rem;cursor:pointer;white-space:nowrap;transition:color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.projects-filter__chip:focus-visible,.projects-filter__chip:hover{color:var(--text-primary);border-color:rgba(245,241,234,.35);outline:none}.projects-filter__chip--active{color:#fff;border-color:rgba(233,30,34,.85);background:rgba(233,30,34,.18);box-shadow:0 0 0 1px rgba(233,30,34,.18)}.projects-filter__chip--active:focus-visible,.projects-filter__chip--active:hover{border-color:var(--accent);background:rgba(233,30,34,.28)}.projects-filter__meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .85rem;margin-top:.6rem}.projects-filter__results{margin:0;font-family:var(--font-body);font-weight:var(--font-weight-bold);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.projects-filter__results strong{color:var(--text-primary);font-weight:inherit}.projects-filter__reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:.15rem 0;font-family:var(--font-body);font-weight:var(--font-weight-bold);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,241,234,.55);cursor:pointer;transition:color .25s cubic-bezier(.4,0,.2,1)}.projects-filter__reset:focus-visible,.projects-filter__reset:hover{color:var(--accent);outline:none}.projects-filter__empty{margin:1.25rem 0 .75rem;padding:1rem 0;border-top:1px solid rgba(245,241,234,.08);font-family:var(--font-body);font-weight:var(--font-weight-bold);font-size:clamp(.95rem,2vw,1.05rem);line-height:1.55;letter-spacing:.02em;color:var(--text-muted)}@media (min-width:768px){.projects-filter{margin-bottom:1.35rem;padding-bottom:1rem}.projects-filter__chips{flex-wrap:wrap;overflow:visible;padding-bottom:0}.projects-filter__input{padding-top:.68rem;padding-bottom:.68rem}.projects-filter__chip{font-size:.72rem;padding:.42rem .7rem}}@media (prefers-reduced-motion:reduce){.projects-filter{opacity:1;transform:none;transition:none}.projects-filter__chip,.projects-filter__clear,.projects-filter__input,.projects-filter__reset{transition:none}}.projects-scroll{position:relative;background:var(--bg-primary)}.projects-scroll__filmography{position:relative;min-height:calc(100dvh - 4rem);padding-bottom:max(1.5rem,env(safe-area-inset-bottom,0px));scroll-margin-top:4.5rem}.projects-scroll__inner{max-width:72rem;margin:0 auto;padding:2.25rem 1rem 0}.projects-scroll__header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(245,241,234,.1);opacity:0;transform:translateY(.85rem);transition:opacity .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1)}.projects-scroll__header--visible{opacity:1;transform:translateY(0)}.projects-scroll__title{margin:0;font-family:var(--font-hand);font-weight:500;font-size:clamp(2rem,5vw,3rem);line-height:1.08;color:var(--text-primary)}.projects-scroll__count{margin:.75rem 0 0;font-family:var(--font-body);font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--text-muted)}.projects-scroll__list{list-style:none;margin:0;padding:0}.projects-scroll__item{opacity:0;transform:translateY(1.15rem);transition:opacity .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1);transition-delay:var(--reveal-delay,0s)}.projects-scroll__item--visible{opacity:1;transform:translateY(0)}.projects-scroll__row{position:relative;display:grid;grid-template-columns:1fr;gap:1rem;align-items:start;padding:1.15rem 0;border-bottom:1px solid rgba(245,241,234,.08);color:inherit;text-decoration:none;transition:background-color .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}.projects-scroll__row:before{content:"";position:absolute;left:0;top:.85rem;bottom:.85rem;width:2px;background:transparent;transition:background-color .4s cubic-bezier(.4,0,.2,1)}.projects-scroll__row:focus-visible,.projects-scroll__row:hover{background:rgba(245,241,234,.025)}.projects-scroll__row:focus-visible:before,.projects-scroll__row:hover:before{background:var(--accent)}.projects-scroll__row:focus-visible{outline:1px solid rgba(233,30,34,.55);outline-offset:4px}.projects-scroll__still{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--bg-secondary);border:1px solid rgba(245,241,234,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.4)}.projects-scroll__still:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(10,10,10,.35);background:linear-gradient(135deg,rgba(245,241,234,.06),transparent 42%,transparent);opacity:1;transition:opacity .45s cubic-bezier(.4,0,.2,1)}.projects-scroll__row:focus-visible .projects-scroll__still:after,.projects-scroll__row:hover .projects-scroll__still:after{opacity:.55}.projects-scroll__still img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;transition:transform .7s cubic-bezier(.4,0,.2,1)}.projects-scroll__row:focus-visible .projects-scroll__still img,.projects-scroll__row:hover .projects-scroll__still img{transform:scale(1.045)}.projects-scroll__still--empty{display:flex;align-items:center;justify-content:center}.projects-scroll__still-placeholder{font-family:var(--font-body);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted)}.projects-scroll__copy{min-width:0;display:flex;flex-direction:column;gap:.35rem}.projects-scroll__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .85rem;font-family:var(--font-body);font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}.projects-scroll__index{color:var(--accent);letter-spacing:.16em;font-variant-numeric:tabular-nums}.projects-scroll__dot{opacity:.45}.projects-scroll__name{margin:0;font-family:var(--font-hand);font-weight:500;font-size:clamp(1.35rem,3.2vw,1.85rem);line-height:1.15;color:var(--text-primary);transition:color .4s cubic-bezier(.4,0,.2,1)}.projects-scroll__row:focus-visible .projects-scroll__name,.projects-scroll__row:hover .projects-scroll__name{color:#fff}.projects-scroll__excerpt{margin:.5rem 0 0;max-width:none;font-family:var(--font-body);font-weight:var(--font-weight-bold);font-size:clamp(.9rem,2.4vw,1.125rem);line-height:1.65;letter-spacing:.02em;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.projects-scroll__cta{margin-top:.55rem;display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-body);font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(245,241,234,.55);transition:color .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}.projects-scroll__row:focus-visible .projects-scroll__cta,.projects-scroll__row:hover .projects-scroll__cta{color:var(--accent);transform:translateX(.25rem)}@media (min-width:768px){.projects-scroll__inner{max-width:64rem;padding:3.5rem 1rem 0}.projects-scroll__header{margin-bottom:2.25rem;padding-bottom:1.75rem}.projects-scroll__row{grid-template-columns:minmax(10.5rem,.36fr) minmax(0,1fr);-moz-column-gap:1.25rem;column-gap:1.25rem;row-gap:0;align-items:center;padding:1.25rem .35rem 1.25rem .5rem}.projects-scroll__still{width:100%;max-width:none}.projects-scroll__copy{padding-block:.15rem}.projects-scroll__excerpt{-webkit-line-clamp:3}}@media (min-width:1024px){.projects-scroll__row{grid-template-columns:minmax(14rem,.42fr) minmax(0,1fr);-moz-column-gap:2rem;column-gap:2rem;padding:1.5rem .5rem 1.5rem .65rem}}@media (max-width:767px){.projects-scroll__name{font-size:clamp(1.25rem,5.5vw,1.6rem)}.projects-scroll__meta{font-size:.6rem;letter-spacing:.16em}}@media (prefers-reduced-motion:reduce){.projects-scroll__header,.projects-scroll__item{opacity:1;transform:none;transition:none}.projects-scroll__cta,.projects-scroll__name,.projects-scroll__row,.projects-scroll__row:before,.projects-scroll__still img,.projects-scroll__still:after{transition:none}.projects-scroll__row:hover .projects-scroll__still img{transform:none}.projects-scroll__row:focus-visible .projects-scroll__cta,.projects-scroll__row:hover .projects-scroll__cta{transform:none}}