@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.contents{display:contents}.hidden{display:none}.table{display:table}.resize{resize:both}}:root{--green:#63d679;--green-bright:#72e284;--ink:#0b0b0b;--paper:#f3f2ed;--white:#fff;--line:#0b0b0b24;--hero-scroll:0}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;text-rendering:optimizelegibility;margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline-offset:4px;outline:3px solid #ffe66a}img{max-width:100%}.hero{background-color:var(--green);background-image:linear-gradient(#0b0b0b14 1px,#0000 1px),linear-gradient(90deg,#0b0b0b14 1px,#0000 1px),linear-gradient(#ffffff14 1px,#0000 1px),linear-gradient(90deg,#ffffff14 1px,#0000 1px);background-size:48px 48px,48px 48px,12px 12px,12px 12px;grid-template-columns:minmax(0,1fr);place-items:center;width:100%;max-width:100vw;min-height:840px;padding:150px 24px 105px;display:grid;position:relative;overflow:hidden}.site-header{z-index:20;background:var(--white);border-radius:999px;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;width:min(1280px,100% - 48px);height:58px;padding:7px 12px 7px 22px;transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .26s,background-color .26s;display:grid;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 9px #0b0b0b17}.motion-ready .site-header{position:fixed}.site-header.is-scrolled{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;box-shadow:0 12px 35px #0b0b0b29}.site-header.is-scroll-hidden{transform:translate(-50%,-92px)}.brand{letter-spacing:-.06em;width:fit-content;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:25px;font-weight:950;transform:skew(-5deg)}.brand sup{font-family:var(--font-geist-mono);letter-spacing:0;vertical-align:top;margin-left:2px;font-size:8px}.site-header nav{font-family:var(--font-geist-mono);letter-spacing:.06em;text-transform:uppercase;gap:34px;font-size:12px;font-weight:650;display:flex}.site-header nav a,.login-link{position:relative}.site-header nav a:after,.login-link:after{content:"";background:var(--green);height:2px;transition:right .18s;position:absolute;bottom:-5px;left:0;right:100%}.site-header nav a:hover:after,.login-link:hover:after{right:0}.header-actions{font-family:var(--font-geist-mono);text-transform:uppercase;justify-self:end;align-items:center;gap:20px;font-size:12px;display:flex}.contact-pill{background:var(--ink);min-height:43px;color:var(--white);border-radius:999px;align-items:center;gap:10px;padding:0 18px;display:inline-flex}.contact-pill svg{width:16px}.hero-center{z-index:8;text-align:center;justify-items:center;width:min(820px,76vw);min-width:0;display:grid;position:relative}.hero-kicker{font-family:var(--font-geist-mono);letter-spacing:.04em;text-transform:uppercase;margin:0 0 18px;font-size:12px;font-weight:700}.hero h1{letter-spacing:-.085em;text-transform:uppercase;text-shadow:0 7px #0000001a;justify-items:center;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:clamp(4.7rem,8.9vw,9.2rem);font-weight:950;line-height:.77;display:grid}.hero h1 span{display:block}.hero h1 .reverse{background:var(--ink);width:fit-content;color:var(--white);letter-spacing:-.07em;margin-top:19px;padding:10px 29px 17px}.hero-intro{max-width:560px;margin:38px 0 0;font-size:clamp(1rem,1.5vw,1.2rem);font-weight:540;line-height:1.45}.hero-cta{background:var(--ink);min-height:49px;color:var(--white);font-family:var(--font-geist-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:12px;margin-top:28px;padding:0 24px;font-size:12px;font-weight:650;transition:transform .18s,background .18s;display:inline-flex}.hero-cta:hover{background:#232323;transform:translateY(-3px)}.hero-cta svg{width:16px}.hero-status{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--font-geist-mono);text-transform:uppercase;background:#ffffffc7;border-radius:999px;align-items:center;gap:8px;padding:8px 13px;font-size:10px;font-weight:650;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.hero-status span{background:#008b2d;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #008b2d26}.float-card{z-index:4;background:#ddd;border:1px solid #0b0b0b47;border-radius:7px;transition:transform .22s,filter .22s;position:absolute;overflow:hidden;box-shadow:0 14px 30px #0b0b0b2b}.float-card:hover{z-index:9;filter:saturate(1.12)}.float-card img{object-fit:cover;width:100%;height:100%;display:block}.float-struct{--intro-x:260px;--intro-y:150px;--exit-x:-150px;--exit-y:-85px;aspect-ratio:1.35;width:250px;top:145px;left:4.2%;transform:rotate(-1.5deg)}.float-struct:hover{transform:rotate(-1.5deg)translateY(-8px)}.float-flow{--intro-x:285px;--intro-y:-135px;--exit-x:-165px;--exit-y:115px;aspect-ratio:1.45;width:210px;bottom:102px;left:7.4%;transform:rotate(1deg)}.float-flow:hover{transform:rotate(1deg)translateY(-8px)}.float-w4u{--intro-x:-285px;--intro-y:-145px;--exit-x:175px;--exit-y:120px;aspect-ratio:1.4;width:260px;bottom:85px;right:3.3%;transform:rotate(1.2deg)}.float-w4u:hover{transform:rotate(1.2deg)translateY(-8px)}.float-edit{--intro-x:-275px;--intro-y:145px;--exit-x:145px;--exit-y:-90px;aspect-ratio:1.5;width:205px;top:168px;right:6.8%;transform:rotate(-1deg)}.float-edit:hover{transform:rotate(-1deg)translateY(-8px)}.float-profile{--intro-x:-220px;--intro-y:175px;--exit-x:70px;--exit-y:-125px;width:88px;height:102px;top:94px;right:15%;transform:rotate(2.5deg)}.float-profile img{filter:saturate(.75)contrast(1.04)}.ticker{border-block:1px solid var(--ink);background:var(--paper);overflow:hidden}.ticker-track{align-items:center;width:max-content;min-height:74px;animation:25s linear infinite ticker;display:flex}.ticker span{letter-spacing:-.035em;text-transform:uppercase;white-space:nowrap;align-items:center;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(2rem,3.7vw,3.9rem);display:inline-flex}.ticker b{margin:0 28px;font-family:Arial,sans-serif;font-size:23px}@keyframes ticker{to{transform:translate(-50%)}}.work{background:var(--paper);padding:128px max(24px,50vw - 640px)}.work-heading{grid-template-columns:1fr 2fr auto;align-items:end;gap:34px;margin-bottom:72px;display:grid}.work-heading>p,.section-label{font-family:var(--font-geist-mono);letter-spacing:.06em;text-transform:uppercase;align-self:start;margin:0;font-size:11px;font-weight:700}.work h2,.about h2,.skills h2,.contact h2{letter-spacing:-.075em;margin:0;font-size:clamp(3rem,6.3vw,6.7rem);font-weight:850;line-height:.9}.work-heading>a{border-bottom:2px solid var(--ink);font-family:var(--font-geist-mono);text-transform:uppercase;align-items:center;gap:8px;padding-bottom:6px;font-size:11px;font-weight:700;display:inline-flex}.work-heading>a svg{width:15px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 22px;display:grid}.project-card{border-top:1px solid var(--ink);padding-top:12px}.project-media{aspect-ratio:1.5;background:#d9dad2;display:block;position:relative;overflow:hidden}.project-media:after{content:"View project ↗";background:var(--green-bright);font-family:var(--font-geist-mono);text-transform:uppercase;border-radius:999px;padding:10px 13px;font-size:10px;font-weight:700;transition:transform .22s;position:absolute;bottom:15px;right:15px;transform:translateY(70px)}.project-media:hover:after{transform:translateY(0)}.project-media img{object-fit:cover;filter:saturate(.7)contrast(1.03);width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.75,.2,1),filter .22s;display:block}.project-media:hover img{filter:saturate();transform:scale(1.035)}.project-media>span{background:var(--white);font-family:var(--font-geist-mono);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:700;position:absolute;top:14px;left:14px}.project-copy{gap:22px;padding:24px 4px 0;display:grid}.project-copy>div:first-child{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.project-copy>div:first-child p{color:#5a5a55;font-family:var(--font-geist-mono);text-transform:uppercase;margin:0;font-size:10px}.project-copy h3{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,3.3vw,3.4rem)}.project-copy>p{color:#4a4a46;max-width:640px;margin:0;font-size:14px;line-height:1.6}.project-foot{justify-content:space-between;align-items:center;gap:20px;display:flex}.project-foot>div{flex-wrap:wrap;gap:7px;display:flex}.project-foot span{border:1px solid var(--line);font-family:var(--font-geist-mono);text-transform:uppercase;border-radius:999px;padding:6px 9px;font-size:9px}.project-foot a{font-family:var(--font-geist-mono);text-transform:uppercase;align-items:center;gap:5px;font-size:10px;font-weight:700;display:inline-flex}.project-foot a:hover{color:#08762e}.project-foot svg{width:14px}.project-featured{grid-column:1/-1;scroll-margin-top:100px}.project-featured .project-media{aspect-ratio:2080/752;background:#fbfaf4}.project-card.project-featured .project-media img{object-fit:contain;filter:none;translate:none;scale:1}.project-featured .project-media:hover img{transform:none}.project-featured .project-copy{gap:18px}.project-featured .project-copy>p{max-width:880px;font-size:16px}.project-featured .project-copy>.project-evidence{color:#314842;border-left:3px solid #21808d;padding-left:16px;font-size:14px}.project-evidence a{text-underline-offset:3px;align-items:center;gap:4px;text-decoration:underline;display:inline-flex}.project-evidence svg{width:14px;height:14px}.project-featured .project-foot{flex-wrap:wrap}.project-featured .project-foot>div:last-child{gap:20px}.project-featured .project-foot a{min-height:44px;font-size:14px}.project-featured .project-foot span{font-size:12px}.reel-reveal{--pin-progress:0;background:var(--ink);height:190svh;color:var(--white);scroll-margin-top:0;position:relative}.reel-reveal-sticky{isolation:isolate;background:var(--ink);place-items:center;height:100svh;display:grid;position:sticky;top:0;overflow:hidden}.reel-reveal-intro{z-index:1;text-align:center;width:min(920px,100% - 48px);transform:translateY(calc(var(--pin-progress) * -46px));opacity:clamp(0, calc(1 - var(--pin-progress) * 2.2), 1)}.reel-reveal-intro>p{color:var(--green);font-family:var(--font-geist-mono);letter-spacing:.07em;text-transform:uppercase;margin:0 0 23px;font-size:11px;font-weight:700}.reel-reveal-intro h2{letter-spacing:-.075em;margin:0;font-size:clamp(3.2rem,7.6vw,8rem);font-weight:850;line-height:.88}.reel-reveal-intro>div{flex-wrap:wrap;justify-content:center;gap:9px;margin-top:34px;display:flex}.reel-reveal-intro>div span{font-family:var(--font-geist-mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid #ffffff57;border-radius:999px;padding:9px 13px;font-size:9px}.reel-reveal-window{z-index:2;clip-path:circle(calc(9% + var(--pin-progress) * 145%) at 50% 50%);transform:scale(calc(.9 + var(--pin-progress) * .1));will-change:clip-path, transform;position:absolute;inset:0;overflow:hidden}.reel-reveal-backdrop{filter:blur(28px)brightness(.48)saturate(.85);background:url(/edit-redbull.jpg) 50%/cover no-repeat;position:absolute;inset:-32px;transform:scale(1.12)}.reel-reveal-frame{z-index:2;aspect-ratio:16/9;background:#000;border:1px solid #ffffff38;border-radius:7px;width:min(94vw,156.444svh);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 24px 80px #0000006b}.reel-reveal-frame video{object-fit:contain;background:#000;border:0;width:100%;height:100%;display:block}.reel-reveal-shade{z-index:3;opacity:clamp(0, calc((var(--pin-progress) - .5) * 2.2), .72);pointer-events:none;background:linear-gradient(#0000001a 40%,#000000b3 100%);position:absolute;inset:0}.reel-reveal-outro{z-index:4;opacity:clamp(0, calc((var(--pin-progress) - .58) * 3.4), 1);transform:translateY(calc((1 - var(--pin-progress)) * 35px));color:var(--white);gap:7px;display:grid;position:absolute;bottom:44px;left:max(24px,50vw - 640px)}.reel-reveal-outro span,.reel-reveal-outro p{font-family:var(--font-geist-mono);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:9px}.reel-reveal-outro span{color:var(--green);font-weight:700}.reel-reveal-outro strong{letter-spacing:-.065em;font-size:clamp(2.5rem,5.6vw,6rem);line-height:.92}.reel-reveal-outro p{color:#ffffffad}.reel-reveal-progress{z-index:5;background:#ffffff40;width:90px;height:3px;position:absolute;bottom:48px;right:max(24px,50vw - 640px)}.reel-reveal-progress:after{content:"";width:calc(var(--pin-progress) * 100%);background:var(--green);height:100%;display:block}.editing-work{background:var(--ink);color:var(--white);padding:128px max(24px,50vw - 640px);overflow:hidden}.editing-heading{grid-template-columns:1fr 2fr 1fr;align-items:end;gap:34px;margin-bottom:70px;display:grid}.editing-heading>p:first-child{color:var(--green);font-family:var(--font-geist-mono);letter-spacing:.06em;text-transform:uppercase;align-self:start;margin:0;font-size:11px;font-weight:700}.editing-heading h2{letter-spacing:-.075em;margin:0;font-size:clamp(3rem,6.3vw,6.7rem);font-weight:850;line-height:.9}.editing-heading>p:last-child{color:#b7b7b0;max-width:330px;margin:0;font-size:14px;line-height:1.55}.editing-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.editing-card{align-content:start;gap:12px;min-width:0;transition:transform .22s;display:grid}.editing-card:hover{transform:translateY(-7px)}.editing-card:focus-visible{outline-color:var(--green)}.editing-media{aspect-ratio:9/16;background:#1b1b1b;border:1px solid #fff3;border-radius:7px;display:block;position:relative;overflow:hidden}.editing-media img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.75,.2,1),filter .22s;display:block}.editing-media iframe{background:#000;border:0;width:100%;height:100%;display:block}.editing-card:hover .editing-media img{filter:saturate(1.1);transform:scale(1.045)}.editing-number{background:var(--white);color:var(--ink);font-family:var(--font-geist-mono);border-radius:999px;padding:6px 9px;font-size:9px;font-weight:700;position:absolute;top:11px;left:11px}.editing-play{background:var(--green);width:48px;height:48px;color:var(--ink);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;transition:transform .22s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #00000047}.editing-card:hover .editing-play{transform:translate(-50%,-50%)scale(1.08)}.editing-play svg{fill:currentColor;width:18px}.editing-meta{color:#9c9c96;font-family:var(--font-geist-mono);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;gap:12px;font-size:8px;font-weight:700;display:flex}.editing-card strong{letter-spacing:-.035em;font-size:clamp(1.1rem,1.65vw,1.6rem);line-height:1.05}.editing-card small{color:#b7b7b0;font-family:var(--font-geist-mono);text-transform:uppercase;align-items:center;gap:5px;font-size:8px;display:flex}.editing-stop{z-index:3;min-height:34px;color:var(--white);font-family:var(--font-geist-mono);text-transform:uppercase;cursor:pointer;background:#0b0b0be0;border:0;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:8px;display:inline-flex;position:absolute;top:10px;right:10px}.editing-stop svg{width:13px}.editing-card.is-playing{transform:translateY(-7px)}.about{background-color:var(--green);background-image:linear-gradient(#0b0b0b14 1px,#0000 1px),linear-gradient(90deg,#0b0b0b14 1px,#0000 1px);background-size:48px 48px;grid-template-columns:.85fr 1.15fr;align-items:stretch;min-height:760px;display:grid}.about-portrait{border-right:1px solid var(--ink);min-height:650px;position:relative;overflow:hidden}.about-portrait img{object-fit:cover;filter:saturate(.96)contrast(1.02);width:100%;height:100%;display:block}.about-portrait span{background:var(--paper);font-family:var(--font-geist-mono);text-transform:uppercase;border-radius:999px;padding:8px 11px;font-size:9px;font-weight:700;position:absolute;bottom:22px;left:22px}.about-copy{flex-direction:column;justify-content:center;padding:clamp(54px,8vw,120px);display:flex}.about-copy h2{margin-top:36px}.about-copy>p:not(.section-label){max-width:670px;margin:40px 0 0;font-size:clamp(1.05rem,1.8vw,1.4rem);line-height:1.55}.about dl{gap:clamp(30px,6vw,90px);margin:60px 0 0;display:flex}.about dl div{gap:7px;display:grid}.about dt{letter-spacing:-.06em;font-size:clamp(2rem,4vw,4.2rem);font-weight:850}.about dd{font-family:var(--font-geist-mono);text-transform:uppercase;margin:0;font-size:9px}.skills{background:var(--ink);color:var(--white);padding:128px max(24px,50vw - 640px)}.skills-heading{grid-template-columns:1fr 2fr;align-items:start;gap:30px;margin-bottom:70px;display:grid}.discipline-list{border-top:1px solid #ffffff40}.discipline-list article{border-bottom:1px solid #ffffff40;grid-template-columns:70px 54px minmax(220px,1fr) 1.2fr;align-items:center;gap:24px;min-height:155px;transition:background .18s,padding .18s;display:grid}.discipline-list article:hover{background:var(--green);color:var(--ink);padding-inline:18px}.discipline-number{font-family:var(--font-geist-mono);font-size:11px}.discipline-list svg{width:28px;height:28px}.discipline-list h3{letter-spacing:-.04em;margin:0;font-size:clamp(1.6rem,3vw,3rem)}.discipline-list p{color:#b7b7b0;max-width:500px;margin:0;line-height:1.55}.discipline-list article:hover p{color:var(--ink)}.contact{background:var(--paper);padding:145px max(24px,50vw - 640px);position:relative;overflow:hidden}.contact>p{font-family:var(--font-geist-mono);text-transform:uppercase;margin:0 0 35px;font-size:11px;font-weight:700}.contact h2{max-width:1100px}.contact>div{flex-wrap:wrap;gap:14px;margin-top:52px;display:flex}.contact>div a{border:1px solid var(--ink);min-height:52px;font-family:var(--font-geist-mono);text-transform:uppercase;border-radius:999px;align-items:center;gap:9px;padding:0 20px;font-size:11px;font-weight:700;transition:transform .18s;display:inline-flex}.contact>div a:first-child{background:var(--ink);color:var(--white)}.contact>div a:hover{transform:translateY(-3px)}.contact>div svg{width:16px}.contact-spark{width:clamp(70px,10vw,150px);height:auto;color:var(--green);stroke-width:1.2px;position:absolute;top:80px;right:7vw;transform:rotate(12deg)}.motion-lines span{display:block}.motion-ready:not(.motion-loaded) .hero-center>*{opacity:0;transform:translateY(34px)}.motion-ready.motion-loaded .hero-center>*{opacity:1;transition:opacity .8s,transform .9s cubic-bezier(.2,.85,.2,1);transform:translateY(0)}.motion-ready.motion-loaded .hero-center>:nth-child(2){transition-delay:90ms}.motion-ready.motion-loaded .hero-center>:nth-child(3){transition-delay:.21s}.motion-ready.motion-loaded .hero-center>:nth-child(4){transition-delay:.3s}.motion-ready.motion-loaded .hero-center{translate:0 calc(var(--hero-scroll) * -34px);opacity:calc(1 - var(--hero-scroll) * .78);scale:calc(1 - var(--hero-scroll) * .035)}.motion-ready:not(.motion-loaded) .float-card{translate:var(--intro-x) var(--intro-y);opacity:0;scale:.72}.motion-ready.motion-loaded .float-card{--card-opacity:1;translate:calc(var(--hero-scroll) * var(--exit-x)) calc(var(--hero-scroll) * var(--exit-y));scale:calc(1 - var(--hero-scroll) * .18);opacity:clamp(0, calc(var(--card-opacity) * (1 - var(--hero-scroll) * 1.08)), var(--card-opacity));transition:translate 1.05s cubic-bezier(.18,.82,.2,1),scale 1.05s cubic-bezier(.18,.82,.2,1),opacity .7s,transform .22s,filter .22s}.motion-ready.motion-loaded.motion-settled .float-card{transition:translate .14s linear,scale .14s linear,opacity .14s linear,transform .22s,filter .22s}.motion-ready [data-reveal]:not([data-reveal=lines]){opacity:0;transition:opacity .7s,transform .85s cubic-bezier(.2,.8,.2,1);transform:translateY(42px)}.motion-ready [data-reveal=left]{transform:translate(-55px)}.motion-ready [data-reveal=row]{transform:translateY(28px)}.motion-ready [data-reveal][data-revealed=true]:not([data-reveal=lines]){opacity:1;transform:translate(0)}.motion-ready [data-reveal=lines] span{opacity:0;clip-path:inset(100% 0 0);transition:opacity .7s,clip-path .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);transform:translateY(48px)}.motion-ready [data-reveal=lines][data-revealed=true] span{opacity:1;clip-path:inset(0);transform:translateY(0)}.motion-ready [data-reveal=lines][data-revealed=true] span:nth-child(2){transition-delay:.11s}.motion-ready .project-card:nth-child(2n),.motion-ready .editing-card:nth-child(2),.motion-ready .editing-card:nth-child(4),.motion-ready .discipline-list article:nth-child(2){transition-delay:90ms}.motion-ready .editing-card:nth-child(3),.motion-ready .editing-card:nth-child(5),.motion-ready .discipline-list article:nth-child(3){transition-delay:.16s}.motion-ready .project-media img,.motion-ready .editing-media img,.motion-ready .about-portrait img{scale:1.1;translate:0 calc((var(--view-progress,.5) - .5) * -9%);will-change:translate}.motion-ready .about-portrait img{scale:1.13;translate:0 calc((var(--view-progress,.5) - .5) * -12%)}.motion-ready .contact-spark{transform:translateY(calc((var(--view-progress,.5) - .5) * -80px)) rotate(calc(4deg + var(--view-progress,.5) * 24deg))}footer{background:var(--ink);color:var(--white);grid-template-columns:1.2fr 1fr 1fr auto;align-items:end;gap:28px;padding:60px max(24px,50vw - 640px) 36px;display:grid}.footer-brand{font-size:46px}footer p,footer span{color:#aaa9a1;font-family:var(--font-geist-mono);text-transform:uppercase;margin:0;font-size:9px}footer>div{font-family:var(--font-geist-mono);text-transform:uppercase;gap:20px;font-size:10px;display:flex}footer>div a:hover{color:var(--green)}@media (max-width:1040px){.site-header nav{gap:22px}.float-struct{left:-30px}.float-flow{left:-20px}.float-w4u{right:-35px}.float-edit{right:-25px}.float-profile{right:11%}.work-heading{grid-template-columns:1fr 2fr}.work-heading>a{grid-column:2;justify-self:start}.editing-heading{grid-template-columns:1fr 2fr}.editing-heading>p:last-child{grid-column:2}.editing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 14px}}@media (max-width:760px){body{-webkit-text-size-adjust:100%}.hero{min-height:max(700px,100svh);padding:118px 18px max(82px, calc(66px + env(safe-area-inset-bottom)))}.site-header{top:max(10px, env(safe-area-inset-top));grid-template-columns:minmax(0,1fr) auto;gap:10px;width:calc(100% - 20px);height:54px;padding:6px 8px 6px 16px}.site-header nav,.login-link{display:none}.contact-pill{min-height:40px;padding-inline:15px}.hero-center{width:100%}.hero h1{width:100%;max-width:100%;font-size:clamp(3rem,13vw,6rem);line-height:.8}.hero h1 .reverse{margin-top:13px;padding:8px 17px 13px}.hero-kicker{max-width:270px;margin-bottom:15px}.hero-intro{max-width:390px;margin-top:28px;line-height:1.5}.hero-cta{min-height:48px;margin-top:24px}.float-card{--card-opacity:.48;opacity:.48;pointer-events:none}.float-struct{width:145px;top:116px}.float-flow{width:130px;bottom:82px}.float-w4u{width:150px;bottom:76px}.float-edit{width:130px;top:138px}.float-profile{display:none}.hero-status{bottom:max(16px, env(safe-area-inset-bottom));width:min(max-content, calc(100% - 28px));text-align:center;justify-content:center;font-size:8px}.ticker-track{min-height:64px}.ticker b{margin-inline:20px}.work{padding:82px 20px}.work-heading{grid-template-columns:1fr;gap:22px;margin-bottom:48px}.work-heading>a{grid-column:1}.project-grid{grid-template-columns:1fr;gap:46px}.project-copy{gap:18px;padding-top:19px}.project-copy>div:first-child{flex-direction:column-reverse;align-items:flex-start;gap:7px}.reel-reveal{touch-action:pan-y;height:155svh}.reel-reveal-intro{width:calc(100% - 32px)}.reel-reveal-intro h2{font-size:clamp(2.8rem,13vw,5rem)}.reel-reveal-intro>p{margin-bottom:17px}.reel-reveal-intro>div{gap:7px;margin-top:25px}.reel-reveal-intro>div span{padding:8px 10px;font-size:8px}.reel-reveal-window{clip-path:circle(calc(16% + var(--pin-progress) * 140%) at 50% 50%)}.reel-reveal-backdrop{filter:blur(16px)brightness(.45)saturate(.82)}.reel-reveal-frame{width:100vw;box-shadow:none;border-inline:0;border-radius:0}.reel-reveal-outro{bottom:54px;left:20px;right:20px}.reel-reveal-outro strong{font-size:clamp(2.2rem,11vw,4.3rem)}.reel-reveal-progress{width:calc(100% - 48px);bottom:24px;right:24px}.editing-work{padding:82px 20px}.editing-heading{grid-template-columns:1fr;gap:24px}.editing-heading>p:last-child{grid-column:1}.editing-grid{scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;grid-template-columns:none;grid-auto-columns:minmax(270px,86vw);grid-auto-flow:column;gap:14px;padding-bottom:8px;scroll-padding-inline:2px;overflow-x:auto}.editing-grid::-webkit-scrollbar{display:none}.editing-card{scroll-snap-align:start}.editing-media{aspect-ratio:16/9}.editing-card.is-reference .editing-media{aspect-ratio:1}.editing-play{width:52px;height:52px}.motion-ready .project-media img,.motion-ready .editing-media img{translate:none;scale:1}.about{grid-template-columns:1fr}.about-portrait{border-right:0;border-bottom:1px solid var(--ink);min-height:min(112vw,480px)}.about-copy{padding:70px 20px}.about-copy h2{margin-top:28px}.about-copy>p:not(.section-label){margin-top:30px}.about dl{justify-content:space-between;gap:18px;margin-top:44px}.skills{padding:82px 20px}.skills-heading{grid-template-columns:1fr}.discipline-list article{grid-template-columns:38px 40px 1fr;gap:14px;padding:28px 0}.discipline-list article p{grid-column:3}.contact{padding:92px 20px}.contact-spark{opacity:.55;top:45px;right:-15px}footer{padding:52px 20px max(30px, env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;align-items:start}footer>div{flex-wrap:wrap}}@media (max-width:480px){.brand{font-size:22px}.contact-pill{padding-inline:14px}.hero h1{font-size:11vw}.hero-intro{font-size:15px}.float-card{opacity:.42}.ticker-track{min-height:62px}.project-foot{flex-direction:column;align-items:flex-start}.about dl{grid-template-columns:repeat(3,1fr);display:grid}.contact>div{display:grid}.contact>div a{justify-content:center;width:100%}footer{grid-template-columns:1fr}}@media (max-height:520px) and (orientation:landscape){.site-header{top:8px}.hero{min-height:620px}.reel-reveal{height:150svh}.reel-reveal-intro h2{font-size:clamp(2.4rem,8vw,4.5rem)}.reel-reveal-intro>div{margin-top:18px}.reel-reveal-frame{width:min(82vw,156.444svh)}.reel-reveal-outro{bottom:24px}.reel-reveal-progress{bottom:18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.ticker-track{animation:none}.reel-reveal{height:100svh}.reel-reveal-window{clip-path:none;transform:none}.reel-reveal-intro{display:none}.reel-reveal-outro{opacity:1;transform:none}}.editing-original{text-underline-offset:.2em;font-size:.875rem;text-decoration:underline}.reel-motion-toggle{z-index:5;pointer-events:auto;color:#fff;cursor:pointer;font:inherit;background:#0a101de6;border:1px solid;border-radius:999px;margin-top:12px;padding:10px 16px;font-size:13px;position:absolute;top:24px;right:24px}.reel-motion-toggle:focus-visible{outline-offset:4px;outline:3px solid #c8ff75}
