:root{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#f5f5f3;background:#080808;font-synthesis:none;font-weight:400;-webkit-font-smoothing:antialiased;--muted:#b8b8b8;--edge:rgba(255,255,255,.24)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:760px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:1px solid #fff;outline-offset:7px}button svg,a svg{flex-shrink:0}main{position:relative;isolation:isolate;min-height:100svh;padding-bottom:2.1vw;overflow:hidden;background:#080808}.hero-photo{position:absolute;z-index:-1;inset:0 0 auto;height:49.47vw;max-height:1100px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.site-header{height:6.25vw;min-height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 3.4vw 0 2.75vw;position:relative;z-index:2}.brand{display:block;width:133px}.brand img{width:100%;height:auto;display:block}.site-header nav{display:flex;align-items:center;gap:3.1vw;font-size:16px}.site-header nav button{position:relative;padding:12px 0}.site-header nav button:after{content:"";position:absolute;bottom:5px;left:0;right:0;border-bottom:1px solid;transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav button:hover:after{transform:scaleX(1)}.hero{height:34.65vw;position:relative}.hero-content{position:absolute;left:6.25vw;top:2.3vw}.eyebrow{font-size:12px;letter-spacing:5.1px;color:#929292;margin:0 0 1.85vw;display:flex;gap:21px;align-items:center}.eyebrow span{color:#666}h1{font-size:6.78vw;font-weight:400;line-height:.985;letter-spacing:-.32vw;margin:0}h1>span{display:block;white-space:nowrap}h1 em{font-style:normal;color:#cecece;transition:color .5s,letter-spacing .8s}h1 em:hover{color:#fff;letter-spacing:-.42vw}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:16px;text-align:left}.text-link svg{transition:transform .3s}.text-link:hover svg{transform:translate(6px)}.hero-cta{margin-top:3.45vw;font-size:17px;gap:26px}.selected-work{margin:0 1.63vw;border:1px solid var(--edge);border-radius:26px;padding:25px 4.6vw 24px;background:#1b1b1b7a;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);position:relative;transition:border-color .3s}.selected-work:focus{outline:none;border-color:#ffffff80}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.section-heading h2{font-size:14px;font-weight:400;margin:0}.all-work{font-size:14px;gap:9px}.all-work svg{width:25px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-card{display:block;text-align:left;min-width:0;width:100%}.project-title{display:flex;align-items:center;justify-content:space-between;margin-top:11px;gap:15px}.project-title h3{font-size:19px;font-weight:400;letter-spacing:-.45px;margin:0}.project-title svg{transition:transform .3s}.project-card:hover .project-title svg{transform:translate(4px)}.project-card>p{font-size:14px;color:#cecece;margin:3px 0 0;line-height:1.5}.overlay{color:#f5f5f3;background:#111;border:1px solid #444;border-radius:24px;width:min(1130px,88vw);max-height:88svh;padding:0;box-shadow:0 40px 150px #0008}.overlay::backdrop{background:#000000c7;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.overlay-inner{padding:56px;position:relative}.close{position:absolute;top:20px;right:20px;border:1px solid #444;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;z-index:1;transition:background .2s}.close:hover{background:#333}.detail-label{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin:0 0 24px}.overlay h2{font-size:clamp(32px,4.4vw,68px);font-weight:400;letter-spacing:-2px;line-height:1.05;margin:0 0 38px;max-width:840px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery .project-title h3{font-size:17px}.gallery .project-card>p{font-size:12px}.detail-image{width:100%;display:block;max-height:48vh;object-fit:contain;background:#090909}.detail-bottom{display:flex;gap:50px;align-items:flex-start;justify-content:space-between;margin-top:24px}.detail-bottom p{max-width:620px;font-size:17px;line-height:1.6;color:#ccc;margin:0}.detail-bottom span{font-size:12px;color:#888;white-space:nowrap;padding-top:5px}.next-project{margin-top:28px;float:none}.about-copy{max-width:730px}.about-copy p{font-size:23px;line-height:1.6;color:#bbb}.about-copy .text-link{margin-top:20px}.services{margin-top:50px}.service{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;padding:24px 0;border-top:1px solid #363636}.service h3{font-weight:400;font-size:22px;margin:0}.service p{color:#aaa;font-size:15px;margin:0}.contact-content>p{font-size:21px;color:#aaa}.email-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #555;padding:20px 0;margin-top:35px}.email-row a{font-size:clamp(25px,3vw,44px);display:flex;align-items:center;gap:30px}.copy{padding:12px}.contact-content .demo-note{font-size:12px;color:#888}.contact-content [role=status]{font-size:13px;min-height:20px;display:block;color:#ccc}@keyframes dialog-in{0%{opacity:0;transform:scale(.96) translateY(6px)}72%{opacity:1;transform:scale(1.004) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}@media(min-width:1800px){.site-header nav{font-size:18px}.brand{width:155px}.selected-work{padding-top:30px;padding-bottom:45px}.project-title h3{font-size:23px}.project-card>p,.section-heading h2,.all-work{font-size:16px}.hero-cta{font-size:20px}.eyebrow{font-size:14px}}@media(max-width:1100px){.site-header{min-height:72px}.brand{width:110px}.site-header nav{font-size:14px}.hero-content{top:1.6vw}.eyebrow{font-size:10px;letter-spacing:3px;gap:15px}.hero-cta{margin-top:2.5vw;font-size:14px}.hero-cta svg{width:32px}.selected-work{padding:20px 4.5vw 27px;border-radius:22px}.project-grid{gap:18px}.project-title h3{font-size:16px}.project-card>p{font-size:12px}.section-heading h2,.all-work{font-size:12px}.section-heading{margin-bottom:14px}.overlay-inner{padding:42px}.service{grid-template-columns:1fr 1fr}.service p{grid-column:2}.gallery{gap:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.hero-photo{-webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent 100%);mask-image:linear-gradient(to bottom,#000 72%,transparent 100%)}h1>span:nth-child(2){letter-spacing:-.4vw}h1>span:nth-child(3){letter-spacing:-.47vw}h1 em{position:relative;isolation:isolate}h1 em:before{content:"";position:absolute;z-index:-1;top:-25%;right:-18%;bottom:-25%;left:-18%;background:url(/assets/type-guides.png) center/100% 100% no-repeat;opacity:.5;pointer-events:none}.hero-cta{margin-top:2.7vw}h1 em:before{opacity:.8;filter:brightness(3)}.brand{width:118px}.brand img{height:23px;width:auto}.hero-photo{filter:none}.particle-photo>.particle-original{filter:grayscale(1)}.particle-surface{position:relative;display:inline-block}.particle-photo{width:100%;height:100%;display:block}.particle-type{vertical-align:baseline;line-height:inherit}.particle-surface canvas{position:absolute;pointer-events:none;opacity:0}.particle-photo canvas{top:0;right:0;bottom:0;left:0;width:100%;height:100%}.particle-type canvas{left:-256px;top:-256px;width:calc(100% + 512px);height:calc(100% + 512px)}.particle-surface[data-particles=active]>.particle-original{opacity:0}.particle-surface[data-particles=active]>canvas{opacity:1}h1 em:hover{color:#cecece;letter-spacing:inherit}@media(prefers-reduced-motion:reduce){.particle-surface canvas{display:none}}.particle-photo>.particle-underlay{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;object-fit:cover;object-position:center top}.particle-photo>.particle-original{position:relative}.particle-photo[data-ready=true]>.particle-underlay{opacity:1}.text-baseline{display:inline-block;width:0;height:0;vertical-align:baseline}.particle-surface[data-ready=true]>.particle-original{opacity:0}.particle-surface[data-ready=true]>canvas{opacity:1}.project-grid,.gallery{row-gap:36px}.project-card{transition:filter .4s ease}.project-image{aspect-ratio:1;position:relative;overflow:hidden;background:#151515;isolation:isolate}.project-image-open,.project-slides{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.project-image img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;display:block;opacity:0;transition:none;pointer-events:none}.project-image img.is-current{opacity:1}.project-image-open:focus-visible{outline-offset:-5px;z-index:1}.project-title{width:100%;text-align:left}.carousel-arrow{position:absolute;z-index:2;box-sizing:border-box;width:36px;height:36px;min-width:36px;min-height:36px;max-width:36px;max-height:36px;aspect-ratio:1;padding:0;border:1px solid #ffffff24;border-radius:50%;display:grid;place-items:center;background:#08080838;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;opacity:0;transition:opacity .22s,background .22s}.carousel-arrow{top:50%;transform:translateY(-50%)}.carousel-prev{left:12px}.carousel-next{right:12px}.carousel-arrow:hover{background:#08080885}.project-card:hover .carousel-arrow,.project-card:has(:focus-visible) .carousel-arrow,.expanded-carousel:hover .carousel-arrow,.expanded-carousel:has(:focus-visible) .carousel-arrow{opacity:1}.carousel-count{position:absolute;bottom:13px;left:50%;transform:translate(-50%);padding:5px 9px;border-radius:20px;background:#08080845;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:10px;letter-spacing:2px;color:#fff;opacity:0;pointer-events:none;transition:opacity .22s}.project-card:hover .carousel-count,.project-card:has(:focus-visible) .carousel-count,.expanded-carousel:hover .carousel-count,.expanded-carousel:has(:focus-visible) .carousel-count{opacity:1}:is(.project-grid,.gallery):has(>.project-card:hover)>.project-card:not(:hover){filter:grayscale(1) brightness(.7)}:is(.project-grid,.gallery):not(:has(>.project-card:hover)):has(>.project-card :focus-visible)>.project-card:not(:has(:focus-visible)){filter:grayscale(1) brightness(.7)}.expanded-carousel{width:min(100%,680px);margin:0 auto}.expanded-carousel .carousel-arrow{opacity:.7}.selected-work{scroll-margin-top:28px;padding-bottom:36px}@media(prefers-reduced-motion:reduce){.project-card,.project-image img,.carousel-arrow,.carousel-count{transition:none}}:root{color-scheme:dark;scrollbar-color:#505050 #111;scrollbar-width:thin}.overlay{color-scheme:dark;scrollbar-color:#505050 #111;scrollbar-width:thin;overscroll-behavior:contain}.overlay::-webkit-scrollbar{width:7px;height:7px}.overlay::-webkit-scrollbar-track{background:#111;border-radius:8px}.overlay::-webkit-scrollbar-thumb{background:#505050;border:2px solid #111;border-radius:8px}.overlay::-webkit-scrollbar-thumb:hover{background:#707070}.project-overlay{--lightbox-size:min(85dvh, calc(100vw - 48px) );--dialog-rest-width:calc(var(--lightbox-size) - var(--heading-height) - var(--footer-height) - 2 * var(--content-gap));width:var(--dialog-rest-width);height:var(--lightbox-size);max-width:none;max-height:none;position:fixed;inset:auto;left:calc((var(--viewport-width,100vw) - var(--dialog-rest-width))/2);top:calc((100dvh - var(--lightbox-size))/2);margin:0;overflow:hidden;border-radius:16px}.project-overlay{--frame-padding:24px;--heading-height:40px;--footer-height:22px;--content-gap:16px}.project-overlay .overlay-inner{height:100%;width:calc(100% - 2 * var(--frame-padding));margin-inline:auto;padding:var(--frame-padding) 0;display:grid;grid-template-rows:var(--heading-height) minmax(0,1fr) var(--footer-height);gap:var(--content-gap)}.project-overlay .detail-top{min-width:0;padding-right:48px;display:flex;flex-direction:column;justify-content:flex-start}.project-overlay .detail-label{font-size:9px;letter-spacing:1.6px;margin:0 0 5px;line-height:1.2}.project-overlay h2{font-size:22px;letter-spacing:-.6px;line-height:1.1;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-overlay .close{top:var(--frame-padding);right:0;width:32px;height:32px}.project-overlay .expanded-carousel{height:100%;width:auto;max-width:100%;aspect-ratio:1;justify-self:center;margin:0}.project-navigation{display:flex;justify-content:space-between;align-items:flex-end;min-width:0;gap:20px}.project-navigation .text-link{margin:0;font-size:12px;gap:12px}.project-navigation .previous-project:hover svg{transform:translate(-6px)}.project-navigation .text-link svg{width:22px;height:22px}@media(max-height:600px){.project-overlay{--frame-padding:16px;--heading-height:33px;--content-gap:10px}.project-overlay h2{font-size:18px}.project-overlay .detail-label{font-size:8px;margin-bottom:3px}.project-overlay .close{width:28px;height:28px}}html.intro-lock{overflow:hidden}.particle-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#080808;pointer-events:auto;opacity:1;transition:opacity 1.8s ease-in-out}.particle-intro canvas{display:block;width:100%;height:100%}.intro-static-logo{display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:230px;max-width:40vw}.portfolio-shell>main{transition:opacity 1.8s ease-in-out,transform 1.8s cubic-bezier(.22,.61,.36,1)}.intro-loading>main{opacity:0;transform:translateY(14px)}.intro-revealing>main,.intro-ready>main{opacity:1;transform:none}.intro-revealing .particle-intro{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.particle-intro canvas{display:none}.intro-static-logo{display:block}.intro-loading>main{transform:none}.particle-intro,.portfolio-shell>main{transition:opacity .4s ease!important}}.overlay:not(.project-overlay){overflow:hidden;padding:12px 0}.overlay:not(.project-overlay)>.overlay-inner{max-height:calc(88svh - 26px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#505050 #111}.overlay:not(.project-overlay)>.overlay-inner::-webkit-scrollbar{width:7px}.overlay:not(.project-overlay)>.overlay-inner::-webkit-scrollbar-track{background:#111;border-radius:8px}.overlay:not(.project-overlay)>.overlay-inner::-webkit-scrollbar-thumb{background:#505050;border:2px solid #111;border-radius:8px}.overlay:not(.project-overlay)>.overlay-inner::-webkit-scrollbar-thumb:hover{background:#707070}.portfolio-shell>main{overflow:clip}.hero-stage{--hero-progress:0;position:relative;height:124svh}.hero-screen{position:sticky;top:0;height:100svh;isolation:isolate;overflow:clip;background:#080808}.hero-screen .hero-photo{height:min(100svh,65vw);max-height:none;transform-origin:75% 40%;transform:scale(calc(1 - var(--hero-progress) * .065));will-change:transform}.hero-screen .site-header{height:max(78px,6.25vw)}.hero-screen .hero{height:calc(100svh - max(78px,6.25vw))}.hero-screen .hero-content{top:45%;transform:translateY(calc(-50% - var(--hero-progress) * var(--hero-copy-lift,42px)));will-change:transform}.hero-stage+.selected-work{margin-top:-24svh;z-index:2}@media(prefers-reduced-motion:reduce){.hero-screen .hero-photo{transform:none}.hero-screen .hero-content{transform:translateY(-50%)}}.hero-screen .eyebrow{opacity:calc(1 - var(--hero-progress));will-change:opacity}:root{--accent-slate:#b0b3c4;--accent-blue:#aac1e0;--accent-aqua:#98f7fd;--accent-butter:#fef3b1;--accent-rose:#fbbac2;--accent-coral:#ff9595;--accent-stops:var(--accent-slate),var(--accent-blue),var(--accent-aqua),var(--accent-butter),var(--accent-rose),var(--accent-coral)}.intro-static-logo{height:auto;aspect-ratio:253/49;background:linear-gradient(101deg,var(--accent-stops));mask:url(/assets/zda-wordmark.svg) center/contain no-repeat;-webkit-mask:url(/assets/zda-wordmark.svg) center/contain no-repeat}@property --dialog-hue-angle{syntax:"<angle>";initial-value:0deg;inherits:false}.overlay{border:1px solid #444;background:#111}.overlay[open]{animation:dialog-in .42s cubic-bezier(.22,.61,.36,1)}@keyframes dialog-border-drift{to{--dialog-hue-angle:360deg}}@media(prefers-reduced-motion:reduce){.overlay[open]{animation:none}}.overlay.project-overlay,.overlay.work-overlay{border:1px solid #444;background:#111}.overlay.project-overlay[open],.overlay.work-overlay[open]{animation:dialog-in .42s cubic-bezier(.22,.61,.36,1)}.site-header nav{font-size:13px;gap:26px;font-weight:400}@media(min-width:1800px){.site-header nav{font-size:14px;gap:30px}}@media(max-width:1100px){.site-header nav{font-size:12px;gap:22px}}html{scrollbar-gutter:stable}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.work-filters{display:flex;align-items:center;gap:clamp(18px,2vw,34px);flex-wrap:wrap}.work-filters button{position:relative;padding:8px 0;font-size:14px;line-height:1.3;color:#858585;transition:color .2s;white-space:nowrap}.work-filters button:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.work-filters button:hover{color:#d7d7d7}.work-filters button[aria-pressed=true]{color:#f5f5f3}.work-filters button[aria-pressed=true]:after{transform:scaleX(1)}.selected-work .section-heading{gap:24px}@media(min-width:1800px){.work-filters button{font-size:16px}}@media(max-width:1100px){.work-filters{gap:20px}.work-filters button{font-size:12px}}@media(prefers-reduced-motion:reduce){.work-filters button,.work-filters button:after{transition:none}}#filtered-projects{position:relative;align-content:start}.work-exit-particles{position:absolute;pointer-events:none;z-index:3}.project-overlay{transition:left .55s cubic-bezier(.22,.61,.36,1),top .55s cubic-bezier(.22,.61,.36,1),width .55s cubic-bezier(.22,.61,.36,1),height .55s cubic-bezier(.22,.61,.36,1),border-radius .55s ease}.project-overlay .overlay-inner{transition:padding .55s cubic-bezier(.22,.61,.36,1),grid-template-rows .55s cubic-bezier(.22,.61,.36,1),gap .55s cubic-bezier(.22,.61,.36,1)}.project-overlay .detail-top,.project-overlay .project-navigation{transition:opacity .2s ease,visibility .2s ease}.project-overlay .close{z-index:5}.project-overlay.is-fullscreen{width:var(--viewport-width,100vw);height:100dvh;border-radius:0;left:0;top:0}.project-overlay.is-fullscreen .overlay-inner{padding-block:12px;grid-template-rows:0 minmax(0,1fr) 0;gap:0}.project-overlay.is-fullscreen .detail-top,.project-overlay.is-fullscreen .project-navigation{opacity:0;visibility:hidden;pointer-events:none;overflow:hidden}.project-zoom-target{cursor:zoom-in}.project-zoom-target.is-zoomed{cursor:zoom-out}.project-window-controls{position:absolute;top:var(--frame-padding);right:0;z-index:5;display:flex;gap:8px}.overlay .window-control,.back-to-top{width:36px;height:36px;min-width:36px;aspect-ratio:1;padding:0;border:1px solid #444;border-radius:50%;display:grid;place-items:center;background:#111b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s}.overlay .window-control:hover,.back-to-top:hover{background:#333}.project-overlay .detail-top{padding-right:88px}@media(prefers-reduced-motion:reduce){.project-overlay,.project-overlay .overlay-inner,.project-overlay .detail-top,.project-overlay .project-navigation,.window-control{transition:none}}.overlay.about-overlay{padding:0;min-height:min(640px,84svh);isolation:isolate}.about-portrait{position:absolute;right:24px;bottom:0;width:54%;height:auto;display:block;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(to right,transparent,#000 14%);mask-image:linear-gradient(to right,transparent,#000 14%)}.overlay.about-overlay>.overlay-inner{max-height:calc(88svh - 2px);padding:clamp(32px,4vw,56px);min-height:inherit;display:flex;flex-direction:column;justify-content:center}.about-overlay .detail-label,.about-overlay h2,.about-overlay .about-copy{width:45%}.about-overlay h2{font-size:clamp(32px,3.7vw,52px);line-height:1.08;letter-spacing:-1.6px;margin-bottom:28px}.about-overlay .about-copy p{font-size:clamp(16px,1.65vw,21px);line-height:1.6}.about-overlay .close{z-index:5}.creative-tools{margin-top:38px;padding-top:26px;border-top:1px solid #363636}.tools-label{margin:0 0 24px;font-size:10px;letter-spacing:2.4px;color:#929292}.creative-tools ul{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}.creative-tools li{display:flex;flex-direction:column;align-items:center;gap:12px;color:#f5f5f3}.tool-symbol{width:38px;height:38px;border:1px solid #ffffff80;border-radius:7px;display:grid;place-items:center}.adobe-symbol{display:grid;place-items:center;font-size:19px;font-weight:400;letter-spacing:-.6px}.tool-name{font-size:11px;line-height:1.4;color:#aaa;text-align:center;white-space:nowrap}@media(max-width:900px){.creative-tools ul{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:24px}}.overlay.services-overlay>.overlay-inner{padding:32px 48px}.services-overlay .detail-label{margin-bottom:20px;font-size:10px;letter-spacing:2.5px}.services-overlay h2{font-size:clamp(24px,3vw,40px);letter-spacing:-1.2px;line-height:1.15;max-width:none;white-space:nowrap;margin-bottom:26px}.services-overlay .services{margin-top:0}.services-overlay .service{padding:18px 0;grid-template-columns:1fr 1fr;gap:18px}.services-overlay .service h3{font-size:20px}.services-overlay .service p{font-size:14px;line-height:1.45}.services-overlay .creative-tools{margin-top:22px;padding-top:20px}.services-overlay .tools-label{margin-bottom:18px}@media(max-height:650px){.overlay.services-overlay>.overlay-inner{padding-block:24px}.services-overlay .service{padding-block:13px}.services-overlay .creative-tools{margin-top:16px;padding-top:16px}}.overlay .detail-label{font-size:10px;font-weight:400;letter-spacing:2.5px;line-height:1.2}.overlay{transform-origin:center}.overlay[open]::backdrop{animation:dialog-backdrop-in .36s ease both}.overlay.is-closing[open]{pointer-events:none;animation:dialog-out .28s ease-in both}.overlay.project-overlay.is-closing[open],.overlay.work-overlay.is-closing[open]{animation:dialog-out .28s ease-in both}.overlay.is-closing[open]::backdrop{animation:dialog-backdrop-out .28s ease both}@keyframes dialog-out{0%{opacity:1;transform:scale(1) translateY(0)}25%{opacity:1;transform:scale(1.002) translateY(0)}to{opacity:0;transform:scale(.96) translateY(6px)}}@keyframes dialog-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-backdrop-out{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.overlay[open],.overlay.project-overlay[open],.overlay.work-overlay[open]{animation:dialog-backdrop-in .15s ease both}.overlay.is-closing[open],.overlay.project-overlay.is-closing[open],.overlay.work-overlay.is-closing[open]{animation:dialog-backdrop-out .15s ease both}.overlay[open]::backdrop,.overlay.is-closing[open]::backdrop{animation-duration:.15s}}.overlay:not(.project-overlay):not(.work-overlay):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;padding:1px;border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--dialog-hue-angle),var(--accent-stops),var(--accent-slate));mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .16s ease}.overlay:not(.project-overlay):not(.work-overlay)[open]:after{animation:dialog-border-reveal 2.4s .45s ease-in-out forwards,dialog-border-drift 18s linear infinite}.overlay:not(.project-overlay):not(.work-overlay).is-closing:after{animation:none;opacity:0}@keyframes dialog-border-reveal{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.overlay:not(.project-overlay):not(.work-overlay)[open]:after{animation:dialog-border-reveal .3s .15s ease forwards}.overlay:not(.project-overlay):not(.work-overlay).is-closing:after{animation:none;opacity:0}}.page-end-marker{position:absolute;bottom:4px;left:0;width:1px;height:1px;pointer-events:none}.back-to-top{position:fixed;right:24px;bottom:24px;z-index:20;color:#f5f5f3;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .32s ease,transform .4s cubic-bezier(.22,.61,.36,1),visibility .32s,background .2s}.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.back-to-top{transform:none;transition:opacity .15s ease,visibility .15s}}.project-overlay.project-leaving .expanded-carousel,.project-overlay.project-leaving .detail-top{animation:project-slide-out .16s ease-in both}.project-overlay.project-entering .expanded-carousel,.project-overlay.project-entering .detail-top{animation:project-slide-in .32s cubic-bezier(.22,.61,.36,1) both}@keyframes project-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(calc(-14px * var(--project-direction)))}}@keyframes project-slide-in{0%{opacity:0;transform:translate(calc(18px * var(--project-direction)))}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.project-overlay.project-leaving .expanded-carousel,.project-overlay.project-leaving .detail-top,.project-overlay.project-entering .expanded-carousel,.project-overlay.project-entering .detail-top{animation:none}}.project-image img.slide-in{opacity:1;animation:artwork-slide-in .42s cubic-bezier(.22,.61,.36,1) both}.project-image img.slide-out{opacity:1;animation:artwork-slide-out .42s cubic-bezier(.22,.61,.36,1) both}@keyframes artwork-slide-in{0%{transform:translate(calc(100% * var(--slide-direction)))}to{transform:translate(0)}}@keyframes artwork-slide-out{0%{transform:translate(0)}to{transform:translate(calc(-100% * var(--slide-direction)))}}@media(prefers-reduced-motion:reduce){.project-image img.slide-in,.project-image img.slide-out{animation:none}}body{min-width:320px}@media(max-width:1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overlay{width:calc(100vw - 32px)}.overlay.services-overlay>.overlay-inner{padding:40px 28px 28px}.services-overlay h2{white-space:normal;font-size:32px;max-width:650px}.overlay .detail-label{padding-right:42px}}@media(max-width:700px),(max-width:1100px)and (orientation:portrait){.hero-screen .site-header{height:76px;min-height:76px;padding:12px 24px;align-items:center}.brand{width:auto}.brand img{width:98px;height:auto}.site-header nav{gap:16px;font-size:12px}.site-header nav button{min-height:44px}.hero-screen .hero{height:calc(100svh - 76px);pointer-events:none}.hero-screen .hero-content{top:22px;left:6%;right:6%;transform:translateY(calc(var(--hero-progress) * -24px));pointer-events:auto}h1{font-size:clamp(36px,7.2vw,72px);letter-spacing:-.045em;line-height:1.03}h1>span:nth-child(2),h1>span:nth-child(3){letter-spacing:-.045em}.hero-screen .eyebrow{font-size:9px;gap:12px;letter-spacing:2.6px;margin-bottom:18px}.hero-cta{font-size:13px;margin-top:22px;min-height:44px;gap:18px}.hero-cta svg{width:30px}.hero-screen .hero-photo{inset:auto 0 0;height:56svh;transform-origin:50% 100%;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 91%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 91%,transparent)}.hero-photo img{object-position:75% top}.selected-work{margin-inline:12px;padding:22px 20px 30px;border-radius:22px}.work-filters{gap:20px;flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:5px}.work-filters button{min-height:44px;font-size:12px;flex-shrink:0}.overlay.about-overlay{min-height:0}.overlay.about-overlay>.overlay-inner{padding:56px 28px 0;display:block;min-height:0}.about-overlay .detail-label,.about-overlay h2,.about-overlay .about-copy{width:100%}.about-overlay h2{font-size:34px;max-width:500px;margin-bottom:20px}.about-overlay .about-copy p{font-size:16px;line-height:1.6}.about-portrait{position:relative;width:85%;max-width:480px;right:auto;margin:0 auto;height:auto;z-index:0;-webkit-mask-image:none;mask-image:none}.overlay h2{font-size:34px;letter-spacing:-1.2px;line-height:1.1}.overlay-inner{padding:56px 24px 26px}.services-overlay .service{grid-template-columns:1fr;gap:8px;padding:18px 0}.service p{grid-column:auto}.services-overlay .service h3{font-size:19px}.services-overlay .service p{font-size:13px}.creative-tools ul{gap:20px 10px;grid-template-columns:repeat(4,minmax(0,1fr))}.tool-name{white-space:normal;font-size:10px}.email-row{gap:8px;margin-top:22px}.email-row a{font-size:clamp(18px,4.8vw,28px);gap:8px}.email-row a svg{width:22px}.copy{padding:8px}.contact-content>p{font-size:17px}.project-overlay{--frame-padding:16px;--heading-height:36px;--footer-height:36px;--content-gap:8px;--dialog-rest-width:min( calc(100vw - 24px) , calc(88dvh - 88px) );--lightbox-size:calc(var(--dialog-rest-width) + 88px)}.project-overlay .detail-label{font-size:8px;letter-spacing:1.2px;padding-right:0}.project-overlay h2{font-size:20px}.project-overlay .expanded-carousel{width:100%;height:auto;align-self:center}.project-overlay .project-navigation{gap:8px;align-items:center}.project-navigation .text-link{font-size:11px;gap:6px;min-height:36px}.project-overlay.is-fullscreen .overlay-inner{width:100%;padding:60px 0 max(12px,env(safe-area-inset-bottom))}.project-overlay.is-fullscreen .expanded-carousel{width:min(100vw,calc(100dvh - 74px));height:auto}.project-overlay.is-fullscreen .project-window-controls{right:16px;top:max(12px,env(safe-area-inset-top))}.back-to-top{right:20px;bottom:max(20px,env(safe-area-inset-bottom))}}@media(max-width:600px){.hero-screen .site-header{padding-inline:20px}.brand img{width:84px}.site-header nav{gap:12px;font-size:11px}.project-grid{grid-template-columns:1fr;row-gap:28px}.project-title h3{font-size:18px}.project-card>p{font-size:12px}.selected-work{padding:18px 14px 28px}.work-filters{gap:17px}.hero-screen .hero-photo{height:54svh}}@media(max-height:600px)and (orientation:landscape){.hero-screen .hero-content{top:35%;left:5%}h1{font-size:5.8vw}.hero-screen .eyebrow{margin-bottom:10px}.hero-cta{margin-top:12px}.hero-screen .hero-photo{height:100svh}.overlay h2{font-size:28px}}@media(hover:none),(pointer:coarse){.carousel-arrow{opacity:.85;width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;max-height:44px}.carousel-count{opacity:1}:is(.project-grid,.gallery):has(>.project-card:hover)>.project-card:not(:hover){filter:none}.particle-type{-webkit-user-select:none;user-select:none}.overlay .window-control{width:44px;height:44px}.project-overlay .detail-top{padding-right:100px}}.overlay:focus{outline:none}.project-image{touch-action:pan-y pinch-zoom}@media(max-width:700px),(max-width:1100px)and (orientation:portrait){.hero-screen .hero-photo{transform:translate3d(0,calc(var(--hero-photo-progress,var(--hero-progress)) * -22svh),0) scale(calc(1 - var(--hero-photo-progress,var(--hero-progress)) * .29))}h1{font-size:clamp(38px,8.1vw,78px)}.hero-cta{margin-top:10px}.project-title{margin-top:6px;min-height:0;line-height:1.15}.project-title svg{width:24px;height:24px}.project-card>p{margin-top:0;line-height:1.3}}@media(hover:none),(pointer:coarse){.overlay .window-control{width:32px;height:32px;position:relative}.overlay .window-control:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%}.overlay .window-control svg{width:19px;height:19px}.overlay .close.window-control{position:absolute}.project-overlay .detail-top{padding-right:78px}.project-window-controls{gap:12px}}.hero-screen .hero-photo{overflow:visible;-webkit-mask-image:none;mask-image:none}.particle-photo>canvas:not(.particle-underlay){inset:auto;left:-128px;top:-128px;width:calc(100% + 256px);height:calc(100% + 256px)}.particle-photo>.particle-original{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 6%,#000 88%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 6%,#000 88%,transparent)}@media(max-width:700px),(max-width:1100px)and (orientation:portrait){.portfolio-shell>main{padding-bottom:88px}.selected-work{padding-bottom:28px}.back-to-top{right:26px;bottom:max(32px,env(safe-area-inset-bottom))}}@media(hover:none),(pointer:coarse){.overlay .window-control{width:32px;height:32px;min-width:32px;max-width:32px;min-height:32px;max-height:32px;flex:0 0 32px;aspect-ratio:1;box-sizing:border-box}}@media(max-width:700px),(max-width:1100px)and (orientation:portrait){.selected-work{padding-top:10px}.selected-work .section-heading{margin-bottom:8px}.work-filters{padding-bottom:0}.work-filters button{padding-block:8px;min-height:38px}.work-filters button:after{bottom:3px}}@media(hover:none),(pointer:coarse){.carousel-arrow{width:32px;height:32px;min-width:32px;min-height:32px;max-width:32px;max-height:32px;flex:0 0 32px}.carousel-arrow svg{width:19px;height:19px}.carousel-arrow:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%}}.mobile-menu-toggle{display:none}.mobile-navigation{position:fixed;top:0;right:0;bottom:0;left:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;background:#080808;color:#f5f5f3;overflow:hidden;outline:none}.mobile-navigation::backdrop{background:#080808}.mobile-navigation[open]{display:flex;align-items:center;justify-content:center;animation:mobile-navigation-in .3s ease both}.mobile-navigation .mobile-navigation-top{position:absolute;inset:0 0 auto;height:76px;padding:12px 20px;display:flex;align-items:center;justify-content:space-between}.mobile-navigation-top img{width:84px;height:auto}.site-header .mobile-navigation nav{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;width:100%;font-size:clamp(34px,7vw,48px);font-weight:400;letter-spacing:-1.2px}.site-header .mobile-navigation nav button{padding:8px 24px;min-height:56px;line-height:1.2}.site-header .mobile-navigation nav button:after{display:none}html.mobile-navigation-open,html.mobile-navigation-open body{overflow:hidden}@keyframes mobile-navigation-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(max-width:700px){.site-header .desktop-navigation{display:none}.mobile-menu-toggle{display:flex;position:relative;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:8px;z-index:2}.mobile-menu-toggle span{display:block;width:27px;height:1px;background:currentColor;transform-origin:center}.mobile-menu-toggle.is-open span:first-child{transform:translateY(4px) rotate(45deg)}.mobile-menu-toggle.is-open span:last-child{transform:translateY(-4px) rotate(-45deg)}}@media(prefers-reduced-motion:reduce){.mobile-navigation[open]{animation:none}}@media(max-width:700px){.hero-screen .hero-content{left:50%;right:auto;width:max-content;max-width:90%;text-align:left;transform:translate(-50%,calc(var(--hero-progress) * -24px))}.hero-content h1{font-size:clamp(36px,10.3vw,62px)}}.mobile-navigation[open]{animation:none;opacity:0;transform:none;transition:opacity .36s ease}.mobile-navigation[open].is-visible{opacity:1}.mobile-navigation::backdrop{background:transparent}.mobile-menu-toggle span{transition:transform .42s cubic-bezier(.22,.61,.36,1)}@media(max-width:700px){.hero-content .hero-cta{transform:translateY(calc(var(--hero-progress) * -12px))}.hero-screen .hero-photo{mix-blend-mode:lighten}}@media(prefers-reduced-motion:reduce){.mobile-navigation[open],.mobile-menu-toggle span{transition:none}.hero-content .hero-cta{transform:none}}.particle-photo>.particle-original{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 6%,#000 82%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 6%,#000 82%,transparent)}@media(min-width:1101px),(min-width:701px)and (orientation:landscape){.hero-screen .hero-photo{transform:translate3d(0,4svh,0) scale(calc(1 - var(--hero-progress) * .065))}.hero-screen .hero-content{top:48%}}@media(max-width:700px),(max-width:1100px)and (orientation:portrait){.hero-screen .hero-photo{bottom:-2svh}.hero-screen .hero-content{top:calc(22px + 1svh)}}@media(prefers-reduced-motion:reduce){.hero-screen .hero-photo{transform:none}}@media(hover:none)and (pointer:coarse){.project-grid .project-card :is(.carousel-arrow,.carousel-count){opacity:var(--work-arrow-opacity,0);transition:opacity .18s linear,background .22s}.project-grid .project-card .carousel-arrow:focus-visible{opacity:.85}}@media(max-width:700px){.hero-screen .hero-photo{transform:translate3d(0,calc(var(--hero-photo-progress,var(--hero-progress)) * -14.5svh),0) scale(calc(1 - var(--hero-photo-progress,var(--hero-progress)) * .16))}}@media(max-width:700px)and (prefers-reduced-motion:reduce){.hero-screen .hero-photo{transform:none}}@media(max-width:700px){.selected-work{background:#111111e0}.work-filters button{color:#b5b5b5}.work-filters button[aria-pressed=true]{color:#f5f5f3}}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape){.hero-screen .site-header{height:58px;min-height:58px;padding:8px max(24px,env(safe-area-inset-right)) 8px max(24px,env(safe-area-inset-left))}.hero-screen .hero{height:calc(100svh - 58px)}.hero-screen .hero-content{top:20px;left:6%;right:auto;width:52%;max-width:none;transform:translateY(calc(var(--hero-progress) * -8px))}.hero-content h1{font-size:min(4.8vw,11svh);line-height:1.02;letter-spacing:-.045em}.hero-screen .eyebrow{font-size:8px;letter-spacing:2px;gap:10px;margin-bottom:10px}.hero-content .hero-cta{font-size:12px;margin-top:12px;min-height:32px;transform:none}.hero-cta svg{width:28px}.selected-work{background:#111111e0}.work-filters button{color:#b5b5b5}.work-filters button[aria-pressed=true]{color:#f5f5f3}.overlay{width:min(880px,92vw);max-height:92dvh;margin:auto}.overlay:not(.project-overlay)>.overlay-inner{max-height:calc(92dvh - 26px);padding:22px 28px;min-height:0;justify-content:flex-start}.overlay.about-overlay{min-height:0;height:86dvh}.overlay.about-overlay>.overlay-inner{height:100%;max-height:100%;padding:24px 28px;min-height:0;justify-content:flex-start}.about-overlay .detail-label,.about-overlay h2,.about-overlay .about-copy{width:55%}.about-overlay .detail-label{margin-bottom:14px}.about-overlay h2{font-size:25px;line-height:1.1;margin-bottom:12px}.about-overlay .about-copy p{font-size:14px;line-height:1.5;margin:10px 0}.about-portrait{position:absolute;right:20px;bottom:0;width:41%;height:100%;max-width:none;margin:0;object-fit:contain;object-position:center bottom;z-index:-1;-webkit-mask-image:none;mask-image:none}.overlay.services-overlay>.overlay-inner{padding:24px 28px}.overlay h2{font-size:26px;margin-bottom:18px}.overlay .close{top:12px;right:12px}.project-overlay{--frame-padding:12px;--heading-height:36px;--footer-height:28px;--content-gap:8px;--dialog-rest-width:min(720px,92vw);--lightbox-size:92dvh;width:var(--dialog-rest-width);height:var(--lightbox-size);max-height:none;margin:0;left:calc((100vw - var(--dialog-rest-width))/2);top:4dvh}.project-overlay .overlay-inner{height:100%;padding:12px 0;grid-template-rows:36px minmax(0,1fr) 28px;gap:8px}.project-overlay h2{font-size:19px;margin:0;line-height:1.15}.project-overlay .detail-label{font-size:8px;margin-bottom:3px}.project-overlay .expanded-carousel{height:100%;width:auto;max-width:100%;aspect-ratio:1;align-self:center;justify-self:center}.project-overlay .project-navigation{align-items:center}.project-navigation .text-link{font-size:11px;min-height:28px}.project-overlay .window-control{width:30px;height:30px;min-width:30px;max-width:30px;min-height:30px;max-height:30px}.project-overlay.is-fullscreen{width:100vw;height:100dvh;left:0;top:0;border-width:0}.project-overlay.is-fullscreen .overlay-inner{width:100%;padding:0;grid-template-rows:0 minmax(0,1fr) 0;gap:0}.project-overlay.is-fullscreen .expanded-carousel{height:100%;width:auto}.project-overlay.is-fullscreen .project-window-controls{top:8px;right:max(16px,env(safe-area-inset-right))}}
