._frame_4voar_5{position:absolute;inset:0;overflow:hidden;background:#fafafa}._frame_4voar_5 *,._frame_4voar_5 :before,._frame_4voar_5 :after{box-sizing:content-box}._scene_4voar_14{--dot-field-opacity: 1;--solution-scale: 1;--logo-form: 1;--logo-scale: 1;--beam-response: 0;position:absolute;left:-1437.099px;top:-208.179px;width:3679.652px;height:1093.24px;container-type:inline-size;pointer-events:none}._fieldFade_4voar_34{position:absolute;inset:0;pointer-events:none;-webkit-mask-image:radial-gradient(closest-side at 50% 48.02%,#000 0%,rgba(0,0,0,.55) 65%,transparent 100%);mask-image:radial-gradient(closest-side at 50% 48.02%,#000 0%,rgba(0,0,0,.55) 65%,transparent 100%)}._rule_4voar_43{position:absolute;background:#ffffff4d;pointer-events:none}._ruleAcross_4voar_44{left:-30.39px;width:924.735px;height:.463px}._ruleDown_4voar_45{top:0;width:.463px;height:706px}._scene_4voar_14 ._logoDisc_4voar_51{border-width:2.813px;box-shadow:0 0 111.572px #fffffff2,0 4.468px 8.936px #0000001a,0 17.84px 35.712px -13.372px #0000000a,0 13.372px 26.776px -13.372px #0000000f,0 8.936px 17.84px -8.936px #00000014,-8.936px -8.936px 44.616px #5757601f,inset 0 2.234px 4.468px 2.813px #fff9}._scene_4voar_14 ._logoDisc_4voar_51:before{inset:6.765px;border-width:2.813px}._solutionScene_4voar_68{position:absolute;inset:0;z-index:3;transform:scale(var(--solution-scale));transform-origin:center}._dotField_4voar_76{position:absolute;top:1.06cqw;left:36cqw;width:28cqw;height:28cqw;border-radius:50%;z-index:1;opacity:max(var(--dot-field-opacity),calc(var(--failure-field, 0) * var(--failure-presence, 1)));pointer-events:none;transform:scale(var(--solution-scale));transform-origin:center;will-change:opacity,transform}._dotCanvas_4voar_104{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;-webkit-mask-image:radial-gradient(circle at center,#000 0 48%,rgba(0,0,0,.84) 66%,transparent 90%);mask-image:radial-gradient(circle at center,#000 0 48%,rgba(0,0,0,.84) 66%,transparent 90%);will-change:opacity}._logoDisc_4voar_51{position:absolute;top:11.46cqw;left:46.418cqw;display:grid;width:7.199cqw;height:7.199cqw;place-items:center;border:.068cqw solid #fff;border-radius:50%;background:#fff;box-shadow:0 0 3.396cqw #fffffff2,0 .136cqw .272cqw #0000001a,0 .543cqw 1.087cqw -.407cqw #0000000a,0 .407cqw .815cqw -.407cqw #0000000f,0 .272cqw .543cqw -.272cqw #00000014,-.272cqw -.272cqw 1.358cqw #5757601f,inset 0 .068cqw .136cqw #fff9;opacity:var(--logo-form);transform:scale(var(--logo-scale))}._logoDisc_4voar_51:before{position:absolute;inset:.204cqw;border:.034cqw solid rgba(0,0,0,.05);border-radius:50%;background:linear-gradient(180deg,#0000 50%,#d9d9d91f);content:""}._logoDisc_4voar_51:after{position:absolute;inset:-.611cqw;border:.068cqw solid rgba(255,255,255,.85);border-radius:50%;content:"";opacity:calc(var(--beam-response) * .7);transform:scale(calc(.82 + var(--beam-response) * .36))}._logo_4voar_51{position:relative;z-index:1;width:3.736cqw;height:3.736cqw;filter:brightness(calc(1 + var(--beam-response) * .18)) contrast(calc(1 + var(--beam-response) * .06));transform:scale(calc(1 + var(--beam-response) * .035))}.beam-outlined{position:relative;display:block;flex:none}.beam-outlined>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}[data-t]{display:block;white-space:nowrap}._frame_4abg0_3,._frame_4abg0_3 *{box-sizing:content-box}._frame_4abg0_3{position:absolute;inset:0;overflow:hidden;background:#00281e;font-weight:400;line-height:normal;letter-spacing:normal;color:#000}._card_4abg0_7{position:absolute;left:30px;top:129.82px;width:747px;height:447px;box-sizing:border-box;overflow:hidden;background:#f6f6f6;border-left:1.84px solid rgba(0,0,0,.1);border-right:1.84px solid rgba(0,0,0,.1)}._header_4abg0_20{position:absolute;left:19.31px;top:22.08px;width:702.842px;height:38.638px;display:flex;align-items:center;justify-content:space-between}._badge_4abg0_31{position:relative;display:flex;align-items:center;justify-content:center;height:38.638px;padding:3.68px 14.719px;box-sizing:border-box;background:#ebfff4}._chart_4abg0_42{position:absolute;left:19.31px;top:80.96px;width:702.842px;height:349.581px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#fff;border:1.84px solid #ebebeb}._gauge_4abg0_57{position:relative;flex:none;height:237.347px;box-sizing:border-box;overflow:hidden;border-bottom:1.84px solid #ebebeb}._readings_4abg0_66{flex:none;display:flex;align-items:center;width:100%}._reading_4abg0_66{flex:1 0 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14.719px 22.079px;box-sizing:border-box}._readingFirst_4abg0_77{border-right:1.84px solid #ebebeb}._name_4abg0_78{display:flex;align-items:center;gap:7.36px}._dotWrap_4abg0_79{display:flex;padding:3.68px}._dot_4abg0_79{width:7.36px;height:7.36px}._image_4abg0_83{position:absolute;inset:0;display:block;width:100%;height:100%}._mask_4abg0_85{position:absolute;z-index:1;top:0;bottom:0;width:9.38px;background:#fff;pointer-events:none}._maskLeft_4abg0_86{left:0}._maskRight_4abg0_87{right:0}._roll_v4a3z_3{display:inline-flex;align-items:baseline;white-space:pre}._slot_v4a3z_6{display:inline-grid;overflow:hidden;line-height:1em;vertical-align:baseline;clip-path:inset(.1em 0 .06em 0)}._swap_v4a3z_7{display:grid;overflow:hidden}._face_v4a3z_8{grid-area:1 / 1;justify-self:start;white-space:pre;will-change:transform}._flip_v4a3z_11{display:grid;perspective:40px}._flipFace_v4a3z_12{grid-area:1 / 1;backface-visibility:hidden;transform-style:preserve-3d}._mark_1ksv8_2{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}._ring_1ksv8_10{position:absolute;inset:0;transform:rotate(-90deg)}._track_1ksv8_11{stroke:#ffffff14;stroke-width:1}._arc_1ksv8_12{stroke:#ffffff8c;stroke-width:1}._logo_1ksv8_15{position:absolute;left:50%;top:50%;display:flex;translate:-50% -50%;will-change:transform}._side_1ksv8_26{position:absolute;top:50%;height:16px;overflow:hidden;translate:0 -50%;font-family:Geist,Arial,sans-serif;font-size:12px;line-height:16px;letter-spacing:.01em;white-space:nowrap;color:#ffffff6b}._left_1ksv8_39{right:calc(100% + var(--gap))}._right_1ksv8_40{left:calc(100% + var(--gap))}._text_1ksv8_41{display:block;will-change:transform}._number_1ksv8_43{font-variant-numeric:tabular-nums}._overlay_q0rlb_6{position:fixed;inset:0;z-index:50;display:flex;overflow:hidden;visibility:hidden;pointer-events:none}._overlay_q0rlb_6[data-active]{visibility:visible;pointer-events:auto}._column_q0rlb_18{display:flex;flex:1 1 0;margin-right:-1px}._piece_q0rlb_21{height:100%;flex:1 1 0;margin-right:-1px;background:#141414;box-shadow:inset 0 1px #ffffff0f,2px 0 #141414,-2px 0 #141414;will-change:transform}._logo_q0rlb_35{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}._content_q0rlb_44{position:absolute;inset:0;pointer-events:none}.about-page{--about-ink: #1b1b1b;--about-surface: #fafafa;min-width:320px;background:var(--about-surface);color:var(--about-ink);font-family:Geist,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.4}.about-main{position:relative;z-index:2;width:100%;background:var(--about-surface)}.introduction{display:flex;width:100%;height:auto;justify-content:center;padding-block:120px;overflow:hidden}.introduction-content{display:flex;width:744px;height:auto;flex-direction:column;gap:80px}.introduction-label{display:flex;width:488px;height:40px;flex-direction:column;justify-content:flex-start}.introduction-title{display:flex;align-items:center;gap:4px;color:var(--about-ink);font:inherit;white-space:nowrap}.introduction-title>span:first-child{width:61px;flex:0 0 61px}.introduction-label>p{width:420px;color:#1b1b1bcc}.profile-image-frame{position:relative;width:20px;height:20px;flex:0 0 20px;overflow:hidden;border:.071px solid #e6e6e6;border-radius:83.333px;background:#fff;box-shadow:inset 0 .071px .071px #fff9,inset 0 -.071px .071px #0003}.profile-image-frame img{position:absolute;top:-.07px;left:-.14px;width:20px;height:20px;object-fit:cover}.about-copy{display:flex;width:744px;height:auto;flex-direction:column;gap:20px;align-items:flex-start}.about-copy p{width:100%}.experience-section{display:flex;width:100%;height:608px;justify-content:center;padding-block:120px;overflow:hidden}.experience-content{width:852px;height:368px;padding-inline:32px}.experience-content>h2{width:488px;height:20px;padding-inline:20px;color:#1b1b1b66;font:inherit}.experience-timeline{display:flex;width:788px;height:328px;margin-top:20px;align-items:flex-start}.experience-track{width:20px;height:296px;flex:0 0 20px}.experience-list{width:768px;height:328px;margin:0;padding:0;list-style:none}.experience-row{display:flex;width:100%;height:68px;gap:16px;align-items:flex-start;padding-block:12px}.experience-row:first-child{height:56px;padding-top:0}.experience-year{width:178px;flex:0 0 178px}.experience-details{display:flex;width:574px;height:44px;flex-direction:column;gap:4px;overflow:hidden}.experience-heading{display:grid;width:100%;height:20px;grid-template-columns:388.5px minmax(0,1fr);align-items:center}.experience-heading h3{color:var(--about-ink);font:inherit;white-space:nowrap}.experience-heading p,.experience-role{color:#1b1b1b99;white-space:nowrap}.capabilities-section{display:flex;width:100%;height:583px;justify-content:center;overflow:hidden}.capabilities-board{position:relative;width:852px;height:583px;flex:0 0 852px;overflow:hidden;background:var(--about-surface)}.capability-mobile-guides{display:none}.capability-guides{position:absolute;inset:0;pointer-events:none}.capability-guide-lines{z-index:0}.capability-guide-overlay{z-index:3}.capability-guide-vertical{position:absolute;z-index:0;top:-95px;left:0;width:862.5px;height:749.5px;max-width:none}.capability-guide-horizontal-pattern{position:absolute;z-index:0;top:0;left:-30px;width:894px;height:583px;max-width:none;overflow:visible}.capability-guide-outlines{position:absolute;inset:0;width:100%;height:100%}.capability-guide-dot{position:absolute;width:2px;height:2px;background:#ccc}.capability-fade{position:absolute}.capability-fade-left{top:calc(50% - .5px);left:0;width:20px;height:602px;transform:translateY(-50%)}.capability-fade-right{top:calc(50% - .5px);right:0;width:20px;height:574px;transform:translateY(-50%) scaleX(-1)}.capability-fade-bottom{bottom:0;left:calc(50% + .5px);width:787px;height:20px;transform:translate(-50%) scaleY(-1)}.capability-fade-top{top:0;left:calc(50% + .5px);width:871px;height:20px;transform:translate(-50%)}.capabilities-grid{position:absolute;top:40px;left:40px;z-index:2;display:grid;width:772px;height:503px;grid-template-columns:repeat(4,190px);grid-template-rows:repeat(3,165px);gap:4px;margin:0;padding:0;list-style:none}.capabilities-grid li{min-width:0;padding:12px;overflow:hidden;border:.5px solid transparent;background:var(--about-surface)}.capability-card{--capability-idle-pattern-opacity: .015;--capability-pattern-opacity: .36;--capability-holographic-saturation: .78;--capability-grain-active: .13;--capability-reflection-width: .032;--capability-reflection-angle: 22;--capability-right-edge-intensity: 1;--capability-cursor-smoothing: 85;--capability-edge-glow: 1.15;--capability-edge-in: .11s;--capability-structure-delay: 80ms;--capability-structure-in: .22s;--capability-texture-delay: .32s;--capability-texture-in: .48s;--capability-material-delay: .24s;--capability-material-in: .5s;--capability-reflection-delay: .64s;--capability-reflection-in: .36s;--capability-reflection-fade-out: .18s;--capability-color-fade-out: .34s;--capability-pattern-fade-out: .48s;--capability-texture-fade-out: .4s;--capability-edge-fade-out: .58s;--capability-pointer-x: 95px;--capability-pointer-y: 82.5px;--capability-light-position: 70%;--capability-light-angle: 68deg;--capability-light-width: 3.2%;--capability-edge-level: 0;--capability-texture-level: 0;--capability-structure-level: 0;--capability-material-level: 0;--capability-reflection-level: 0;--capability-edge-0: 0;--capability-edge-1: 1;--capability-edge-2: 0;--capability-edge-3: 0;--capability-hotspot-mask: radial-gradient(ellipse 30% 36% at var(--capability-pointer-x) var(--capability-pointer-y), #000 0%, rgb(0 0 0 / 96%) 35%, rgb(0 0 0 / 62%) 65%, rgb(0 0 0 / 20%) 85%, transparent 100%);--capability-entry-angle: 270deg;--capability-structure-front: -18%;--capability-material-front: -18%;position:relative;contain:paint;isolation:isolate}.capability-card__mask-defs{position:absolute;pointer-events:none}.capability-card__title{position:relative;z-index:7}.capability-card__edge,.capability-card__pattern,.capability-card__material,.capability-card__sheen,.capability-card__grain,.capability-card__reflection{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.capability-card__pattern{overflow:hidden;fill:none}.capability-card__pattern path{vector-effect:non-scaling-stroke}.capability-card__pattern--neutral{z-index:0;opacity:var(--capability-idle-pattern-opacity)}.capability-card__pattern--neutral path{stroke:#eaeaea;stroke-width:.55}.capability-card__material,.capability-card__sheen{z-index:1}.capability-card__material{visibility:hidden;opacity:min(1,calc((var(--capability-edge-level) + var(--capability-material-level)) * 1000))}.capability-card[data-foil-renderer=webgpu] .capability-card__material{visibility:visible}.capability-card__pattern--structure{z-index:2;opacity:calc(var(--capability-structure-level) * (.6 - var(--capability-material-level) * .52));-webkit-mask-image:linear-gradient(var(--capability-entry-angle),#000 calc(var(--capability-structure-front) - 8%),transparent calc(var(--capability-structure-front) + 8%));mask-image:linear-gradient(var(--capability-entry-angle),#000 calc(var(--capability-structure-front) - 8%),transparent calc(var(--capability-structure-front) + 8%))}.capability-card__pattern--structure path{stroke:#d5d5d5;stroke-width:.55}.capability-card__sheen{opacity:calc(var(--capability-material-level) * .55);-webkit-mask-image:var(--capability-hotspot-mask),linear-gradient(var(--capability-entry-angle),#000 calc(var(--capability-material-front) - 8%),transparent calc(var(--capability-material-front) + 8%));mask-image:var(--capability-hotspot-mask),linear-gradient(var(--capability-entry-angle),#000 calc(var(--capability-material-front) - 8%),transparent calc(var(--capability-material-front) + 8%));-webkit-mask-composite:source-in;mask-composite:intersect;background:linear-gradient(145deg,#d3eef0,transparent 42%,#f4e7c8),linear-gradient(65deg,#dfe4f1 5%,#ead8ef 25%,#c9eaf0 47%,#e1dcf2 64%,#f4e0e9 79%,#e7efce);background-size:140% 140%;background-position:var(--capability-light-position) 50%}.capability-card[data-foil-renderer=webgpu] .capability-card__edge,.capability-card[data-foil-renderer=webgpu] .capability-card__sheen,.capability-card[data-foil-renderer=webgpu] .capability-card__reflection,.capability-card[data-foil-renderer=webgpu] .capability-card__pattern--structure,.capability-card[data-foil-renderer=webgpu] .capability-card__pattern--holographic,.capability-card[data-foil-renderer=webgpu] .capability-card__pattern--specular,.capability-card[data-foil-renderer=webgpu] .capability-card__grain--active{visibility:hidden}.capability-card__edge{z-index:6;opacity:calc(var(--capability-edge-level) * var(--capability-edge-glow) * .24);background:radial-gradient(ellipse 10% 30% at 0% var(--capability-pointer-y),rgb(192 225 238 / var(--capability-edge-0)),transparent),radial-gradient(ellipse 10% 30% at 100% var(--capability-pointer-y),rgb(230 215 240 / var(--capability-edge-1)),transparent),radial-gradient(ellipse 30% 10% at var(--capability-pointer-x) 0%,rgb(217 223 244 / var(--capability-edge-2)),transparent),radial-gradient(ellipse 30% 10% at var(--capability-pointer-x) 100%,rgb(224 238 216 / var(--capability-edge-3)),transparent)}.capability-card__pattern--holographic{z-index:3;opacity:calc(var(--capability-pattern-opacity) * var(--capability-material-level));-webkit-mask-image:linear-gradient(var(--capability-entry-angle),#000 calc(var(--capability-material-front) - 8%),transparent calc(var(--capability-material-front) + 8%));mask-image:linear-gradient(var(--capability-entry-angle),#000 calc(var(--capability-material-front) - 8%),transparent calc(var(--capability-material-front) + 8%))}.capability-card__pattern--holographic path{stroke-width:.55}.capability-card__pattern--specular{z-index:4;opacity:calc(var(--capability-pattern-opacity) * var(--capability-reflection-level));-webkit-mask-image:linear-gradient(var(--capability-light-angle),rgb(0 0 0 / 38%),#000 var(--capability-light-position),rgb(0 0 0 / 55%));mask-image:linear-gradient(var(--capability-light-angle),rgb(0 0 0 / 38%),#000 var(--capability-light-position),rgb(0 0 0 / 55%))}.capability-card__pattern--specular path{stroke:#fff;stroke-width:.45}.capability-card__grain--active{z-index:5;opacity:calc(var(--capability-grain-active) * var(--capability-texture-level));-webkit-mask-image:var(--capability-hotspot-mask);mask-image:var(--capability-hotspot-mask);background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='96'%20height='96'%20viewBox='0%200%2096%2096'%3e%3c!--%20A%20stationary,%20seamless%20microtexture;%20rasterized%20once%20as%20a%20CSS%20tile.%20--%3e%3cfilter%20id='grain'%20x='0'%20y='0'%20width='100%25'%20height='100%25'%20color-interpolation-filters='sRGB'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='0.92'%20numOctaves='3'%20seed='17'%20stitchTiles='stitch'/%3e%3cfeColorMatrix%20type='saturate'%20values='0'/%3e%3c/filter%3e%3crect%20width='96'%20height='96'%20filter='url(%23grain)'/%3e%3c/svg%3e") repeat;background-size:48px 48px;mix-blend-mode:soft-light}.capability-card__reflection{z-index:2;-webkit-mask-image:var(--capability-hotspot-mask);mask-image:var(--capability-hotspot-mask);opacity:var(--capability-reflection-level);background:linear-gradient(var(--capability-light-angle),transparent calc(var(--capability-light-position) - var(--capability-light-width) * 4),rgb(255 255 255 / 30%) calc(var(--capability-light-position) - var(--capability-light-width) * 2),#fff var(--capability-light-position),rgb(255 255 255 / 30%) calc(var(--capability-light-position) + var(--capability-light-width) * 2),transparent calc(var(--capability-light-position) + var(--capability-light-width) * 4))}@media(prefers-reduced-motion:reduce){.capability-card{--capability-edge-in: 0ms;--capability-structure-delay: 0ms;--capability-structure-in: 0ms;--capability-texture-delay: 0ms;--capability-texture-in: 0ms;--capability-material-delay: 0ms;--capability-material-in: 0ms;--capability-reflection-delay: 0ms;--capability-reflection-in: 0ms;--capability-reflection-fade-out: 0ms;--capability-color-fade-out: 0ms;--capability-pattern-fade-out: 0ms;--capability-texture-fade-out: 0ms;--capability-edge-fade-out: 0ms}}@media(hover:none),(pointer:coarse){.capability-card__edge,.capability-card__material,.capability-card__sheen,.capability-card__pattern--structure,.capability-card__pattern--holographic,.capability-card__pattern--specular,.capability-card__grain--active,.capability-card__reflection{display:none}}@media(max-width:900px){.introduction,.experience-section{height:auto;padding:96px 24px}.introduction-content,.about-copy,.experience-content,.experience-timeline,.experience-list{width:100%;height:auto}.experience-heading{grid-template-columns:minmax(0,1fr) 166px}.about-copy-break{display:none}.introduction-content{gap:64px}.experience-content{padding-inline:0}.experience-content>h2{padding-inline:0}.experience-track{display:none}.experience-row,.experience-row:first-child{height:auto;min-height:68px;padding-block:12px}.experience-year{width:min(24vw,178px);flex-basis:min(24vw,178px)}.experience-details{width:auto;height:auto;flex:1}.capabilities-section{height:auto;padding:48px 24px}.capabilities-board{width:100%;height:auto;flex-basis:auto;overflow:visible}.capability-guides{display:none}.capability-mobile-guides{display:block;position:absolute;top:-24px;left:-24px;max-width:none;pointer-events:none;-webkit-mask-image:linear-gradient(to right,transparent,#000 20px,#000 calc(100% - 20px),transparent),linear-gradient(to bottom,transparent,#000 20px,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(to right,transparent,#000 20px,#000 calc(100% - 20px),transparent),linear-gradient(to bottom,transparent,#000 20px,#000 calc(100% - 20px),transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.capability-mobile-grid{z-index:0}.capability-mobile-outlines{z-index:3}.capabilities-grid{position:relative;top:auto;left:auto;width:100%;height:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.capabilities-grid li{aspect-ratio:190 / 165;border-color:transparent}}@media(max-width:560px){.introduction,.experience-section{padding-block:72px}.introduction-label{width:100%}.about-copy{height:auto}.experience-heading{display:flex;height:auto;flex-direction:column;align-items:flex-start}.experience-heading p,.experience-role{white-space:normal}}.about-copy .about-studio-link{color:inherit;text-decoration-line:underline;text-decoration-style:dashed;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:4px}.skills-focus{position:absolute;inset:0;z-index:4;pointer-events:none}.skills-focus:not([data-enabled]){display:none}.skills-cell{position:absolute}.skills-card{position:absolute;inset:0;animation:skills-in .16s ease}@keyframes skills-in{0%{opacity:0}}.skills-plate{position:absolute;inset:0}.skills-plate>*{position:absolute}.skills-plate__shade{inset:0;background:radial-gradient(170px circle at var(--light-x, 50%) var(--light-y, 50%),rgb(0 0 0 / 0%),rgb(0 0 0 / 2.5%) 78%);box-shadow:inset 0 1.5px 3px #0000000f,inset 0 0 0 .5px #0000000a,inset 0 -1px #ffffffe5;opacity:0;animation:skills-fade .36s ease var(--line-ms) both}.skills-plate__grid{inset:0;background:repeating-linear-gradient(0deg,rgb(0 0 0 / 3.5%) 0 .5px,transparent .5px 11px),repeating-linear-gradient(90deg,rgb(0 0 0 / 3.5%) 0 .5px,transparent .5px 11px)}.skills-plate__grid{-webkit-mask-image:linear-gradient(180deg,transparent 0 34px,#000 62px);mask-image:linear-gradient(180deg,transparent 0 34px,#000 62px);opacity:0;animation:skills-fade .42s ease calc(var(--line-ms) + 80ms) both}@keyframes skills-fade{to{opacity:1}}.skills-plate__lines{top:-10px;left:-10px;overflow:visible}.skills-plate__edge{stroke:#5c5c5c;stroke-width:.5;stroke-dasharray:1;stroke-dashoffset:1}.skills-plate__over path{stroke:#5c5c5c;stroke-width:.5;opacity:0;animation:skills-fade .12s ease calc(var(--line-ms) * var(--at) + 40ms) both}.skills-plate__marks path{stroke:#141414;stroke-width:.75;opacity:0;transform-box:fill-box;transform-origin:center;animation:skills-mark .26s cubic-bezier(.2,.9,.3,1.3) calc(var(--line-ms) * var(--at) + 60ms) both}@keyframes skills-mark{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.skills-plate__ticks path{stroke:#8a8a8a;stroke-width:.5;opacity:0;animation:skills-fade 90ms ease calc(var(--line-ms) * var(--at) + 90ms) both}.skills-plate__dims path{stroke:#9a9a9a;stroke-width:.5;stroke-dasharray:1;stroke-dashoffset:1;animation:skills-draw .3s ease calc(var(--line-ms) + .12s) both}@keyframes skills-draw{to{stroke-dashoffset:0}}.skills-plate__dim,.skills-plate__note,.skills-plate__trace{font:400 9px/1 var(--font-family);letter-spacing:.02em;color:#00000075;white-space:nowrap}.skills-plate__dim{opacity:0;animation:skills-fade .24s ease calc(var(--line-ms) + .3s) both}.skills-plate__dim--width{top:-26px;left:50%;transform:translate(-50%)}.skills-plate__dim--height{top:50%;left:-26px;transform:translate(-50%,-50%) rotate(-90deg)}.skills-plate__note{bottom:9px;left:12px;opacity:0;animation:skills-fade .24s ease calc(var(--line-ms) + .2s) both}.skills-plate__drawing{top:46px;left:12px;overflow:visible}.skills-stroke{stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round;stroke-linejoin:round;animation:skills-draw .17s cubic-bezier(.4,0,.3,1) var(--delay) both}.skills-stroke--hair{stroke:#b4b4b4;stroke-width:.5}.skills-stroke--line{stroke:#6a6a6a;stroke-width:.6}.skills-stroke--ink{stroke:#141414;stroke-width:.9}.skills-stroke--dashed{stroke-dasharray:.03 .02;stroke-dashoffset:0;opacity:0;animation:skills-fade .2s ease var(--delay) both}.skills-live{opacity:0;animation:skills-fade .6s ease var(--done-ms) both}.skills-plate__trace{position:absolute;bottom:9px;left:12px;color:#0000002e}.skills-cell[data-leaving=quick] .skills-card{animation:skills-out var(--quick-ms) ease both}.skills-cell[data-leaving=quick] .skills-plate *{animation:none}@keyframes skills-out{0%{opacity:1}to{opacity:0}}.skills-cell[data-leaving=draw] .skills-card{animation:none}.skills-cell[data-leaving=draw] .skills-stroke{stroke-dashoffset:0;animation:skills-undraw var(--stroke-back-ms) cubic-bezier(.4,0,.3,1) var(--back-delay) both}@keyframes skills-undraw{0%{stroke-dashoffset:0}to{stroke-dashoffset:1}}.skills-cell[data-leaving=draw] .skills-stroke--dashed{stroke-dashoffset:0;animation:skills-out .14s ease var(--back-delay) both}.skills-cell[data-leaving=draw] .skills-live{animation:skills-out .2s ease both}.skills-cell[data-leaving=draw] .skills-plate__shade,.skills-cell[data-leaving=draw] .skills-plate__grid,.skills-cell[data-leaving=draw] .skills-plate__dim,.skills-cell[data-leaving=draw] .skills-plate__note,.skills-cell[data-leaving=draw] .skills-plate__dims path{animation:skills-out .22s ease calc(var(--back-start) - .14s) both}.skills-cell[data-leaving=draw] .skills-plate__dims path{stroke-dashoffset:0}.skills-cell[data-leaving=draw] .skills-plate__over path,.skills-cell[data-leaving=draw] .skills-plate__ticks path{animation:skills-out 80ms ease calc(var(--back-start) + var(--line-back-ms) * (1 - var(--at)) - 40ms) both}.skills-cell[data-leaving=draw] .skills-plate__marks path{animation:skills-mark-out .2s ease calc(var(--back-start) + var(--line-back-ms) * (1 - var(--at)) - .12s) both}@keyframes skills-mark-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.4)}}@media(prefers-reduced-motion:reduce){.skills-card *,.skills-card{animation-duration:1ms!important;animation-delay:0ms!important}}@media(max-width:900px){.skills-focus{display:none}}.about-copy .about-studio-link{position:relative;white-space:nowrap}.about-studio-tip{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:2;display:grid;width:28px;height:28px;place-items:center;border-radius:8px;background:linear-gradient(180deg,#0000,#0003),var(--color-control);box-shadow:0 4px 5px 1px #0000001a,0 2px 2px #00000040,0 0 0 .5px #0000008c,inset 0 2px 1px #ffffff26,inset 0 -1.5px 1px #00000026;opacity:0;pointer-events:none;transform:translate(-50%,3px) scale(.96);transform-origin:50% 100%;transition:opacity .16s ease,transform .2s cubic-bezier(.22,1,.36,1)}.about-studio-tip img{display:block;width:18px;height:18px}.about-studio-link:hover .about-studio-tip,.about-studio-link:focus-visible .about-studio-tip{opacity:1;transform:translate(-50%) scale(1)}@media(prefers-reduced-motion:reduce){.about-studio-tip{transition:none}}.about-copy .about-studio-link:focus-visible{outline:1px dashed currentColor;outline-offset:4px}.bifrost-page{--navigation-control-height: 28px;background:var(--color-canvas);color:#000;font-size:12px;line-height:1.4}.bifrost-header{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:28px minmax(0,1fr) 28px;height:63px;align-items:center;padding:20px 16px 15px}.bifrost-header-center{display:flex;align-items:center;gap:4px;justify-self:center}.bifrost-header-spacer{width:28px;height:28px}.bifrost-main{width:calc(100% - 32px);margin-inline:auto;padding-bottom:24px}.bifrost-overview{display:grid;min-height:calc(98vh - 79px);min-height:calc(98svh - 79px);grid-template-columns:285px 542px 285px;justify-content:center;align-content:center;gap:16px;padding-block:120px;margin-bottom:16px}.bifrost-details,.bifrost-description{display:flex;min-width:0;flex-direction:column;justify-content:space-between}.bifrost-overview{grid-template-rows:1fr auto 1fr}.bifrost-details,.bifrost-description{grid-row:2}.bifrost-cover{grid-row:1 / 4;align-self:center}.bifrost-details h1{font:inherit;letter-spacing:.24px}.bifrost-category{margin-top:2px;color:#0009;letter-spacing:-.24px}.bifrost-facts{margin:12px 0 0;letter-spacing:-.24px}.bifrost-fact{display:grid;grid-template-columns:80px minmax(0,1fr);gap:20px;padding-block:20px;border-bottom:.5px solid rgb(0 0 0 / 10%)}.bifrost-fact:last-child{padding-bottom:0;border:0}.bifrost-fact dt,.bifrost-fact dd{margin:0;color:#0009}.bifrost-fact dd>span{display:block}.bifrost-closing{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.bifrost-visit-frame{display:block;padding:.5px;border-radius:var(--radius-control);background:#f0f0f0}.bifrost-visit{display:flex;height:25px;align-items:center;justify-content:center;gap:4px;padding:4px 12px 4px 14px;border:.5px solid rgb(0 0 0 / 10%);border-radius:var(--radius-control);background:linear-gradient(180deg,#fff3 50%,#e6e6e633),#fff;box-shadow:inset 0 .5px .5px #fff9,inset 0 -.5px .5px #0003;text-shadow:.5px .5px 1px rgb(0 0 0 / 15%),.3px .3px .4px rgb(0 0 0 / 20%);white-space:nowrap}.bifrost-cover{position:relative;overflow:hidden;height:475px;background:#00281e}.bifrost-description{color:#0009;letter-spacing:-.24px}.bifrost-description>div p+p{margin-top:16.8px}.bifrost-gallery{container-type:inline-size}.bifrost-gallery-rows{--u: calc(100cqw / 1408);display:flex;flex-direction:column;gap:calc(12 * var(--u))}.bifrost-gallery-row{display:flex;gap:calc(12 * var(--u))}.bifrost-gallery-column{display:flex;flex-direction:column;gap:calc(12 * var(--u))}.bifrost-motion-stage{position:absolute;inset:0;overflow:hidden}.bifrost-motion{position:relative;width:calc(var(--frame-width) * var(--u));margin:0;overflow:hidden;aspect-ratio:var(--frame-ratio)}.bifrost-motion-label{position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;text-shadow:.5px .5px 1px rgb(0 0 0 / 15%),.3px .3px .4px rgb(0 0 0 / 20%)}.bifrost-motion-label--light{color:#fff}.bifrost-motion-label--dark{color:#000}@media(max-width:1245px){.bifrost-overview{grid-template-columns:minmax(0,285fr) minmax(0,542fr) minmax(0,285fr)}.bifrost-cover{height:auto;aspect-ratio:542 / 475}.bifrost-details,.bifrost-description{gap:24px}}@media(max-width:900px){.bifrost-overview{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);grid-template-rows:none;padding-block:64px}.bifrost-details,.bifrost-description,.bifrost-cover{grid-row:auto}.bifrost-description{grid-column:1 / -1;gap:24px}.bifrost-cover{align-self:start}}@media(max-width:600px){.bifrost-main{width:calc(100% - 32px)}.bifrost-overview{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:48px}.bifrost-gallery-rows,.bifrost-gallery-row,.bifrost-gallery-column{gap:12px}.bifrost-gallery-row{flex-direction:column}.bifrost-motion{width:100%}}.recent-work-page{--navigation-control-height: 28px;background:var(--color-canvas);color:#000;font-size:12px;line-height:1.4}.recent-work-header{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:28px minmax(0,1fr) 28px;height:63px;align-items:center;padding:20px 16px 15px}.recent-work-header-center{display:flex;align-items:center;gap:4px;justify-self:center}.recent-work-header-spacer{width:28px;height:28px}.recent-work-main{width:calc(100% - 32px);margin-inline:auto;padding-bottom:24px}.recent-work-overview{display:grid;min-height:calc(98vh - 79px);min-height:calc(98svh - 79px);grid-template-columns:285px 542px 285px;justify-content:center;align-content:center;gap:16px;padding-block:120px;margin-bottom:16px}.recent-work-details,.recent-work-description{display:flex;min-width:0;flex-direction:column;justify-content:space-between}.recent-work-details h1{font:inherit;letter-spacing:.24px}.recent-work-category{margin-top:2px;color:#0009;letter-spacing:-.24px}.recent-work-facts{margin:12px 0 0;letter-spacing:-.24px}.recent-work-fact{display:grid;grid-template-columns:50px minmax(0,1fr);gap:20px;padding-block:10px;border-bottom:.5px solid rgb(0 0 0 / 10%)}.recent-work-fact:last-child{border:0}.recent-work-fact dt,.recent-work-fact dd{margin:0;color:#0009}.recent-work-fact dd>span{display:block}.recent-work-cover{position:relative;overflow:hidden;aspect-ratio:536 / 410.2040710449219;background:#fafafa}.recent-work-card-viewport{position:absolute;inset:0;overflow:hidden}.project-image .recent-work-card-viewport{--recent-work-artwork-scale: .89}.recent-work-description{color:#0009;letter-spacing:-.24px}.recent-work-description>div p+p{margin-top:16.8px}@media(max-width:1245px){.recent-work-overview{grid-template-columns:minmax(0,285fr) minmax(0,542fr) minmax(0,285fr)}.recent-work-details,.recent-work-description{gap:24px}}@media(max-width:900px){.recent-work-overview{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);padding-block:64px}.recent-work-description{grid-column:1 / -1;gap:24px}.recent-work-cover{align-self:start}}@media(max-width:600px){.recent-work-main{width:calc(100% - 32px)}.recent-work-overview{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:48px}}:root{color-scheme:light;--color-canvas: #fafafa;--color-footer: #fafafa;--color-ink: #1b1b1b;--color-muted: rgba(27, 27, 27, .7);--color-project: #ebebeb;--color-control: #656565;--color-control-stroke-top: rgba(255, 255, 255, .2);--color-control-stroke-bottom: rgba(153, 153, 153, .2);--font-family: "Geist", Arial, sans-serif;--content-width: 587px;--page-gutter: 16px;--radius-control: 999px;--radius-project: 12px}@font-face{font-family:Geist;src:url(/assets/geist-regular-D4JGb6Q4.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}*{box-sizing:border-box}html{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-family);font-size:16px;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}body{margin:0;min-width:320px;background:var(--color-canvas)}button,a{color:inherit;font:inherit}button{border:0}a{text-decoration:none}img{display:block}p,h1,h2,h3{margin:0}:focus-visible{outline:2px solid #1b1b1b;outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.portfolio{position:relative;isolation:isolate;min-height:100%;padding-top:100vh;padding-top:100svh;background:var(--color-canvas)}.project-layer{position:fixed;inset:0;z-index:10;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--color-canvas)}html.project-open{overflow:hidden}::view-transition-old(root){animation:none;opacity:0}::view-transition-new(root){animation:none}::view-transition-group(project-cover){z-index:3;overflow:hidden;animation-duration:715ms;animation-delay:0ms;animation-timing-function:cubic-bezier(0,1,.4,1);animation-fill-mode:both}::view-transition-old(project-cover){animation:none;opacity:0}::view-transition-new(project-cover){top:50%;width:100%;height:auto;animation:none;translate:0 -50%}html.project-vt-close::view-transition-old(project-cover){top:50%;width:100%;height:auto;opacity:1;translate:0 -50%}html.project-vt-close::view-transition-new(project-cover){opacity:0}::view-transition-group(project-layer){z-index:1;animation:none}::view-transition-old(project-layer),::view-transition-new(project-layer){animation:none}html.project-vt-open::view-transition-new(project-layer){animation:project-layer-open .15s ease-out 0ms both}html.project-vt-close::view-transition-old(project-layer){animation:project-fade-out .1s ease-out 0ms both}::view-transition-group(project-part-title),::view-transition-group(project-part-category),::view-transition-group(project-part-metadata),::view-transition-group(project-part-url),::view-transition-group(project-part-description),::view-transition-group(project-part-actions){z-index:2;animation:none}::view-transition-old(project-part-title),::view-transition-new(project-part-title),::view-transition-old(project-part-category),::view-transition-new(project-part-category),::view-transition-old(project-part-metadata),::view-transition-new(project-part-metadata),::view-transition-old(project-part-url),::view-transition-new(project-part-url),::view-transition-old(project-part-description),::view-transition-new(project-part-description),::view-transition-old(project-part-actions),::view-transition-new(project-part-actions){animation:none}html.project-vt-open::view-transition-new(project-part-title){animation:project-part-in 385ms cubic-bezier(0,1,.4,1) 715ms both}html.project-vt-open::view-transition-new(project-part-category){animation:project-part-in 385ms cubic-bezier(0,1,.4,1) 765ms both}html.project-vt-open::view-transition-new(project-part-metadata){animation:project-part-in 385ms cubic-bezier(0,1,.4,1) 815ms both}html.project-vt-open::view-transition-new(project-part-url){animation:project-part-in 385ms cubic-bezier(0,1,.4,1) 815ms both}html.project-vt-open::view-transition-new(project-part-description){animation:project-part-in 385ms cubic-bezier(0,1,.4,1) 865ms both}html.project-vt-open::view-transition-new(project-part-actions){animation:project-part-in 385ms cubic-bezier(0,1,.4,1) 915ms both}html.project-vt-close::view-transition-old(project-part-title){animation:project-fade-out .12s ease-out 0ms both}html.project-vt-close::view-transition-old(project-part-category){animation:project-fade-out .12s ease-out 0ms both}html.project-vt-close::view-transition-old(project-part-metadata){animation:project-fade-out .12s ease-out 0ms both}html.project-vt-close::view-transition-old(project-part-url){animation:project-fade-out .12s ease-out 0ms both}html.project-vt-close::view-transition-old(project-part-description){animation:project-fade-out .12s ease-out 0ms both}html.project-vt-close::view-transition-old(project-part-actions){animation:project-fade-out .12s ease-out 0ms both}@keyframes project-layer-open{0%{opacity:0}to{opacity:1}}@keyframes project-fade-out{0%{opacity:1}to{opacity:0}}@keyframes project-part-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.intro-layer{--intro-cover: 0;position:fixed;inset:0;z-index:0;display:flex;justify-content:center;width:100%;height:100vh;height:100svh;min-height:0;overflow:hidden;background:var(--color-canvas);backface-visibility:hidden}.intro-layer>.intro-panel{opacity:calc(1 - var(--intro-cover));will-change:opacity}.intro-panel{display:flex;width:min(var(--content-width),calc(100% - 32px));height:100%;min-height:0;flex-direction:column;padding:61px 0 24px;overflow:hidden;border-right:1px solid rgba(0,0,0,.1);border-left:1px solid rgba(0,0,0,.1);background:var(--color-canvas);box-shadow:-1px 0 #fff,1px 0 #fff}.site-header{position:fixed;top:0;left:0;z-index:3;display:flex;width:100%;height:61px;flex:0 0 61px;align-items:center;justify-content:center}.site-nav{position:relative;width:375px;height:32px;flex:0 0 375px}@media(max-width:419px){.site-nav{translate:calc(var(--navigation-progress, 0) * -16px) 0}}.nav-material,.nav-inner-highlight{position:absolute;inset:0;overflow:visible;pointer-events:none}.nav-inner-highlight{z-index:2}.nav-surface{position:relative;overflow:hidden;border:.5px solid transparent;border-radius:var(--radius-control);background:linear-gradient(180deg,#0000,#0003),var(--color-control);box-shadow:0 4px 5px 1px #0000001a,0 2px 2px #00000040,0 0 0 .5px #0000008c}.nav-surface:before,.nav-surface:after{position:absolute;inset:-.5px;border-radius:inherit;content:"";pointer-events:none}.nav-surface:before{z-index:2;padding:.5px;background:linear-gradient(180deg,var(--navigation-rim-top, var(--color-control-stroke-top)),var(--navigation-rim-bottom, var(--color-control-stroke-bottom)));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}.nav-surface:after{z-index:2;box-shadow:inset 0 2px 1px #ffffff26,inset 0 -1.5px 1px #00000026}.nav-circle{display:flex;width:var(--navigation-control-height);height:var(--navigation-control-height);flex:0 0 var(--navigation-control-height);align-items:center;justify-content:center;padding:0 4px}.nav-link{position:relative;display:block;flex:0 0 var(--navigation-control-height)}.nav-link:after{position:absolute;inset:-8px -2px;content:""}.tap-target{position:relative}.tap-target:after{position:absolute;inset:var(--tap-inset, -8px);content:""}.social-button.tap-target{--tap-inset: -7.5px -1px}:is(.beam-visit,.bifrost-visit).tap-target{--tap-inset: -9.5px -4px}.nav-title{position:relative;display:flex;min-width:103px;height:28px;box-sizing:border-box;align-items:center;justify-content:center;padding:5px 10px;border:.5px solid transparent;border-radius:var(--radius-control);background:linear-gradient(180deg,#0000,#0003),var(--color-control);box-shadow:inset 0 0 12px #ffffff40;color:#fff;font-size:12px;line-height:1.4;white-space:nowrap;text-shadow:.5px .5px 1px rgba(0,0,0,.25),.3px .3px .4px rgba(0,0,0,.25)}.nav-title:before{position:absolute;inset:-.5px;padding:.5px;border-radius:inherit;background:linear-gradient(180deg,var(--color-control-stroke-top),var(--color-control-stroke-bottom));content:"";pointer-events:none;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}.site-nav>.nav-link{position:absolute;top:2px;left:0}.nav-segments{position:absolute;top:2px;left:0;height:var(--navigation-control-height);overflow:hidden;border-radius:var(--radius-control)}.nav-segments{--navigation-border-space: 1px;border:.5px solid transparent}.nav-segments-content{position:absolute;top:1px;left:3px;display:flex;height:27px;align-items:center;pointer-events:none}.nav-segments-content button,.nav-segments-content>a,.nav-about{display:flex;height:27px;align-items:center;justify-content:center;border-radius:var(--radius-control);color:#fff;font-size:12px;line-height:1.4;letter-spacing:-.24px;white-space:nowrap;text-shadow:.5px .5px 1px rgba(0,0,0,.3),.3px .3px .4px rgba(0,0,0,.2)}.nav-segments-content button,.nav-segments-content>a{width:74px;flex:0 0 74px;gap:4px;padding:5px 12px;background:transparent}.nav-segments-content--intro{top:-.5px;left:1.5px}.nav-segments-content--works .nav-project-tab{position:relative;z-index:1;width:var(--nav-tab-width);flex-basis:var(--nav-tab-width);height:23px;padding:3px 10px;opacity:1;cursor:pointer;transition:opacity .16s ease}.nav-segments-content--works{--nav-tab-width: 121px;top:50%;left:calc(2.5px - var(--navigation-border-space, 0px));width:calc(2 * var(--nav-tab-width));height:23px;transform:translateY(-50%)}.nav-tab-indicator{position:absolute;top:0;left:0;width:var(--nav-tab-width);height:100%;border-radius:var(--radius-control);background:#fff3;box-shadow:inset 0 0 0 .3px #fff3,inset 0 0 2px #ffffff5c,inset 0 0 4px #ffffff29;pointer-events:none;transform:translate(0);transition:transform .18s cubic-bezier(.22,1,.36,1)}.nav-segments-content--works[data-active=recent] .nav-tab-indicator{transform:translate(var(--nav-tab-width))}.nav-segments-content--works .nav-project-tab[aria-selected=true]{opacity:1}.site-nav[data-works-settled=true] .nav-segments-content--works{pointer-events:auto}.nav-about{position:absolute;top:2px;left:0;z-index:1;height:var(--navigation-control-height);cursor:pointer}.site-nav[data-works-settled=true] .nav-about{padding:0 4px}.nav-about:focus-visible{outline:2px solid #1b1b1b;outline-offset:3px}.nav-surface{transition:box-shadow .18s ease,filter .18s ease}.nav-surface:after{transition:box-shadow .18s ease}.nav-link{cursor:pointer}.nav-link:hover>.nav-circle.nav-surface{filter:brightness(1.12)}.nav-link:hover>.nav-circle.nav-surface:after{box-shadow:inset 0 2px 1px #ffffff47,inset 0 -1.5px 1px #00000026}.nav-link:active>.nav-circle.nav-surface{box-shadow:0 1px 1.5px #00000014,0 .5px .5px #0003,0 0 0 .5px #0000008c;filter:brightness(.86)}.nav-link:active>.nav-circle.nav-surface:after{box-shadow:inset 0 1.5px 2px #00000059,inset 0 -1px 1px #ffffff0f}.nav-segments-content--works .nav-project-tab,.site-nav[data-state=intro] :is(.nav-segments-content--intro>a,.nav-about):before{box-shadow:inset 0 0 0 .3px #fff0,inset 0 1px 1.5px #0000;transition:opacity .16s ease,background-color .18s ease,box-shadow .18s ease}.site-nav[data-state=intro] .nav-segments-content--intro>a{position:relative;z-index:0}.site-nav[data-state=intro] :is(.nav-segments-content--intro>a,.nav-about):before{position:absolute;z-index:-1;border-radius:var(--radius-control);content:"";pointer-events:none}.site-nav[data-state=intro] .nav-about{padding-left:2px}.site-nav[data-state=intro] .nav-about:before{inset:2.5px -2px 2.5px 0}.site-nav[data-state=intro] .nav-segments-content--intro>a:before{inset:3px -.5px 1px .5px}.nav-segments-content--works .nav-project-tab[aria-selected=false]:hover,.site-nav[data-state=intro] :is(.nav-segments-content--intro>a,.nav-about):hover:before{background-color:#ffffff14;box-shadow:inset 0 0 0 .3px #ffffff29,inset 0 1px 1.5px #0000}.nav-segments-content--works .nav-project-tab[aria-selected=false]:active,.site-nav[data-state=intro] :is(.nav-segments-content--intro>a,.nav-about):active:before{background-color:#0000001f;box-shadow:inset 0 0 0 .3px #ffffff14,inset 0 1px 1.5px #00000059}.site-nav[data-state=works] .nav-about:before{position:absolute;z-index:-1;inset:0;border-radius:var(--radius-control);box-shadow:inset 0 0 0 .3px #fff0,inset 0 1px 1.5px #0000;content:"";pointer-events:none;transition:background-color .18s ease,box-shadow .18s ease}.site-nav[data-state=works] .nav-about:hover:before{background-color:#ffffff14;box-shadow:inset 0 0 0 .3px #ffffff29,inset 0 1px 1.5px #0000}.site-nav[data-state=works] .nav-about:active:before{background-color:#0000001f;box-shadow:inset 0 0 0 .3px #ffffff14,inset 0 1px 1.5px #00000059}@media(prefers-reduced-motion:reduce){.site-nav[data-state=works] .nav-about:before{transition:none}.nav-surface,.nav-surface:after,.nav-segments-content--works .nav-project-tab,.site-nav[data-state=intro] :is(.nav-segments-content--intro>a,.nav-about):before{transition:none}}.nav-about-label{flex:0 0 auto;overflow:hidden}.nav-about-label>span{display:block;padding-left:4px}.nav-icon{position:relative;z-index:1;display:block;width:14px;height:14px;flex:0 0 14px}.nav-icon img{display:block;width:100%;height:100%;max-width:none}.nav-icon--logo,.nav-icon--about{overflow:hidden}.nav-icon--logo>span{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}.nav-icon--logo img{width:auto;height:auto}.nav-icon--works>span{position:absolute;inset:10.42% 6.25% 14.58%}.nav-icon--works>span>img{position:absolute;top:-9.52%;left:-8.16%;width:124.49%;height:128.57%}.nav-icon--about>span{position:absolute;inset:6.33% 6.33% 9.72% 6.32%}.nav-icon--about>span>img{position:absolute;top:-4.25%;left:-4.09%;width:116.36%;height:121.27%}.nav-icon--contact>img{position:absolute;inset:0}.intro-body{display:flex;width:100%;min-height:0;flex:1;align-items:center;padding:24px 16px}.intro-content{display:flex;width:100%;flex-direction:column;gap:70px}.intro-identity,.intro-copy{font-size:14px;line-height:1.4}.intro-identity{display:flex;flex-direction:column;gap:2px}.intro-identity h1{font-size:inherit;font-weight:400;letter-spacing:-.28px}.intro-identity p{color:var(--color-muted)}.intro-copy{display:flex;flex-direction:column;gap:12px}.intro-lead{width:min(420px,100%)}.intro-actions{position:relative;display:flex;min-height:33px;align-items:center;gap:8px}.pill-button{position:relative;display:inline-flex;height:33px;flex:0 0 auto;cursor:default;align-items:center;justify-content:center;gap:4px;overflow:hidden;padding:6px 12px 6px 14px;border-radius:var(--radius-control);font-size:14px;line-height:1.4;text-decoration:none;white-space:nowrap}.pill-button img{width:14px;height:14px;object-fit:contain}.pill-button--dark{border:.5px solid rgba(0,0,0,.2);color:#fff;background:linear-gradient(180deg,#0000,#0006),#636363;box-shadow:0 0 0 .5px #d6d6d6,inset 0 1.5px .6px #ffffff26,inset 0 -1px .5px #000;text-shadow:.5px .5px 1px rgba(0,0,0,.3),.3px .3px .4px rgba(0,0,0,.2)}.pill-button--light{border:.5px solid rgba(0,0,0,.15);color:#000;background:linear-gradient(180deg,#fff3 50%,#e6e6e633),#fff;box-shadow:0 0 0 .5px #f0f0f0,inset 0 .5px .5px #fff9,inset 0 -.5px .5px #0003;text-shadow:.5px .5px 1px rgba(0,0,0,.25),.4px .4px .4px rgba(0,0,0,.25)}.social-links{display:flex;align-items:center;gap:2px}.social-links .social-button{display:grid;width:29px;height:29px;flex:0 0 29px;padding:0;place-items:center;border-radius:var(--radius-control);background:transparent;cursor:default}.social-links img{width:14px;height:14px;object-fit:contain}.foreground-layer{position:relative;z-index:1;display:flex;min-height:100vh;min-height:100svh;flex-direction:column;isolation:isolate;background:var(--color-canvas);box-shadow:0 -.5px #fff;will-change:transform}.works-section{position:relative;z-index:1;width:100%;padding:120px 0 0;overflow:hidden;background:var(--color-canvas);box-shadow:inset 0 .5px #0000001a,0 0 0 .5px #fff;scroll-margin-top:0}.works-navigation-trigger{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}.works-grid{display:grid;width:100%;max-width:calc(1408px + 2 * var(--page-gutter));margin-inline:auto;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:348px;column-gap:12px;row-gap:16px;padding:24px var(--page-gutter);box-shadow:0 0 0 .5px #fff;animation:works-grid-in .26s cubic-bezier(.22,1,.36,1) both}@keyframes works-grid-in{0%{opacity:0}}.project-card{position:relative;display:flex;width:100%;max-width:343px;min-width:0;align-self:start;flex-direction:column;gap:12px}.project-card-link:after{position:absolute;inset:0;z-index:1;content:""}.project-card-link:focus-visible{outline:none}.project-card-link:focus-visible:after{outline:2px solid var(--color-ink);outline-offset:4px}.project-card--1{grid-column:1;grid-row:1}.project-card--2{grid-column:3;grid-row:1}.project-card--3{grid-column:4;grid-row:1}.project-card--4{grid-column:2;grid-row:2}.project-card--5{grid-column:3;grid-row:2}.project-card--6{grid-column:1;grid-row:3}.project-card--7{grid-column:2;grid-row:3}.project-card--8{grid-column:4;grid-row:3}.recent-card--1{grid-column:2;grid-row:1}.recent-card--2{grid-column:4;grid-row:1}.recent-card--3{grid-column:1;grid-row:2}.recent-card--4{grid-column:2;grid-row:2}.recent-card--5{grid-column:3;grid-row:3}.recent-card--6{grid-column:1;grid-row:4}.recent-card--7{grid-column:3;grid-row:4}.project-meta{display:flex;height:36px;flex:0 0 36px;flex-direction:column;gap:2px;color:#000;font-size:12px;font-weight:400;line-height:1.4;white-space:nowrap}.project-meta h3{font-size:12px;font-weight:400;letter-spacing:.24px}.project-meta div{display:flex;align-items:center;justify-content:space-between}.project-meta p{opacity:.6;letter-spacing:-.24px}.project-meta time{opacity:.6;font-size:10px;letter-spacing:-.2px}.project-meta h3.project-locked-title{display:flex;align-items:flex-start;gap:2px}.project-meta time.project-soon{opacity:.2}@property --reveal-radius{syntax: "<length>"; inherits: false; initial-value: 0px;}.project-colour-reveal{--reveal-radius: 0px;position:absolute;inset:0;pointer-events:none;-webkit-backdrop-filter:grayscale(1);backdrop-filter:grayscale(1);-webkit-mask-image:radial-gradient(circle at var(--reveal-x, 50%) var(--reveal-y, 50%),transparent calc(var(--reveal-radius) - 48px),#000 var(--reveal-radius));mask-image:radial-gradient(circle at var(--reveal-x, 50%) var(--reveal-y, 50%),transparent calc(var(--reveal-radius) - 48px),#000 var(--reveal-radius));transition:--reveal-radius .42s cubic-bezier(.22,1,.36,1)}.project-image[data-reveal] .project-colour-reveal{--reveal-radius: 150px}@media(max-width:767px),(hover:none),(pointer:coarse){.project-cover-image--locked{filter:grayscale(1)}.project-colour-reveal{display:none}}@media(prefers-reduced-motion:reduce){.project-colour-reveal{transition:none}}.project-locked-grid{position:absolute;top:50%;left:50%;transform:translate(calc(-50% + 61.43px),calc(-50% + .25px));pointer-events:none}.project-locked-padlock{position:absolute;top:50%;left:50%;display:flex;transform:translate(-50%,-50%)}.project-image{position:relative;display:grid;width:100%;height:auto;aspect-ratio:343 / 300;flex:none;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-project);background:var(--color-project);color:#000;font-size:12px;line-height:1.4;letter-spacing:.24px}.header-fade{position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(to bottom,var(--color-canvas) 0%,color-mix(in srgb,var(--color-canvas) 94%,transparent) 25%,color-mix(in srgb,var(--color-canvas) 80%,transparent) 45%,color-mix(in srgb,var(--color-canvas) 60%,transparent) 60%,color-mix(in srgb,var(--color-canvas) 35%,transparent) 75%,color-mix(in srgb,var(--color-canvas) 14%,transparent) 88%,transparent 100%)}.project-cover-image{position:absolute;top:0;left:50%;display:block;width:auto;max-width:none;height:100%;transform:translate(-50%)}.project-cover-image--fill-width{top:50%;left:0;width:100%;height:auto;transform:translateY(-50%)}.scene-fit{position:absolute;inset:0;overflow:hidden}.scene-fit-stage{position:absolute;top:0;left:0;transform-origin:0 0}.project-image--media{border:0;border-radius:0}.project-image--locked{border:1px solid rgb(0 0 0 / 10%);border-radius:0;background:#fafafa}.project-image--media:after{position:absolute;top:0;left:0;width:200%;height:200%;box-sizing:border-box;border:1px solid rgb(0 0 0 / 15%);content:"";pointer-events:none;transform:scale(.5);transform-origin:0 0}.contact-footer{position:relative;z-index:2;display:flex;min-height:100vh;flex:none;flex-direction:column;background:var(--color-footer)}.contact-area{position:relative;display:flex;min-height:0;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;padding:84px var(--page-gutter) 132px;overflow:hidden;background:var(--color-footer);box-shadow:0 0 0 .5px #fff}.contact-glass{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;pointer-events:none}.contact-glass-fallback{position:absolute;top:50%;left:50%;z-index:0;transform:translate(-50%,-50%);pointer-events:none}.contact-glass-fallback[hidden]{display:none}.contact-pill{position:relative;z-index:1;display:flex;margin-top:calc(min(160px,100vw / 2.9)*2.32 + 80px);width:auto;max-width:100%;align-items:center;justify-content:space-between;gap:12px;padding:8px;border-radius:60px;background:linear-gradient(90deg,#63636314,#63636314),linear-gradient(180deg,#fff3 50%,#e6e6e633),#fff}.contact-pill p{flex:none;white-space:nowrap;padding:0 0 0 12px;color:#000;font-size:14px;line-height:1.4;text-shadow:.5px .5px 1px rgba(0,0,0,.25),.3px .3px .4px rgba(0,0,0,.25)}.contact-note--phone{display:none}.contact-pill .pill-button--dark{box-shadow:0 0 0 .5px #d6d6d614,inset 0 1px 1px #ffffff26,inset 0 -1px .5px #000;text-shadow:.5px .5px 1px rgba(0,0,0,.85),.3px .3px .4px #000}.pill-button--dark.skeuo-button{box-shadow:0 0 0 .5px var(--skeuo-ring, rgb(214 214 214 / 8%)),inset 0 1px 1px #ffffff26,inset 0 -1px .5px #000;cursor:pointer;transition:box-shadow .18s ease,filter .18s ease,transform .12s ease}.pill-button--dark.skeuo-button:hover{box-shadow:0 0 0 .5px var(--skeuo-ring, rgb(214 214 214 / 8%)),inset 0 1px 1px #ffffff4d,inset 0 -1px .5px #000;filter:brightness(1.12)}.pill-button--dark.skeuo-button:active{box-shadow:0 0 0 .5px var(--skeuo-ring, rgb(214 214 214 / 8%)),inset 0 1.5px 3px #0000008c,inset 0 -.5px .5px #ffffff1a;filter:brightness(.86);transform:translateY(.5px)}.intro-actions .pill-button--dark{--skeuo-ring: #d6d6d6}:is(.pill-button--light,.beam-visit,.bifrost-visit).skeuo-button{box-shadow:0 0 0 .5px var(--skeuo-light-ring, #f0f0f0),inset 0 .5px .5px #fff9,inset 0 -.5px .5px #0003;cursor:pointer;transition:box-shadow .18s ease,filter .18s ease,transform .12s ease}:is(.pill-button--light,.beam-visit,.bifrost-visit).skeuo-button:hover{box-shadow:0 0 0 .5px var(--skeuo-light-ring, #e4e4e4),inset 0 1px 1px #fff,inset 0 -1px 1px #00000029;filter:brightness(.985)}:is(.pill-button--light,.beam-visit,.bifrost-visit).skeuo-button:active{box-shadow:0 0 0 .5px var(--skeuo-light-ring, #e4e4e4),inset 0 1px 2.5px #0000002e,inset 0 -.5px .5px #fff9;filter:brightness(.95);transform:translateY(.5px)}:is(.beam-visit,.bifrost-visit){--skeuo-light-ring: transparent}.copy-email-swap{display:grid}.copy-email-state{display:inline-flex;grid-area:1 / 1;align-items:center;justify-content:center;gap:4px;transition:opacity .24s ease,filter .24s ease,transform .24s cubic-bezier(.22,1,.36,1)}.copy-email-state svg{width:14px;height:14px;filter:drop-shadow(.5px .5px .5px rgb(0 0 0 / 25%))}.copy-email-state--done{opacity:0;filter:blur(4px);transform:translateY(5px)}.copy-email[data-copied] .copy-email-state--idle{opacity:0;filter:blur(4px);transform:translateY(-5px)}.copy-email[data-copied] .copy-email-state--done{opacity:1;filter:blur(0);transform:none}@media(prefers-reduced-motion:reduce){.copy-email-state{transition:none}}.skeuo-button:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.social-links .social-button{position:relative;cursor:pointer}.social-button img{position:relative;transition:transform .12s ease,filter .18s ease,opacity .12s ease}.social-button:hover img{filter:brightness(0)}.social-button:active img{opacity:.75;transform:translateY(.5px)}.social-button:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}@media(prefers-reduced-motion:reduce){.skeuo-button,.social-button img{transition:none}.skeuo-button:active,.social-button:active img{transform:none}}.footer-socials{display:grid;height:77px;flex:0 0 77px;place-items:center;padding:24px;overflow:hidden;background:var(--color-footer);box-shadow:0 0 0 .5px #fff}@media(prefers-reduced-motion:reduce){.nav-tab-indicator,.nav-project-tab{transition:none}.works-grid{animation:none}}@media(max-width:1023px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;row-gap:32px}.project-card{max-width:none;grid-column:auto;grid-row:auto}.project-image{height:auto;aspect-ratio:343 / 300}}@media(max-width:767px){.intro-panel{width:100%;border:0;box-shadow:none}.intro-content{gap:clamp(36px,8vh,70px)}.intro-actions{flex-wrap:wrap}.intro-socials{flex-basis:100%}.works-section{padding:80px 0 0}.works-grid{grid-template-columns:1fr;padding-top:24px;padding-bottom:24px}.contact-footer{height:auto;flex-basis:auto}.contact-area{padding:56px var(--page-gutter) 104px}.contact-note--wide{display:none}.contact-note--phone{display:inline}}@media(max-width:479px){.intro-copy{font-size:13px}.contact-pill p{font-size:12px}}@media(max-width:389px){.contact-pill p{font-size:calc((100vw - 32px) * 12 / 364)}.contact-pill .pill-button{font-size:calc((100vw - 32px) * 14 / 364)}}.works-section{position:relative}.works-panel[data-active=false]{position:absolute;top:0;left:0;width:100%;visibility:hidden;pointer-events:none}.works-panel[data-active=false] *{animation-play-state:paused!important}html.project-open .portfolio .site-nav{visibility:hidden}.project-layer--preparing{opacity:0;pointer-events:none}@keyframes project-cover-fit{0%{width:var(--cover-from-width);height:var(--cover-from-height);left:var(--cover-from-left);top:var(--cover-from-top)}to{width:var(--cover-to-width);height:var(--cover-to-height);left:var(--cover-to-left);top:var(--cover-to-top)}}html.project-cover-fitted.project-vt-open::view-transition-new(project-cover),html.project-cover-fitted.project-vt-close::view-transition-old(project-cover){max-width:none;translate:none;animation:project-cover-fit 715ms cubic-bezier(0,1,.4,1) both}
