:root{--bg-darker:#f1efe8;--bg:#eae8e4;--ink:#1b1c20;--muted:#7b7f88;--accent:#a8842f;--text-colour:var(--bg);--text-dark:var(--ink);--text-light:var(--bg);--grey-dark:#191a1d;--grey-med:#191a1dcc;--grey-light:#191a1d99;--grey-lighter:#191a1d33;--serif-font:"Instrument Serif", serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;overflow:hidden}body{color:var(--ink);-webkit-font-smoothing:antialiased;cursor:grab;touch-action:none;background:radial-gradient(ellipse at 50% 50%, var(--bg-darker) 0%, var(--bg) 70%);font-family:Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif}body:before{content:"";z-index:4;pointer-events:none;width:100vw;height:100vh;box-shadow:inset 30px 30px 80px 100px var(--bg);position:fixed;top:0;left:0}body.dragging{cursor:grabbing}body.hovering{cursor:pointer}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:1px solid var(--bg);outline-offset:3px;border-radius:10px}#nav :focus-visible,#introAboutBtn:focus-visible{outline:1px solid var(--muted)}#scene{opacity:0;z-index:2;display:block;position:fixed;inset:0}#scene.ready{animation:1.2s forwards scene-in}@keyframes scene-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}#canvas-backdrop{z-index:1;background:var(--bg);pointer-events:none;position:fixed;inset:0}body:not(.js) #canvas-backdrop{display:none}#fade{z-index:3;pointer-events:none;background:radial-gradient(ellipse farthest-side at 50% 50%, #f1efe800 38%, #f1efe88c 60%, #f1efe8f2 82%, var(--bg) 100%);position:fixed;inset:0}#nav{width:var(--card-w,480px);z-index:10;cursor:default;-webkit-backdrop-filter:blur(20px);background:#eae8e4cc url(/assets/grid-bg.jpg) top/100vmax 150vmax;border-radius:30px;flex-direction:column;height:62px;transition:height .55s cubic-bezier(.4,0,.2,1),width .55s cubic-bezier(.4,0,.2,1),box-shadow .55s,background .4s;display:flex;position:fixed;top:36px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 10px 10px #0000001f}#nav.open{-webkit-backdrop-filter:none;width:calc(100vw - 72px);height:calc(100vh - 72px);box-shadow:0 8px 40px #0000002e}#nav.open #navMenu{opacity:1;pointer-events:auto;transition:opacity .3s .5s}#nav.open #navBurger{transform-origin:50%;transition:transform .35s}#nav.open #navBurger span:first-child{transform:translateY(7px)rotate(45deg)}#nav.open #navBurger span:nth-child(2){opacity:0;transform:scaleX(0)}#nav.open #navBurger span:nth-child(3){width:22px;transform:translateY(-7px)rotate(-45deg)}#nav.open #navBurger:hover{transform:scale(1.2)}#navTop{flex-shrink:0;justify-content:space-between;align-items:center;height:62px;padding:0 25px 0 22px;display:flex;position:relative}#navMenu{opacity:0;pointer-events:none;flex-direction:column;flex:1;align-items:center;padding:0 60px;transition:opacity .3s;display:flex;overflow-y:auto}#navFilter{background:#00000012;border-radius:100px;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.filter-btn{font:inherit;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:100px;padding:6px 14px;font-size:11px;text-decoration:none;transition:background .2s,color .2s}.filter-btn.active{background:var(--ink);color:var(--bg)}#navBurger{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-start;gap:6px;width:22px;height:22px;padding:0;display:flex}#navBurger span{background:var(--ink);border-radius:2px;height:1px;transition:width .25s,transform .35s,opacity .2s;display:block}#navBurger span:first-child,#navBurger span:nth-child(2){width:22px}#navBurger span:nth-child(3){width:14px}#navBurger:hover span{width:22px}.brand{letter-spacing:.3em;text-transform:uppercase;font-size:13px;transition:opacity .4s}.brand #brandCanvas{opacity:.75;cursor:pointer;display:block}.brand small{color:var(--muted);letter-spacing:.16em;margin-top:6px;font-size:10px;display:block}#nav.filter-open{-webkit-backdrop-filter:none;box-shadow:0 8px 40px #0000002e}#nav.filter-open #filterMenu{opacity:1;pointer-events:auto;height:auto;padding:24px 25px;overflow:visible}#nav.filter-open #navFilterBtn{opacity:1}#filterMenu{opacity:0;pointer-events:none;flex-direction:column;gap:20px;height:0;padding:0;transition:opacity .3s;display:flex;overflow:hidden}.filter-section{flex-direction:column;gap:8px;display:flex}.filter-section-label{letter-spacing:.2em;text-transform:uppercase;color:#00000059;font-size:9px;font-weight:700}.filter-chips{flex-wrap:wrap;gap:5px;display:flex}.filter-chip{font:inherit;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);cursor:pointer;white-space:nowrap;background:#00000012;border:none;border-radius:100px;padding:6px 14px;font-size:11px;font-weight:600;transition:background .15s,color .15s}.filter-chip:hover{background:#0000001f}.filter-chip.active{background:var(--ink);color:var(--bg)}#filterHeader{border-bottom:1px solid #00000014;justify-content:center;align-items:center;padding-bottom:4px;display:flex;position:relative}#filterTitle{letter-spacing:.12em;text-transform:uppercase;color:#0006;padding:4px 0;font-size:10px;font-weight:600}#filterClearBtn{font:inherit;letter-spacing:.12em;text-transform:uppercase;color:#0006;cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:10px;font-weight:600;transition:color .15s;display:none}#filterClearBtn:hover{color:var(--ink)}#navFilterBtn{cursor:pointer;width:22px;height:22px;color:var(--ink);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}#navFilterBtn circle{fill:var(--bg);transition:transform .35s cubic-bezier(.4,0,.2,1)}#navFilterBtn:hover circle:first-of-type{transform:translate(-2px)}#navFilterBtn:hover circle:nth-of-type(2){transform:translate(3px)}#navFilterBtn:hover circle:nth-of-type(3){transform:translate(2px)}#navFilterBtn svg{display:block;overflow:visible}#filterBadge{background:var(--ink);width:14px;height:14px;color:var(--bg);border-radius:100px;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:none;position:absolute;top:-12px;right:-3px}#filterBadge.visible{display:flex}.nav-actions{flex-shrink:0;align-items:center;gap:24px;display:flex}.about-inner{flex-direction:column;width:100%;margin:0 auto 7vh;display:flex}.about-inner:first-child{margin-top:10vh}@media (width<=1024px){.about-inner .about-bio{order:1}.about-inner .about-bio p:last-child{margin:0}.about-inner .about-connect{order:0}}@media (width>=1025px){.about-inner{grid-template-columns:50% 1fr;align-items:start;gap:8vw;display:grid}}@media (width>=1280px){.about-inner{width:80%}}@media (width>=1440px){.about-inner{width:70%}}.about-connect{gap:6rem;width:100%;display:flex}@media (width>=641px) and (width<=1024px){.about-connect{justify-content:space-between;align-items:center}}@media (width>=1025px){.about-connect{flex-direction:column;align-items:start;gap:0}}.about-photo{border-radius:30px;margin-bottom:3rem;overflow:hidden}.about-photo img{object-fit:cover;mix-blend-mode:luminosity;width:100%;height:100%;display:block}.about-photo{width:100%}.about-name{letter-spacing:.01em;color:var(--grey-med);font-size:clamp(2.75rem,2.355rem + 1.579vw,4.25rem);font-weight:400;font-family:var(--serif-font)}.about-role{margin-bottom:1rem;font-weight:500}.about-text{color:var(--grey-light);margin-bottom:32px;font-size:1.1rem;line-height:1.5}.about-text a{color:var(--ink);text-decoration:none;transition:color .2s;position:relative}.about-text a:after{content:"";background:var(--ink);width:100%;height:1px;transition:width .2s ease-in-out,background .2s;position:absolute;bottom:0;left:0}.about-text a:hover{color:var(--accent)}.about-experience{width:100%;margin:0 auto 5vh}@media (width<=1024px){.about-experience{margin:0 auto 4rem}}.about-experience-items{flex-direction:column;gap:2rem;display:flex}.about-contact{width:100%;margin-bottom:3rem}.about-contact .about-heading{margin-bottom:1rem}.about-contact ul{flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}@media (width<=1024px){.about-contact ul{display:block}}.about-contact ul li{align-items:center;padding:.25rem 0;display:flex}@media (width>=1025px){.about-contact ul li:not(:last-child):after{content:"|";color:var(--grey-lighter);margin-left:.75rem;margin-right:.75rem}}.about-skills ul{margin:0;padding:0;list-style:none}.about-skills ul li{color:var(--grey-light);margin-bottom:.65rem;padding-left:2rem;position:relative}.about-skills ul li:before{content:"—";color:var(--grey-lighter);position:absolute;left:0}.about-heading{border-bottom:1px solid var(--grey-lighter);font-weight:400;font-family:var(--serif-font);margin-bottom:3rem;padding-bottom:.75rem;font-size:clamp(2rem,1.803rem + .789vw,2.75rem);-webkit-mask-image:linear-gradient(90deg,#000 0% 88%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 88%,#0000 100%)}.exp-item{align-items:flex-start;gap:1.25rem;display:flex}.exp-logo{background:var(--grey-med);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:90px;padding:0 20px;display:flex}.exp-logo img{object-fit:contain;mix-blend-mode:luminosity;width:auto;height:100%}.exp-detail{padding-top:2px}.exp-dates{letter-spacing:.1em;color:var(--muted);font-size:.8rem;font-weight:600;display:block}.exp-title{font-size:clamp(1.5rem,1.368rem + .526vw,2rem);font-weight:400;font-family:var(--serif-font);color:var(--dark-grey);margin:0 0 2px;line-height:1.3}.exp-company{color:var(--grey-dark);margin:0;font-size:1rem}.about-contact{flex-direction:column;gap:1rem;display:flex}.about-contact a{letter-spacing:.2em;text-transform:uppercase;color:var(--ink);font-size:11px;text-decoration:none;transition:color .2s}.about-contact a:hover{color:var(--accent)}.hud{pointer-events:none;z-index:5;position:fixed}.hint{text-align:right;color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:11px;line-height:1.9}.hint b{color:var(--ink);font-weight:600}.hud-bottom{justify-content:center;padding:24px 32px;display:none;bottom:0;left:0;right:0}.now{text-align:center;color:var(--muted);letter-spacing:.22em;text-transform:uppercase;font-size:11px;transition:opacity .3s}.now b{color:var(--ink);letter-spacing:.12em;margin-bottom:5px;font-size:14px;font-weight:600;display:block}.now span{color:var(--accent)}#loader{z-index:30;background:var(--bg);place-items:center;transition:opacity .7s;display:grid;position:fixed;inset:0}#loader.hidden{opacity:0;pointer-events:none}.spinner{border:2px solid #0000001f;border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#cta{z-index:6;opacity:0;pointer-events:none;transition:opacity .35s;position:fixed;left:50%;transform:translate(-50%,-50%)}#cta.show{opacity:1;pointer-events:auto}#ctaBtn{font:inherit;cursor:pointer;color:#15161a;letter-spacing:.18em;text-transform:uppercase;background:#fffffff0;border:none;border-radius:100px;padding:14px 24px;font-size:12px;font-weight:600;transition:background .2s,transform .2s;box-shadow:0 8px 30px #00000052}#ctaBtn:hover{background:#fff;transform:scale(1.04)}#intro{width:calc(var(--card-w) + 40px);height:calc(var(--card-w) * 225 / 320);pointer-events:none;opacity:0;z-index:6;text-align:center;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#intro .dark{color:var(--grey-dark)}@media (width<=640px){#intro{max-width:400px}}#intro.show{opacity:1;transition:opacity .4s .3s}#intro.show #introAboutBtn{pointer-events:auto}#intro .intro-content .arrow{opacity:1;box-sizing:border-box;background:url(/assets/arrow.svg) 50%/14px 22px no-repeat;width:14px;height:22px;transition:opacity .2s;display:block;position:absolute}#intro .intro-content .arrow.top-left{top:-3rem;left:.5rem;transform:rotate(-45deg)}#intro .intro-content .arrow.top-right{top:-3rem;right:.5rem;transform:rotate(45deg)}#intro .intro-content .arrow.bottom-left{bottom:-3rem;left:.5rem;transform:rotate(-135deg)}#intro .intro-content .arrow.bottom-right{bottom:-3rem;right:.5rem;transform:rotate(135deg)}.intro-divider{background:var(--grey-light);opacity:.25;border-radius:3px;width:45%;height:.5px;margin:1vw auto;display:block;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}@media (width<=640px){.intro-divider{margin:3vw auto}}.intro-title{color:var(--grey-light);text-wrap:balance;font-size:clamp(1.75rem,1.092rem + 2.632vw,4.25rem);font-weight:400;line-height:1.08;font-family:var(--serif-font);letter-spacing:.01rem}@media (width<=640px){.intro-title{font-size:32px;line-height:1.2}}@media (orientation:landscape) and (width<=1024px){.intro-title{font-size:24px;line-height:1.2}}.intro-desc{color:#00000080;letter-spacing:-.015em;margin-bottom:1.2vw;font-size:clamp(.81rem,.664rem + .592vw,1.38rem);font-weight:500}@media (width<=640px){.intro-desc{font-size:.95rem}}@media (orientation:portrait) and (width<=1024px){.intro-desc{margin-bottom:3vw}}#introAboutBtn{font:inherit;cursor:pointer;color:#fffffff0;letter-spacing:.18em;text-transform:uppercase;background:#15161a;border:none;border-radius:100px;margin-top:1vw;padding:14px 24px;font-size:12px;font-weight:600;transition:background .2s,transform .2s;box-shadow:0 8px 30px #00000052}#introAboutBtn:hover{transform:scale(1.04)}@media (width<=640px){#introAboutBtn{padding:12px 20px}}@media (orientation:portrait) and (width<=1024px){#introAboutBtn{margin-top:5vw}}@keyframes introWordFade{0%{opacity:0}to{opacity:1}}@keyframes introDividerFade{0%{opacity:0}to{opacity:.25}}#intro.intro-animating .intro-title .dark,#intro.intro-animating .intro-title .light,#intro.intro-animating .intro-divider,#intro.intro-animating .intro-desc,#intro.intro-animating #introAboutBtn{opacity:0}#intro.intro-animating.show .intro-title .dark:nth-child(2){animation:.3s .3s both introWordFade}#intro.intro-animating.show .intro-title .dark:nth-child(4){animation:.3s .6s both introWordFade}#intro.intro-animating.show .intro-title .dark:nth-child(6){animation:.3s .9s both introWordFade}#intro.intro-animating.show .intro-title .light{animation:6s .3s both introWordFade}#intro.intro-animating.show .intro-desc,#intro.intro-animating.show #introAboutBtn{animation:2s 1.1s both introWordFade}#intro.intro-animating.show .intro-divider{animation:2s 1.1s both introDividerFade}.intro-content--archive{max-width:600px;display:none}.intro-content--archive .archive-chip{letter-spacing:.12em;text-transform:uppercase;color:var(--grey-light);background:#00000012;border-radius:100px;margin-bottom:1rem;padding:5px 13px;font-size:11px;font-weight:600;display:inline-block}@media (width<=640px){.intro-content--archive .archive-chip{margin-bottom:.75rem}}.intro-content--archive .intro-title{margin-bottom:1.25vw}.intro-content--archive .intro-desc{text-wrap:pretty;text-align:center;padding:0 4%}#intro.mode-archive .intro-content--casestudies{display:none}#intro.mode-archive .intro-content--archive{display:block}.intro-scroll{color:#0000004d;letter-spacing:.04em;margin:0;font-size:clamp(11px,.95vw,14px)}@media (width<=1024px){.intro-scroll{display:none}}#zoom{--border-radius-cs-block:1rem}@media (width<=640px){#zoom{--border-radius-cs-block:.75rem}}#zoom{z-index:20;opacity:0;pointer-events:none;will-change:left, top, width, height;cursor:default;background-color:#15161a;border-radius:30px;transition:box-shadow .9s;position:fixed;overflow:hidden;box-shadow:0 40px 100px #0000}#zoom.open{opacity:1;pointer-events:auto;box-shadow:0 40px 100px #00000073}#zoom.fading{box-shadow:0 40px 100px #0000}#zoomClose{z-index:3;cursor:pointer;filter:drop-shadow(0 1px 4px #00000080);background:0 0;border:none;border-radius:50%;width:46px;height:46px;transition:background .2s,opacity .35s,transform .35s;position:absolute;top:22px;right:22px}#zoomClose span{background:var(--bg);border-radius:2px;width:22px;height:2px;display:block;position:absolute;top:50%;left:50%;transform:perspective(1px)}#zoomClose span:first-child{transform:translate(-50%,-50%)rotate(45deg)}#zoomClose span:nth-child(2){transform:translate(-50%,-50%)rotate(-45deg)}#zoomClose:hover{transform:translateZ(0)scale(1.2)}@media (width<=640px){#zoomClose{top:12px;right:12px}}#zoomScroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent;z-index:1;position:absolute;inset:0;overflow:hidden auto}#zoomHero{flex-direction:column;justify-content:flex-end;height:100%;padding:44px 80px;display:flex;position:relative;overflow:hidden}#zoomHeroBg{will-change:transform;transform-origin:50%;background-position:50%;background-size:cover;position:absolute;inset:0}#zoomHeroBg:after{content:"";opacity:1;background:linear-gradient(#0000000d 55%,#0000008c 100%);transition:opacity .45s;position:absolute;inset:0}#zoomHeroBg.fading:after{opacity:0}#zoomMeta{z-index:1;color:#fff;opacity:0;will-change:transform;width:100%;max-width:1280px;margin:0 auto;transition:opacity .5s,transform .4s cubic-bezier(0,0,.2,1);position:relative}#zoomMeta span{display:none}#zoomMeta #zoomTitle{letter-spacing:-.02em;margin:0;font-size:clamp(26px,4.5vw,72px);font-weight:800}#zoomMeta small{letter-spacing:.12em;text-transform:uppercase;color:#fff9;margin-top:6px;font-size:1rem;font-weight:600;display:block}#zoomContent{background:var(--ink);color:var(--bg);opacity:0;will-change:transform;border-top-left-radius:30px;border-top-right-radius:30px;padding:72px 80px 100px;transition:opacity .4s,transform .4s cubic-bezier(0,0,.2,1);position:relative}#zoomContent.visible{opacity:1}.cs-project-link{border:2px solid color-mix(in srgb, var(--text-colour) 35%, transparent);width:fit-content;color:var(--text-colour);letter-spacing:.04em;border-radius:100px;margin-top:28px;padding:14px 36px;font-size:15px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s;display:block}.cs-project-link:hover{border-color:color-mix(in srgb, var(--text-colour) 65%, transparent);background:#ffffff1a}.cs-lead{max-width:680px;color:var(--text-colour);border-bottom:1px solid #0000001a;margin:0 auto 64px;padding-bottom:64px;font-size:clamp(16px,1.7vw,22px);font-weight:400;line-height:1.55}.cs-body{grid-template-columns:repeat(12,1fr);gap:10px;max-width:1280px;margin:0 auto 80px;display:grid}.cs-container,.cs-block{--_span:var(--span,12);grid-column:span var(--_span);opacity:0;transition:opacity .55s,transform .55s;transform:translateY(16px)}.cs-container.cs-visible,.cs-block.cs-visible{opacity:1;transform:none}@media (width<=1024px){.cs-container,.cs-block{--_span:var(--span-md,var(--span,12))}}@media (width<=640px){.cs-container,.cs-block{--_span:var(--span-sm,var(--span-md,var(--span,12)))}}.cs-container{grid-template-columns:repeat(12,1fr);align-content:start;align-items:start;gap:30px 10px;display:grid}.cs-block h3{letter-spacing:.2em;text-transform:uppercase;color:var(--accent-colour);background:#fff6;border-radius:20px;margin-bottom:10px;padding:4px 10px;font-size:10px;display:inline-block}.cs-block p,.cs-block a{color:var(--text-colour);margin-bottom:1em;font-size:clamp(15px,1.3vw,18px);line-height:1.4}.cs-block p:last-child{margin-bottom:0}.cs-block ul{margin:0;padding:0;list-style:none}.cs-block ul li{color:var(--text-colour);margin-bottom:.5em;padding-left:1em;font-size:clamp(15px,1.3vw,18px);position:relative}.cs-block ul li:before{content:"•";position:absolute;left:0}.cs-block--image{margin:0}.cs-block--image img{object-fit:cover;border-radius:var(--border-radius-cs-block);width:100%;height:100%;display:block}.cs-block--image-contain img{object-fit:contain}.cs-block--video{margin:0}.cs-block--video video{border-radius:var(--border-radius-cs-block);width:100%;display:block}.cs-block--video-autoplay{aspect-ratio:var(--aspect,16/9);border-radius:var(--border-radius-cs-block);position:relative;overflow:hidden}.cs-block--video-autoplay video{object-fit:cover;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.cs-block--vimeo{aspect-ratio:var(--aspect,16/9);border-radius:var(--border-radius-cs-block);margin:0;position:relative;overflow:hidden}.cs-block--vimeo iframe{border:none;width:100%;height:100%;position:absolute;inset:0}.cs-block--intro{padding:0 6rem 2.5rem 0}@media (width<=640px){.cs-block--intro{padding-right:0}}.cs-block--intro p{margin-bottom:1em;font-size:clamp(20px,2.4vw,24px);font-weight:400;line-height:1.4}.cs-block--intro p:last-child{margin-bottom:0}.cs-block--callout{border-radius:var(--border-radius-cs-block);background:#ffffff0a;padding:48px 56px}@media (width<=640px){.cs-block--callout{padding:38px 24px}}.cs-block--callout h3{background:#ffffff5c}.cs-block--callout p,.cs-block--callout ul li,.cs-block--callout a{font-size:clamp(17px,1.7vw,22px);font-weight:400;line-height:1.55}.cs-block--callout a:hover{text-decoration:none}.cs-block--callout.cs-block--v-center{flex-direction:column;justify-content:center;align-self:stretch;display:flex}body:not(.js){cursor:default;height:auto;overflow:auto}body:not(.js) #scene,body:not(.js) #loader,body:not(.js) #fade,body:not(.js) .hud,body:not(.js) #cta,body:not(.js) #intro,body:not(.js) #nav{display:none}#project-grid-html{padding:40px 20px 60px}#project-grid-html .pg-grid{grid-template-columns:repeat(4,1fr);gap:12px;max-width:1600px;margin:0 auto;display:grid}@media (width<=1024px){#project-grid-html .pg-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){#project-grid-html .pg-grid{grid-template-columns:1fr;gap:10px}}.pg-card{aspect-ratio:320/225;background-color:var(--pg-accent,#2a2e3b);border-radius:20px;position:relative;overflow:hidden}@media (width<=640px){.pg-card{border-radius:14px}}.pg-card-link{width:100%;height:100%;text-decoration:none;display:block;position:relative}.pg-card-img{position:absolute;inset:0}.pg-card-img img{object-fit:cover;width:100%;height:100%;display:block}.pg-card-overlay{background:linear-gradient(#0000 0%,#0000001a 45%,#000000b8 100%);flex-direction:column;justify-content:flex-end;padding:20px;display:flex;position:absolute;inset:0}@media (width<=640px){.pg-card-overlay{padding:14px}}.pg-card-tags{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.pg-card-year,.pg-card-cat{letter-spacing:.1em;text-transform:uppercase;color:#ffffffbf;white-space:nowrap;background:#ffffff26;border-radius:100px;padding:3px 8px;font-size:9px;font-weight:600}.pg-card-year{color:#ffffff80}.pg-card-title{color:#fff;letter-spacing:-.01em;margin:0 0 4px;font-size:clamp(14px,1.3vw,20px);font-weight:800;line-height:1.2}.pg-card-client{color:#ffffff8c;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:10px;font-weight:500}.pg-card--casestudy .pg-card-overlay:before{content:"★ Case Study";letter-spacing:.1em;text-transform:uppercase;color:#fffc;background:#ffffff26;border-radius:100px;padding:4px 9px;font-size:9px;font-weight:700;position:absolute;top:14px;right:14px}@media (width<=1024px){body:before{box-shadow:inset 0 0 30px 40px #f1efe8}#nav{width:auto;max-width:450px;height:54px;margin-left:auto;margin-right:auto;top:12px;left:12px;right:12px;transform:none}#nav.open{width:auto;height:calc(100vh - 24px);max-width:unset;width:auto;height:calc(100vh - 24px)}#nav.filter-open #filterMenu{overflow-y:auto}#navTop{height:54px;padding:0 1.1rem 0 .9rem}.nav-actions{gap:14px}#navMenu{align-items:flex-start;padding:0 24px 36px}.about-inner{width:100%}.about-photo{aspect-ratio:1;border-radius:30px;margin-bottom:2rem}.about-photo img{mix-blend-mode:luminosity}.hint{text-align:left}#zoomHero{padding:24px}#zoomContent{padding:48px 24px 80px}.cs-grid{grid-template-columns:1fr;gap:32px}.filter-btn{letter-spacing:.03em;padding:5px 8px;font-size:11px}}.ta-left{text-align:left}.ta-center{text-align:center}.ta-right{text-align:right}@media (width<=640px){.hide-sm{display:none}}@media (width>=641px){.hide-md{display:none}}
