.projects-hero{height:var(--primary-hero-height);border-bottom:var(--border-hairline);padding:var(--space-7) 0;isolation:isolate;align-items:center;display:grid;position:relative;overflow:clip}.projects-hero__copy{z-index:2;min-width:0;position:relative}.projects-hero__eyebrow{z-index:2;top:var(--page-hero-top-space);margin:0;position:absolute;left:0}.projects-hero h1{max-width:12ch;font-size:var(--font-size-page-title);margin-top:0}.projects-hero__content{width:min(38rem,56%);margin:var(--space-6) auto 0 0}.projects-hero__intro{z-index:0;isolation:isolate;color:var(--color-ink);font-size:var(--font-size-lede);line-height:var(--leading-body);margin:0;position:relative}.projects-hero__intro:before{z-index:-1;background:color-mix(in srgb, var(--color-paper) 88%, transparent);content:"";filter:blur(24px);pointer-events:none;border-radius:48%;position:absolute;inset:-.65rem -1.35rem}.projects-hero .projects-hero__actions{width:100%;margin-top:var(--space-5);justify-content:flex-start;margin-left:0}.work-portrait{--work-mesh-radius:3.35px;--work-ripple-core-x:0px;--work-ripple-core-y:0px;--work-ripple-drift-x:0px;--work-ripple-drift-y:0px;--work-ripple-x:50%;--work-ripple-y:50%;z-index:1;right:clamp(-7rem,-5cqi,-3rem);bottom:var(--hero-portrait-bottom);width:auto;height:var(--hero-portrait-height);aspect-ratio:1592/988;pointer-events:none;position:absolute;mask-image:linear-gradient(90deg,#0000 0%,#00000057 18%,#000 40% 100%)}.work-portrait__image{object-fit:contain;opacity:.36;mix-blend-mode:multiply;width:100%;height:100%;-webkit-mask-image:radial-gradient(circle at center, #000 0 var(--work-mesh-radius), transparent calc(var(--work-mesh-radius) + .45px));-webkit-mask-position:0 0;-webkit-mask-size:8px 8px;-webkit-mask-repeat:repeat;mask-image:radial-gradient(circle at center, #000 0 var(--work-mesh-radius), transparent calc(var(--work-mesh-radius) + .45px));display:block;mask-position:0 0;mask-size:8px 8px;mask-repeat:repeat}.work-portrait__ripple{opacity:0;pointer-events:none;transition:opacity .26s var(--ease-reveal);will-change:opacity;display:block;position:absolute;inset:0;overflow:hidden}.work-portrait__ripple .work-portrait__image{opacity:.52;filter:contrast(1.1);transition:transform .52s var(--ease-reveal);will-change:transform;position:absolute;inset:0}.work-portrait__ripple--core{-webkit-mask-image:radial-gradient(circle 27px at var(--work-ripple-x) var(--work-ripple-y), #000 0 7px, #000000b8 15px, transparent 27px);mask-image:radial-gradient(circle 27px at var(--work-ripple-x) var(--work-ripple-y), #000 0 7px, #000000b8 15px, transparent 27px)}.work-portrait__ripple--core .work-portrait__image{--work-mesh-radius:3.75px;transform:translate(var(--work-ripple-core-x), var(--work-ripple-core-y))}.work-portrait__ripple--wake{-webkit-mask-image:radial-gradient(circle 46px at var(--work-ripple-x) var(--work-ripple-y), transparent 0 14px, #000000ad 21px, #0000006b 31px, transparent 46px);mask-image:radial-gradient(circle 46px at var(--work-ripple-x) var(--work-ripple-y), transparent 0 14px, #000000ad 21px, #0000006b 31px, transparent 46px)}.work-portrait__ripple--wake .work-portrait__image{--work-mesh-radius:3.5px;transform:translate(var(--work-ripple-drift-x), var(--work-ripple-drift-y));mask-position:1.5px 1.5px}.work-portrait[data-ripple-active=true] .work-portrait__ripple{opacity:1}.project-index{gap:var(--space-5);padding-block:clamp(var(--space-7), 5vw, var(--space-9));grid-template-columns:minmax(0,1fr);display:grid}.project-index__header{justify-content:space-between;align-items:baseline;gap:var(--space-5);display:flex}.project-index__header p{font-family:var(--font-technical);font-size:var(--font-size-xs);letter-spacing:var(--tracking-technical);text-transform:uppercase;color:var(--color-signal);margin:0;font-weight:700}.project-index ol{border-top:var(--border-hairline);border-left:var(--border-hairline);overscroll-behavior-inline:contain;width:100%;min-width:0;max-width:100%;scroll-padding-inline:var(--space-5);scroll-snap-type:inline mandatory;scrollbar-color:var(--color-signal) transparent;scrollbar-width:thin;grid-auto-columns:clamp(18rem,29vw,23rem);grid-auto-flow:column;margin:0;padding:0;list-style:none;display:grid;overflow-x:auto}.project-index li{border-right:var(--border-hairline);scroll-snap-align:start;min-width:0}.project-index a{height:100%;min-height:16rem;padding:var(--space-5);gap:var(--space-5);border-bottom:var(--border-hairline);color:var(--color-ink);grid-template-rows:auto minmax(5rem,1fr) auto;grid-template-columns:minmax(0,1fr) auto;text-decoration:none;transition:color .16s,background-color .16s;display:grid;position:relative}.project-index li:nth-child(odd) a{background:color-mix(in srgb, var(--color-signal) 3%, transparent)}.project-index a:hover,.project-index a:focus-visible{background:var(--color-signal);color:var(--color-paper-raised)}.project-index__number{color:var(--color-signal);font-family:var(--font-display);font-variation-settings:"opsz" 56;letter-spacing:-.05em;font-size:clamp(2.8rem,2.2rem + 1.5vw,4rem);font-weight:400;line-height:.9}.project-index a:hover .project-index__number,.project-index a:focus-visible .project-index__number{color:inherit}.project-index strong{min-width:0;font-family:var(--font-display);font-variation-settings:"opsz" 40;letter-spacing:-.035em;overflow-wrap:anywhere;grid-column:1/-1;align-self:end;font-size:clamp(1.8rem,1.55rem + .7vw,2.4rem);font-weight:400;line-height:1.02}.project-index small{color:var(--color-ink-muted);font-family:var(--font-technical);font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;align-self:end;font-weight:700;line-height:1.45}.project-index__arrow{align-self:end;font-size:1.4rem;line-height:1;transition:transform .16s}.project-index a:hover small,.project-index a:focus-visible small{color:inherit}.project-index a:hover .project-index__arrow,.project-index a:focus-visible .project-index__arrow{transform:translate(.2rem,.2rem)}.project-dossier{padding-block:clamp(var(--space-8), 4.5vw, 4.5rem);scroll-margin-top:5rem;position:relative}.project-dossier--signal:before{top:0;right:calc(var(--gutter) * -1);bottom:0;left:calc(var(--gutter) * -1);z-index:-1;background:color-mix(in srgb, var(--color-signal) 5%, var(--color-paper));content:"";position:absolute}.project-dossier__header{padding-block:clamp(var(--space-6), 3vw, var(--space-7));border-top:var(--border-hairline)}.project-dossier__lead{min-width:0}.project-dossier__details h3{font-family:var(--font-technical);font-size:var(--font-size-xs);letter-spacing:var(--tracking-technical);text-transform:uppercase;font-weight:700;line-height:1.45}.project-dossier__header h2{overflow-wrap:anywhere;max-width:13ch;font-family:var(--font-display);font-size:var(--font-size-section-title);font-variation-settings:"opsz" 64;letter-spacing:-.045em;margin:0;font-weight:400;line-height:.94}.project-dossier__summary{max-width:var(--content-max)}.project-dossier__body{border-top:var(--border-hairline);border-bottom:var(--border-hairline);grid-template-columns:minmax(20rem,.92fr) minmax(0,1.08fr);margin-top:0;display:grid}.project-dossier__media{border-right:var(--border-hairline);background:var(--color-paper-raised);min-height:clamp(20rem,27vw,25rem);margin:0;position:relative;overflow:hidden}.project-dossier__media img{object-fit:contain;width:100%;height:100%;display:block}.project-dossier__media figcaption{right:var(--space-4);bottom:var(--space-4);left:var(--space-4);width:fit-content;max-width:calc(100% - (var(--space-4) * 2));padding:var(--space-2) var(--space-3);background:color-mix(in srgb, var(--color-paper-raised) 92%, transparent);color:var(--color-ink-muted);font-family:var(--font-technical);font-size:var(--font-size-xs);letter-spacing:.03em;font-weight:700;line-height:1.45;position:absolute}.project-dossier__media--placeholder{background:color-mix(in srgb, var(--color-signal) 7%, var(--color-paper))}.project-dossier__cover{position:absolute;inset:0;overflow:hidden}.project-dossier__cover strong{color:color-mix(in srgb, var(--color-signal) 70%, transparent);font-family:var(--font-display);font-variation-settings:"opsz" 72;letter-spacing:-.08em;font-size:clamp(15rem,28vw,29rem);font-weight:400;line-height:.7;position:absolute;bottom:-.2em;right:-.04em}.project-dossier__details{display:grid}.project-dossier__details section{align-content:start;gap:clamp(var(--space-5), 3vw, var(--space-7));padding:clamp(var(--space-5), 2.5vw, var(--space-6));grid-template-columns:minmax(7.5rem,.32fr) minmax(0,1fr);display:grid}.project-dossier__details section+section{border-top:var(--border-hairline)}.project-dossier__details h3{color:var(--color-signal);margin:0}.project-dossier__details p{color:var(--color-ink-muted);font-size:var(--font-size-sm);margin:0;line-height:1.65}.project-dossier__footer{justify-content:space-between;align-items:flex-end;gap:var(--space-8);padding-top:var(--space-6);display:flex}.project-dossier__footer ul{gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.project-dossier__footer li{font-family:var(--font-technical);font-size:var(--font-size-xs);letter-spacing:.03em;text-transform:uppercase;font-weight:700}.project-dossier__footer li:not(:last-child):after{margin-left:var(--space-4);color:var(--color-signal);content:"/"}.project-dossier__actions{justify-content:flex-end;align-items:center;gap:var(--space-5);flex-wrap:wrap;flex-shrink:0;min-width:0;display:flex}[data-private-repository-open]{cursor:pointer;border:0}.private-repository-dialog{border:1px solid var(--color-ink);background:var(--color-paper-raised);width:min(100% - 2rem,38rem);max-width:none;max-height:calc(100dvh - 2rem);color:var(--color-ink);box-shadow:.75rem .75rem 0 var(--color-signal);padding:0;overflow:auto}.private-repository-dialog::backdrop{backdrop-filter:blur(2px);background:#151612c7}.private-repository-dialog[open]{animation:repository-dialog-enter var(--duration-medium) var(--ease-reveal) both}.private-repository-dialog__content{padding:clamp(var(--space-6), 5vw, var(--space-8));position:relative}.private-repository-dialog__close{top:var(--space-4);right:var(--space-4);border:var(--border-hairline);width:2.5rem;height:2.5rem;color:var(--color-ink);cursor:pointer;font-family:var(--font-body);background:0 0;place-items:center;padding:0;font-size:1.45rem;line-height:1;display:grid;position:absolute}.private-repository-dialog__close:hover{border-color:var(--color-signal);background:var(--color-signal);color:var(--color-paper)}.private-repository-dialog__eyebrow{margin:0 3.5rem var(--space-6) 0;color:var(--color-signal);font-family:var(--font-technical);font-size:var(--font-size-xs);letter-spacing:var(--tracking-technical);text-transform:uppercase;font-weight:700}.private-repository-dialog h3{max-width:11ch;font-family:var(--font-display);font-variation-settings:"opsz" 56;letter-spacing:-.045em;margin:0;font-size:clamp(2.8rem,8vw,4.6rem);font-weight:400;line-height:.92}.private-repository-dialog h3+p{max-width:44ch;margin:var(--space-6) 0 0;color:var(--color-ink-muted);font-family:var(--font-body);font-size:var(--font-size-body);letter-spacing:normal;font-weight:400;line-height:var(--leading-body);text-transform:none}.private-repository-dialog__actions{align-items:center;gap:var(--space-5);margin-top:var(--space-7);flex-wrap:wrap;display:flex}.private-repository-dialog__back{padding:var(--space-3) 0;color:var(--color-ink);cursor:pointer;background:0 0;border:0}@keyframes repository-dialog-enter{0%{opacity:0;transform:translateY(1rem)scale(.985)}}@media (width<=64rem){.work-portrait{right:-7rem}.project-dossier__body{grid-template-columns:1fr}.project-dossier__media{aspect-ratio:16/9;border-right:0;border-bottom:var(--border-hairline);min-height:0}}@media (width<=48rem){.projects-hero{height:auto;min-height:0;padding-top:var(--page-hero-top-space)}.projects-hero h1{max-width:10.5ch;margin-top:0;font-size:clamp(2.9rem,12.2vw,5.4rem)}.projects-hero__content{width:100%;margin-top:var(--space-6)}.projects-hero__copy{padding-top:calc(var(--space-7) + var(--space-5))}.work-portrait{width:calc(100% + 5rem);max-width:none;height:var(--mobile-hero-portrait-height);aspect-ratio:auto;margin:0;display:block;position:absolute;top:clamp(9.5rem,42vw,12rem);bottom:auto;right:-4rem}.work-portrait__ripple{display:none}.work-portrait__image--base{opacity:.2}.work-portrait__image{object-fit:cover;object-position:72% center}.project-index{gap:var(--space-5)}.project-index__header{align-items:flex-start;gap:var(--space-2);flex-direction:column}.project-index ol{grid-template-columns:none;grid-auto-columns:clamp(17.5rem,84vw,19rem)}.project-index a{min-height:14rem}.project-dossier{padding-block:var(--space-8)}.project-dossier__header h2{font-size:clamp(3.2rem,13vw,5rem)}.project-dossier__summary{max-width:none}.project-dossier__media{aspect-ratio:16/10}.project-dossier__details section{gap:var(--space-4);padding:var(--space-6) 0;grid-template-columns:1fr}.project-dossier__footer,.project-dossier__actions{flex-direction:column;align-items:flex-start}.project-dossier__actions,.private-repository-dialog__actions{width:100%}.private-repository-dialog{box-shadow:.4rem .4rem 0 var(--color-signal)}.project-dossier__footer{gap:var(--space-6)}}
