.hello{margin-top:15rem;margin-left:calc(25% + .5rem)}.hello p{max-width:60ch}.hello span{margin-top:3rem;right:2rem;text-align:right}@media(max-width:768px){#extract-me main .hello{padding:1rem}#selected-works{padding-inline:1rem}.hello{margin:0;margin-block:4rem;margin-top:15rem}.hello span{margin-block:2rem;text-justify:none}}main{padding:0rem}@media(max-width:768px){main{padding:0rem}}.archive{padding-top:4rem;margin:1rem}.archive-section-title{font-size:var(--display-type-size);font-weight:400;margin-block:0}.archive-headers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-block:1rem}.sort-indicator{color:inherit;font-size:var(--display-type-size);vertical-align:baseline;bottom:1px;position:relative}.archive-filters{width:100%;font-size:var(--display-type-size);font-family:var(--font-display);border-bottom:.2rem solid var(--text-color);transition:color .2s var(--hover-transition-timing),background-color .2s var(--hover-transition-timing);padding:0!important}.archive-filters *{padding-bottom:.2rem!important}.archive-list{padding-top:2rem}.archive-item [data-field=when]{font-style:normal;text-transform:uppercase;font-variant-numeric:tabular-nums}.archive-item{--archive-background-duration: 0s;--archive-row-height: 1.25rem;--archive-row-text-offset: .5rem;--archive-when-clearance: 1.5rem;--archive-open-height: 110vh;--archive-open-following-text-space: calc( var(--display-type-size) + var(--archive-row-text-offset) + 1rem );--archive-gallery-top: calc( var(--archive-row-height) + var(--archive-when-clearance) );--archive-gallery-padding: 12rem;--archive-open-gallery-space: 2rem;--archive-media-height: calc( var(--archive-open-height) - var(--archive-gallery-top) - var(--archive-gallery-padding) - var(--archive-gallery-padding) );--archive-preview-height: 12rem;--archive-hover-gap: var(--archive-preview-height);cursor:pointer;display:block;height:var(--archive-row-height);width:100%;position:relative;overflow:visible;background:transparent;transition:color .5s var(--hover-transition-timing),background-color var(--archive-background-duration, .5s) var(--hover-transition-timing),margin-bottom .5s var(--hover-transition-timing),border-color .5s var(--hover-transition-timing)}.archive-item:hover{z-index:2;border-bottom:none;margin-bottom:var(--archive-hover-gap);background-color:var(--archive-active-background, var(--special-color));color:var(--archive-foreground, var(--soft-white))}.archive-item:hover .item-info{color:var(--archive-foreground, var(--color-white))}.archive-item:not([open]):hover{overflow:visible}.archive-item:not([open]):hover:before{content:"";position:absolute;inset:100% 0 auto;height:calc(var(--archive-hover-gap) + 2px);background:var(--archive-active-background, var(--special-color))}.archive-item[open]{z-index:2;align-items:baseline;height:var(--archive-open-height);background-image:none;width:calc(100% + 3rem);margin-inline:-2rem;background-color:var(--archive-active-background, var(--special-color));color:var(--archive-foreground, var(--soft-white))}.archive-item[open] *{width:auto;color:var(--archive-foreground, var(--soft-white))}.archive-item[open] .item-id{color:var(--archive-foreground, var(--soft-white));margin-left:2rem;width:100%}.archive-item[open] .item-info{color:var(--archive-foreground, var(--soft-white))}.archive-item[open]+.archive-item{margin-top:var(--archive-open-following-text-space)}.archive-item .item-info[data-field=when]{color:var( --archive-foreground, color-mix(in oklch, var(--color-black) 65%, var(--color-white)) )}.archive-item:hover:not(.archive-item--hidden) .item-info[data-field=when]{color:var(--archive-foreground, var(--color-white))}.archive-item[open]:not(.archive-item--hidden) .item-info[data-field=when]{color:var(--archive-foreground, var(--soft-white))}@media(max-width:768px){.archive-item{--archive-row-height: 1.25rem;--archive-open-height: 100dvh;--archive-gallery-padding: 1rem;--archive-open-gallery-space: 1rem;align-items:baseline;margin-bottom:0;border:none}.archive-item[open]{width:calc(100% + 2rem);margin-inline:-1rem}}.item-info{box-sizing:border-box;padding:.125rem 0;color:var(--archive-foreground, inherit);width:100%}.archive-item .item-info[data-field=who],.archive-item .item-info[data-field=what]{font-family:var(--font-readme);font-size:1rem}.archive-item .item-info[data-field=when]{position:relative;padding-left:0;top:0;font-family:var(--font-readme);font-size:1rem}.archive-item:not([open]) .item-info{pointer-events:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-item a{color:var(--archive-foreground, var(--text-color));width:100%;background-color:var(--color-transparent);padding-inline:1rem;padding-block:.5rem}.archive-item .item-id-link .item-id{padding:0}.archive-item>summary{display:flex;position:relative;align-items:baseline;height:var(--archive-row-height);width:100%;list-style:none}.archive-item>summary::-webkit-details-marker{display:none}.archive-item[open]>summary{height:100%}.archive-summary-content{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:absolute;left:0;bottom:calc(-1 * var(--archive-row-text-offset));align-items:baseline;gap:1rem;width:100%;pointer-events:none}.archive-item[open] .archive-summary-content{bottom:calc(100% - var(--archive-row-height) - var(--archive-row-text-offset));left:2rem;width:calc(100% - 3rem);z-index:1}.archive-item>summary:after{content:"+";position:absolute;top:0;right:1rem;font-size:1rem}.archive-item[open]>summary:after{content:"\2212";right:2rem}.archive-item .item-id-link{border:none;background-color:var(--main-bg);position:relative;display:flex;align-items:baseline;padding:0;color:var(--archive-foreground, inherit);text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:var(--special-color-off);transition:color .2s var(--hover-transition-timing),background-color var(--archive-background-duration, .2s) var(--hover-transition-timing);pointer-events:auto}.archive-item:hover .item-id-link{color:var(--archive-foreground, var(--soft-white));background-color:var(--archive-active-background, var(--special-color))}.archive-item a.item-id-link:after{content:"\2192";position:relative;z-index:1;margin-left:auto;font-size:1rem;color:var(--color-black);opacity:1;transform:translate(-1px)}.archive-item a.item-id-link:is(:hover,:focus-visible):after{color:var(--color-white)}.archive-item a.item-id-link .item-id{flex:0 0 auto;width:auto}.archive-item a.item-id-link:is(:hover,:focus-visible){color:var(--archive-foreground, var(--color-white));background-color:var(--archive-active-background, var(--special-color))}.archive-item:hover a.item-id-link:is(:hover,:focus-visible){color:var(--archive-foreground, var(--color-white));background-color:var(--archive-active-background, var(--special-color));border:0}.archive-item:hover .item-id-link .item-id,.archive-item:hover .item-id-link .item-id *{color:var(--archive-foreground, var(--soft-black));background-color:var(--color-transparent)}.archive-item .item-id-link:is(:hover,:focus-visible) .item-id,.archive-item .item-id-link:is(:hover,:focus-visible) .item-id *{color:var(--archive-foreground, inherit);background-color:var(--color-transparent)}.archive-item[open] .item-id-link{flex:0 0 auto;min-height:2rem;gap:1rem;padding:0;color:var(--archive-foreground, var(--soft-white));background-color:var(--archive-active-background, var(--special-color))}.archive-item[open] a.item-id-link:is(:hover,:focus-visible){color:var(--archive-foreground, var(--color-white));background-color:var(--archive-active-background, var(--special-color))}.archive-item .item-id-link:hover:not(:focus-visible){border:0;outline:none;box-shadow:none}.archive-item[open] .item-id-link .item-id{margin-left:0}.archive-item[open] .item-id-link .item-id,.archive-item[open] .item-id-link .item-id *{color:var(--archive-foreground, inherit);background-color:var(--color-transparent)}.archive-item .item-id-link:focus-visible,.hashtag-button:focus-visible,.archive-filters:focus-visible{outline:.2rem solid var(--special-color);outline-offset:-.2rem}.archive-item .item-id-link:focus-visible{outline:none}.item-id-link--disabled{color:var(--archive-foreground, inherit);width:100%;background-color:var(--color-transparent);padding:0;pointer-events:none}@media(max-width:768px){.archive-item .item-id-link{align-items:center}.archive-item[open] .item-id-link{padding-block:.25rem;color:var(--archive-foreground, var(--color-white));background-color:var(--archive-active-background, var(--special-color))}.archive-item[open] .item-id-link .item-id,.archive-item[open] .item-id-link .item-id *{color:var(--archive-foreground, inherit);background-color:transparent}.archive-item .item-id{align-items:center}}.item-id{padding:0;font-style:normal;color:var(--archive-foreground, inherit);width:100%;display:flex;align-items:baseline}.id-number,.item-id .id-letter{color:var(--archive-foreground, inherit);font-family:inherit}.image-container{display:none;-webkit-overflow-scrolling:touch;transition:padding .12s var(--hover-transition-timing)}.archive-project-details{display:flex;flex-direction:column;gap:1rem;min-width:0;font-family:var(--font-readme);font-size:1rem;line-height:1.4;text-align:left;overflow-wrap:break-word;white-space:normal}.archive-project-details .project-summary,.archive-project-details .project-description{display:block}.archive-item .project-summary{text-transform:uppercase}.archive-project-details a{display:inline;width:auto;padding:0;white-space:nowrap}.archive-item .image-container>.archive-project-details{display:none;text-transform:none}.archive-item .image-container>.archive-project-details,.archive-item .image-container>.archive-project-details *{color:var(--color-white)}.archive-item[open] .image-container>.archive-project-details,.archive-item:hover:not([open]) .image-container>.archive-project-details{display:flex;flex:0 0 calc((100vw - 5rem)/2);align-self:flex-start;max-height:100%;overflow-y:auto;cursor:text;-webkit-user-select:text;user-select:text;margin-right:1rem}.archive-item:hover:not([open]) .image-container>.archive-project-details{padding-top:1rem;padding-left:1rem}.archive-item[open] .image-container>.archive-project-details{flex-basis:calc((100vw - 1rem)/2);padding-left:3rem;padding-bottom:1rem;scrollbar-width:thin}@media(max-width:768px){.archive-item[open] .image-container>.archive-project-details,.archive-item:hover:not([open]) .image-container>.archive-project-details{flex-basis:calc(100vw - 4rem)}.archive-item[open] .image-container>.archive-project-details{flex-basis:calc(100vw - 2rem);padding-left:0}}.archive-item[open] .image-container{display:flex;position:absolute;z-index:3;top:var(--archive-gallery-top);left:0;right:0;bottom:0;overflow-y:hidden;overflow-x:auto;padding:var(--archive-gallery-padding);padding-left:0;padding-top:calc(var(--archive-gallery-padding) + var(--archive-open-gallery-space));gap:4rem;scrollbar-width:none;pointer-events:auto;width:100%;background-color:var(--color-black);color:var(--archive-foreground, var(--main-bg));transition:padding .12s var(--hover-transition-timing),color .6s var(--transition-timing),background-color .6s var(--transition-timing)}.archive-item:hover:not([open]) .image-container{display:flex;position:absolute;z-index:3;top:calc(100% + var(--archive-row-text-offset));left:0;right:0;height:calc(var(--archive-preview-height) - var(--archive-row-text-offset));overflow:hidden;padding:0;gap:1rem;background:var(--color-black)}.archive-item:hover:not([open]) .image-container img,.archive-item:hover:not([open]) .image-container>video,.archive-item:hover:not([open]) .image-container>.archive-video-player{height:max(1px,var(--archive-media-height));max-height:none}@media(max-width:768px){.archive-item[open] .image-container{gap:1rem;padding:1rem;padding-top:calc(1rem + var(--archive-open-gallery-space))}}@media(hover:none),(pointer:coarse){.archive-item:not([open]):not(.archive-item--hidden):hover{margin-bottom:0;background-color:transparent;color:var(--archive-foreground, var(--text-color))}.archive-item:not([open]):hover:before{content:none;display:none}.archive-item:not([open]):hover .item-info{color:var(--archive-foreground, inherit)}.archive-item:not([open]):hover .item-id-link{color:var(--archive-foreground, inherit);background-color:transparent}.archive-item:not([open]):hover .item-id-link .item-id,.archive-item:not([open]):hover .item-id-link .item-id *{color:var(--archive-foreground, inherit);background-color:transparent}.archive-item:not([open]):hover .image-container{display:none}}.archive-item[open] .image-container::-webkit-scrollbar{display:none}.image-container img,.image-container video{pointer-events:all;height:100%;flex-shrink:0;object-fit:cover;opacity:1;scrollbar-width:none;margin:0}.image-container video{opacity:1}.image-container::-webkit-scrollbar{display:none}@media(max-width:768px){.archive-headers #filter-what,.archive-item .item-info[data-field=what]{display:none}.archive-headers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.archive-summary-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;min-height:var(--archive-row-height);gap:1rem;bottom:0}.archive-item[open] .archive-summary-content{display:grid;left:1rem;top:0;bottom:auto;width:calc(100% - 2rem);height:var(--archive-row-height)}.archive-item>summary:after{content:none;display:none}.archive-item .item-info{min-width:0;padding:0;font-family:var(--font-readme);font-size:1rem}.archive-item .item-info[data-field=who]{flex:1 1 auto;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-item .item-info[data-field=when]{position:static;top:auto;flex:0 0 auto;width:auto;padding:0;font-family:var(--font-readme);font-size:1rem;text-align:left}.archive-item .item-id-link{font-family:var(--font-readme);font-size:1rem}.archive-item[open] .item-id-link{width:100%;padding-inline:.5rem;display:flex}}.archive-item .item-id,.archive-item .item-id-link{font-size:var(--display-type-size)}.archive-item--hidden{--archive-foreground: var(--color-gray);--archive-active-background: var(--color-black);--text-color: var(--archive-foreground);color:var(--archive-foreground)}.archive-item--hidden:hover,.archive-item--hidden[open]{--main-bg: var(--color-black)}.archive-item--hidden>summary:after,.archive-item--hidden .item-id-link:after{display:none}.archive-item--hidden:hover .image-container,.archive-item--hidden[open] .image-container{display:flex;align-items:center;justify-content:center;padding:1rem}.archive-nda{width:auto;font-family:var(--font-display);font-size:var(--display-type-size)}@keyframes blink{0%{opacity:1}50%{opacity:.2}to{opacity:1}}.blinking{animation:blink .1s var(--transition-timing)}.hashtag-container{margin-bottom:2rem;padding:0rem}.archive-controls{margin-top:4rem}.hashtag-pool{margin:1rem;column-count:4;font-style:normal}@media(max-width:768px){.hashtag-pool{column-count:2}}.hashtag-pool{font-size:1rem;padding-top:1rem;margin:0}.hashtag{font-size:1rem;overflow:hidden;margin:0;padding:0;border:0;background-color:var(--color-transparent);color:inherit;cursor:default;break-inside:avoid}.hashtag-button{font-family:var(--font-readme);font-size:1rem;display:block;width:100%;padding:.125rem 0;border:0;background-color:var(--main-bg);color:var(--text-color);cursor:pointer;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:var(--special-color-off);transition:color .2s var(--hover-transition-timing),background-color .2s var(--hover-transition-timing)}@media(max-width:768px){.hashtag-pool{padding-block:1rem}.hashtag-button{height:auto}}.hashtag-pool .hashtag-button:is(:hover,:focus-visible),.hashtag.selected .hashtag-button{font-style:normal;background-color:var(--text-color);color:var(--main-bg)}.hashtag--reset .hashtag-button:is(:hover,:focus-visible){background-color:var(--special-color);color:var(--soft-white)}@media(prefers-reduced-motion:reduce){.archive-item,.archive-filters,.archive-item .item-id-link,.archive-item a.item-id-link:after,.hashtag-button,.projects-navigator #next-project,#design-brief p,#dev-brief p,#home-sticky a,a.extr-link,.extr-link>a{animation:none;transition-duration:.01ms}.blinking{animation:none}}footer{margin-top:30svh;display:flex;flex-direction:column}@media(max-width:758px){footer{margin:0rem;margin-top:30svh}}.footer-wrapper{margin:1rem}@media(max-width:758px){.footer-wrapper{margin:0 .5rem}}.footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;width:100%;margin-top:1rem;align-items:baseline}@media(max-width:758px){.footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}#contact-details{grid-column:3 / span 2}}.footer-columns h4{font-family:var(--font-display);font-style:normal;border-bottom:var(--border-def);margin-bottom:1rem}.footer-columns>div{flex:1}#design-brief p,#dev-brief p{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:var(--special-color-off);transition:color .2s var(--hover-transition-timing),background-color .2s var(--hover-transition-timing)}#design-brief p:is(:hover,:focus-visible),#dev-brief p:is(:hover,:focus-visible){color:var(--main-bg);background-color:var(--soft-black);text-decoration:none;border:none}#design-brief p:focus-visible,#dev-brief p:focus-visible{outline:.2rem solid var(--special-color);outline-offset:-.2rem}#home:hover{cursor:pointer;text-decoration:underline;border:none;color:var(--special-color)}.extr-link a{border:none;color:inherit;text-decoration:none;cursor:pointer}@media(max-width:758px){.extr-link a,#design-brief,#dev-brief{display:none}}.extr-link a:hover{cursor:pointer;text-decoration:none;border:none;background:var(--special-color);color:var(--main-bg)}.footer-note{margin-top:20vh;margin-bottom:1rem;padding-inline:1rem;justify-content:flex-start;display:flex}.footer-note p{white-space:nowrap}@media(max-width:758px){.footer-note{margin-top:5rem}.footer-note p{max-width:none;font-size:1rem;white-space:normal;display:flex;flex-direction:column}.footer-note-separator{display:none}}img{max-height:100%;display:block;height:auto}video{max-height:100%;display:block}.project-image img,.project-image video,.project-image .project-media{transition:opacity .4s var(--transition-timing);position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.project-image{position:relative;overflow:hidden;min-height:300px}.image-loading-host{position:relative}.image-load-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;pointer-events:none;width:1.5rem;height:1.5rem;color:var(--color-white);opacity:0;transition:opacity .2s var(--transition-timing)}.image-load-indicator-bar{position:absolute;left:47%;top:8%;width:6%;height:52%;border-radius:999px;background:currentColor;opacity:.6;transform-origin:center 350%;transform:rotate(calc(var(--bar-index) * 30deg));animation:image-load-indicator-fade 1s linear infinite;animation-delay:calc(var(--bar-index) * -.0833s)}.image-load-indicator.is-visible{opacity:1}.image-load-indicator.is-finished{opacity:0}@keyframes image-load-indicator-fade{0%{opacity:1}to{opacity:.2}}video.project-media,video.archive-media-video{object-fit:cover;background-color:var(--color-black)}.video-player{position:relative;display:block;min-width:0;overflow:hidden;background-color:var(--color-black)}.video-player>video{display:block}.project-video-player{width:50%}.project-video-player>video.project-media{width:100%;height:auto}.archive-video-player{height:100%;aspect-ratio:var(--video-aspect-ratio, 16 / 9);flex:0 0 auto}.archive-video-player>video.archive-media-video{width:100%;height:100%}.video-player-controls{position:absolute;z-index:1;inset:0 0 auto;display:grid;grid-template-columns:auto auto minmax(1rem,1fr) auto auto;align-items:center;gap:.65rem;padding:.55rem .65rem;color:var(--color-white);background-color:var(--color-black);font-family:var(--font-readme);font-size:1rem;letter-spacing:.025em;opacity:0;transform:translateY(-100%);transition:opacity .12s var(--hover-transition-timing),transform .12s var(--hover-transition-timing)}.video-player:is(:hover,:focus-within,.is-paused,.is-unmuted) .video-player-controls{opacity:1;transform:translateY(0)}.video-control-button{border:0;border-radius:0;padding:0;color:inherit;background:transparent;font:inherit;white-space:nowrap;cursor:pointer}.video-control-button:focus-visible,.video-control-timeline:focus-visible{outline:1px solid currentColor;outline-offset:3px}.video-control-time{color:var(--color-white);font-variant-numeric:tabular-nums}.video-control-timeline{position:absolute;z-index:2;inset:auto 0 0;width:100%;height:1rem;margin:0;padding:0;box-sizing:border-box;appearance:none;border:0;border-radius:0;background-color:var(--color-black);background-image:linear-gradient(var(--color-white),var(--color-white));background-repeat:no-repeat;background-position:left center;background-size:var(--video-progress, 0%) 100%;cursor:pointer;touch-action:manipulation;transition:background-size .2s var(--hover-transition-timing)}.video-control-timeline::-webkit-slider-thumb{width:0;height:1rem;appearance:none;border:0;border-radius:0;background:transparent}.video-control-timeline::-webkit-slider-runnable-track{height:1rem;background:transparent}.video-control-timeline::-moz-range-track{height:1rem;border:0;background:transparent}.video-control-timeline::-moz-range-thumb{width:0;height:1rem;border:0;border-radius:0;background:transparent}@media(pointer:coarse){.video-player-controls{opacity:1;transform:translateY(0)}}@media(max-width:768px){.project-video-player{width:calc(100% - 2rem)}.video-player-controls{grid-template-columns:auto auto minmax(.5rem,1fr) auto;gap:.45rem;padding:.55rem .5rem}.video-control-fullscreen{display:none}}
