@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.p.0szrwpqb9mkwe.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_991aebb-module__bYvC1W__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_991aebb-module__bYvC1W__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f3eee1;--ink:#1b2922;--muted:#46534a;--line:#b7bcae;--accent:#873b23;--deep:#142820;--light:#fbf5e7;--warm:#f3b47e;--warm-hover:#ffd0a3;--link-hover:#75321d;--header-bg:#f3eee1;--projects-bg:#e0e5d6;--contact-bg:#e5e0d3;--toggle-border:#778473;--toggle-hover:#e0dfce;--clay:#e5c6b0;--clay-ink:#392d26;--clay-muted:#544237;--clay-accent:#793a22;--clay-hover:#672d18;--experience-bg:#e9e9dc;--experience-terrain-opacity:.14;--about-bg:#e5e0d3;--hero-ink:#1b2922;--hero-accent:#793a22;--hero-hover:#672d18;--hero-overlay:linear-gradient(180deg, #f3eee11f 8%, #f3eee1c7 56%, #f3eee1f2 100%), linear-gradient(90deg, #f3eee1cc, #f3eee173 64%, transparent);--experience-photo-ink:#1b2922;--experience-photo-muted:#36473b;--experience-photo-accent:#793a22;--experience-overlay:linear-gradient(90deg, #f3eee1f5 0%, #f3eee1e6 42%, #f3eee11f 82%), linear-gradient(0deg, #f3eee199, transparent 60%);--experience-overlay-mobile:linear-gradient(0deg, #f3eee1f7 0%, #f3eee1f0 52%, #f3eee11f 100%);--hero-day:url(/work/horizon-sky.svg);--hero-night:url(/work/horizon-night.svg);--landscape-filter:brightness(1.15) saturate(.8);--photo-filter:saturate(.85) contrast(1.04);--valley-bg:#e7e4d4;--scene-ink:#1b2922;--scene-distant:#d7dfcc;--scene-middle:#cad5c0;--scene-foreground:#c0cdb7;--scene-stone:#d5c0a3;--forest-distant:#b3bfaa;--forest-middle:#879d87;--forest-foreground:#627861;--forest-trail:#c08b62;--forest-canopy-opacity:.16;--forest-trunk-opacity:.18;--cave-ink:#1b2922;--cave-muted:#36473b;--cave-accent:#793a22;--cave-hover:#672d18;--cave-soil:#c4cbb5;--cave-stratum:#d0c7b3;--cave-distant:#dedac9;--cave-rock:#d1c9b6;--cave-facet:#e3dbc8;--cave-near:#c9c5b2;--cave-seam:#8c795e;--cave-water:#c4cabb;--cave-opening:#f3e6bc;--cave-glow:#f3e6bc47;--cave-shadow:#bfc0aa;--section-space:clamp(4.5rem, 7vw, 8rem)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#17231e;--ink:#f5f0e3;--muted:#c1ccbd;--line:#526658;--accent:#f4b07b;--deep:#0d1c1d;--link-hover:#ffd0a3;--header-bg:#102019;--projects-bg:#142820;--contact-bg:#19221d;--toggle-border:#839687;--toggle-hover:#274536;--clay:#4f2c24;--clay-ink:#fbf5e7;--clay-muted:#f5d5c3;--clay-accent:#f3b47e;--clay-hover:#ffd0a3;--experience-bg:#1b2b23;--experience-terrain-opacity:.19;--about-bg:#19221d;--hero-ink:#fbf5e7;--hero-accent:#f3b47e;--hero-hover:#ffd0a3;--hero-overlay:linear-gradient(180deg, #0c1e1a1a 20%, #0b1a17ad 70%, #0b1a17eb 100%), linear-gradient(90deg, #0b1b1794, transparent 64%);--experience-photo-ink:#fbf5e7;--experience-photo-muted:#f1ede2;--experience-photo-accent:#f3b47e;--experience-overlay:linear-gradient(90deg, #091814eb 0%, #091814bf 34%, #0918142e 78%), linear-gradient(0deg, #0918148a, transparent 60%);--experience-overlay-mobile:linear-gradient(0deg, #091814f0 0%, #091814c7 34%, #09181429 100%);--landscape-filter:brightness(.65) saturate(.7);--photo-filter:brightness(.8) saturate(.7) contrast(1.04);--valley-bg:#0b1a17;--scene-ink:#fbf5e7;--scene-distant:#213730;--scene-middle:#192e27;--scene-foreground:#0d201c;--scene-stone:#37453b;--forest-distant:#3b5142;--forest-middle:#2b4435;--forest-foreground:#3c5540;--forest-trail:#796349;--forest-canopy-opacity:.32;--forest-trunk-opacity:.24;--cave-ink:#fbf5e7;--cave-muted:#bdccbe;--cave-accent:#f3b47e;--cave-hover:#ffd0a3;--cave-soil:#3d4a37;--cave-stratum:#454938;--cave-distant:#253129;--cave-rock:#2b352c;--cave-facet:#394135;--cave-near:#111914;--cave-seam:#877659;--cave-water:#334037;--cave-opening:#b39a66;--cave-glow:#b39a661f;--cave-shadow:#18221a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--paper);color:var(--ink);font-family:var(--font-inter), "Helvetica Neue", Arial, sans-serif;font-optical-sizing:auto;margin:0;font-size:1rem;line-height:1.6}a{color:inherit}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip-link{z-index:30;background:var(--deep);color:var(--light);padding:.65rem .9rem;position:absolute;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-shell{width:min(100% - 3rem,78rem);margin-inline:auto}.site-header{z-index:20;background:var(--header-bg);color:var(--ink);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.7rem;display:flex}.site-name{letter-spacing:-.02em;white-space:nowrap;align-items:center;min-height:2.75rem;font-size:1.08rem;font-weight:600;text-decoration:none;display:inline-flex}.site-nav{flex-wrap:wrap;align-items:center;gap:.3rem 1.2rem;margin-left:auto;display:flex}.site-nav a{min-width:2.75rem;min-height:2.75rem;color:var(--muted);align-items:center;padding-block:.65rem;font-size:.98rem;text-decoration:none;display:inline-flex}.theme-toggle{border:1px solid var(--toggle-border);width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;touch-action:manipulation;background:0 0;border-radius:.2rem;flex:none;justify-content:center;align-items:center;padding:0;transition:background-color .15s,border-color .15s;display:inline-flex;position:relative}.theme-toggle:hover{background:var(--toggle-hover);border-color:var(--accent);color:var(--ink)}.theme-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.theme-toggle:disabled{cursor:default}.theme-toggle svg{position:absolute}.theme-icon-light{opacity:0;transform:rotate(-60deg)scale(.6)}.theme-icon-dark,html[data-theme=dark] .theme-icon-light{opacity:1;transform:rotate(0)scale(1)}html[data-theme=dark] .theme-icon-dark{opacity:0;transform:rotate(60deg)scale(.6)}.site-nav a:hover,.contact-links a:hover,.project-link:hover,.text-link:hover{color:var(--accent);text-underline-offset:.24em;text-decoration:underline}.site-header .site-nav a:hover,.site-header .site-name:hover{color:var(--link-hover)}.hero a:focus-visible{outline-color:var(--hero-accent)}.intro-flow{isolation:isolate}.hero{background:var(--deep);min-height:clamp(42rem,82svh,57rem);color:var(--hero-ink);display:grid;position:relative;overflow:hidden}.hero-scene{z-index:0;pointer-events:none;animation:.6s ease-out both scene-arrive;position:absolute;inset:0}.hero-layer{background-position:50% 48%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:-14% -7%}.hero-layer-sky{background-image:var(--hero-day);opacity:1;transform:translate3d(0, var(--sky-shift,0px), 0)}.hero-layer-night{background-image:var(--hero-night);opacity:0;transform:translate3d(0, var(--sky-shift,0px), 0)}.hero-celestial{transform:translate3d(0, var(--sky-shift,0px), 0);position:absolute;inset:0}.celestial-sun{opacity:1;transform-origin:40% 90%;background-image:url(/work/horizon-sun.svg);transform:translate(0,0)rotate(0)}.celestial-moon{opacity:0;transform-origin:40% 90%;background-image:url(/work/horizon-moon.svg);transform:translate(-40px,100px)rotate(-12deg)}html[data-theme=dark] .hero-layer-sky{opacity:0}html[data-theme=dark] .hero-layer-night{opacity:1}html[data-theme=dark] .celestial-sun{opacity:0;transform:translate(40px,100px)rotate(12deg)}html[data-theme=dark] .celestial-moon{opacity:1;transform:translate(0,0)rotate(0)}.hero-layer-ridges{filter:var(--landscape-filter);transform:translate3d(0, var(--ridge-shift,0px), 0);background-image:url(/work/horizon-ridges.svg)}.hero-layer-shore{filter:var(--landscape-filter);transform:translate3d(0, var(--shore-shift,0px), 0);background-image:url(/work/horizon-shore.svg)}.hero:before{z-index:1;background:var(--hero-overlay);content:"";position:absolute;inset:0}.hero:after{z-index:1;background:linear-gradient(transparent, var(--valley-bg));content:"";height:8rem;position:absolute;inset:auto 0 0}.hero-inner{z-index:3;min-height:inherit;grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);align-items:end;gap:clamp(2rem,5vw,5rem);padding-block:clamp(13rem,26vh,20rem) clamp(3.5rem,7vw,6rem);display:grid;position:relative}.hero-role,.hero-intro{animation:.48s cubic-bezier(.22,1,.36,1) both copy-arrive}.hero-intro{animation-delay:80ms}.hero-role{color:var(--hero-accent);letter-spacing:.07em;text-transform:uppercase;margin:0 0 1.8rem;font-size:.9rem;font-weight:700}.hero h1{letter-spacing:-.07em;text-wrap:balance;margin:0;font-size:clamp(4rem,8vw,8rem);font-weight:600;line-height:.98}.hero h1 span{animation:.52s cubic-bezier(.22,1,.36,1) both title-arrive;display:block}.hero h1 span:last-child{color:var(--hero-accent);animation-delay:60ms}.hero-intro{max-width:31rem}.hero-intro>p{margin:0;font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.62}.hero-actions{flex-wrap:wrap;align-items:baseline;gap:1rem 2rem;margin-top:2.25rem;display:flex}.hero-project-link{min-height:2.75rem;color:var(--hero-accent);letter-spacing:-.035em;align-items:center;gap:.55rem;font-size:clamp(1.45rem,2.1vw,1.85rem);font-weight:600;text-decoration:none;transition:color .18s;display:inline-flex}.hero-project-link span{font-size:.85em;transition:transform .18s;display:inline-block}.hero-project-link:hover,.hero .text-link:hover{color:var(--hero-hover)}.hero-project-link:hover span{transform:translate(.16rem,.16rem)}.text-link,.project-link{text-underline-offset:.28em;align-items:center;min-height:2.75rem;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.section{padding-block:var(--section-space)}.experience-section{background:var(--experience-bg);padding-bottom:var(--section-space);position:relative}.experience-entry{background:var(--valley-bg);color:var(--scene-ink);padding-block:clamp(6rem,10vw,9rem) clamp(6rem,9vw,8rem);position:relative}.experience-entry .section-intro{z-index:3;margin-bottom:0;position:relative}.experience-entry .section-intro p{color:var(--scene-ink)}.experience-body{z-index:3;margin-top:-2.5rem;position:relative}.valley-scene,.experience-terrain,.forest-edge,.cave-scene,.cave-floor{z-index:-1;pointer-events:none;position:absolute;inset:0}.valley-scene{z-index:2;top:calc(-1*clamp(7rem,12vw,12rem));overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 7rem);mask-image:linear-gradient(#0000,#000 7rem)}.valley-layer{position:absolute;inset:-3rem 0}.valley-layer svg,.valley-ground,.experience-terrain svg,.forest-layer svg,.forest-depth svg,.cave-mouth svg,.cave-layer svg,.cave-floor svg{width:100%;height:100%;display:block}.valley-layer-back{transform:translate3d(0, var(--valley-back-shift,0px), 0)}.valley-layer-front{transform:translate3d(0, var(--valley-front-shift,0px), 0)}.landscape-distant{fill:var(--scene-distant)}.landscape-middle{fill:var(--scene-middle)}.landscape-foreground{fill:var(--scene-foreground)}.landscape-stone{fill:var(--scene-stone)}.landscape-contour{fill:none;stroke:var(--scene-stone);stroke-width:3px;opacity:.25}.valley-ground{height:5rem;fill:var(--experience-bg);position:absolute;bottom:-1px}.experience-terrain{z-index:0;opacity:var(--experience-terrain-opacity);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000,#0000 38% 62%,#000);mask-image:linear-gradient(90deg,#000,#0000 38% 62%,#000)}.experience-terrain-panel{width:100%;position:absolute;-webkit-mask-image:linear-gradient(#0000,#000 15% 88%,#0000);mask-image:linear-gradient(#0000,#000 15% 88%,#0000)}.experience-terrain-continuous{inset:12rem 0 -2rem}.terrain-ridge{fill:var(--forest-distant)}.terrain-slope{fill:var(--forest-middle)}.terrain-contour{fill:none;stroke:var(--forest-trail);stroke-width:3px}.forest-edge{background:linear-gradient(var(--experience-bg), transparent 24rem);overflow:hidden}.forest-layer{height:clamp(24rem,36vw,36rem);opacity:var(--forest-canopy-opacity);transform:translate3d(0, var(--forest-back-shift,0px), 0);position:absolute;inset:-2rem 0 auto}.forest-ground{fill:var(--projects-bg)}.forest-trees{fill:var(--forest-middle)}.forest-depth{position:absolute;inset:0}.forest-depth-back{opacity:var(--forest-trunk-opacity);transform:translate3d(0, var(--forest-back-shift,0px), 0);-webkit-mask-image:linear-gradient(90deg,#000,#0000 24% 76%,#000),linear-gradient(#0000 10rem,#000 28rem calc(100% - 8rem),#0000);mask-image:linear-gradient(90deg,#000,#0000 24% 76%,#000),linear-gradient(#0000 10rem,#000 28rem calc(100% - 8rem),#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.forest-depth-front{transform:translate3d(0, var(--forest-front-shift,0px), 0);-webkit-mask-image:linear-gradient(90deg,#000,#0000 24% 76%,#000);mask-image:linear-gradient(90deg,#000,#0000 24% 76%,#000)}.forest-trunks{height:clamp(34rem,48vw,48rem);position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000,#000 calc(100% - 10rem),#0000);mask-image:linear-gradient(#000,#000 calc(100% - 10rem),#0000)}.forest-slope{position:absolute;inset:clamp(27rem,38vw,38rem) 0 0;-webkit-mask-image:linear-gradient(#0000,#000 10rem);mask-image:linear-gradient(#0000,#000 10rem)}.forest-slope .terrain-ridge{fill:var(--cave-soil)}.forest-slope .terrain-slope{fill:var(--cave-stratum)}.forest-slope .terrain-contour{stroke:var(--cave-seam)}.forest-floor-transition{height:clamp(22rem,30vw,30rem);position:absolute;inset:auto 0 -4rem;-webkit-mask-image:linear-gradient(#0000,#000 22%);mask-image:linear-gradient(#0000,#000 22%)}.forest-panels{position:absolute;inset:0}.forest-panels svg{width:50%;position:absolute}.forest-panels svg:first-child{left:0}.forest-panels svg:last-child{right:0}.forest-distant-trees{fill:var(--forest-distant);opacity:.7}.forest-bank,.forest-floor,.forest-bough,.forest-trunk{fill:var(--forest-foreground)}.forest-floor-transition .forest-bank{fill:var(--cave-soil)}.forest-floor-transition .forest-floor{fill:var(--cave-stratum)}.forest-bark,.forest-root{fill:none;stroke:var(--forest-trail);stroke-width:5px;stroke-linecap:round;opacity:.45}.section-intro{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end;gap:2rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.section-intro h2,.contact h2{letter-spacing:-.055em;margin:0;font-size:clamp(3.1rem,6vw,5.8rem);font-weight:600;line-height:1}.section-intro p{max-width:30rem;color:var(--muted);margin:0;font-size:clamp(1rem,1.5vw,1.2rem)}.experience-feature{gap:clamp(2.5rem,5vw,4rem);display:grid}.experience-heading{isolation:isolate;background:var(--experience-bg);min-height:clamp(25rem,39vw,30rem);color:var(--experience-photo-ink);align-items:end;padding:clamp(2.5rem,5vw,4.5rem);display:flex;position:relative;overflow:hidden}.experience-backdrop{z-index:-2;transform:translate3d(0, var(--scene-shift,0px), 0);position:absolute;inset:-2.5rem 0}.experience-backdrop img{object-fit:cover;object-position:center 18%;filter:var(--photo-filter)}.experience-heading:before{z-index:-1;background:var(--experience-overlay);content:"";position:absolute;inset:0}.experience-heading-content{max-width:32rem}.experience-heading h3{letter-spacing:-.045em;margin:1rem 0 0;font-size:clamp(2.2rem,3.4vw,3.25rem);font-weight:600;line-height:1.1}.experience-company{margin:.7rem 0 0;font-size:1.15rem;font-weight:650}.experience-lead{max-width:31rem;color:var(--experience-photo-muted);margin:2rem 0 0;font-size:clamp(1.05rem,1.45vw,1.2rem);line-height:1.55}.experience-date{color:var(--muted);margin:0;font-size:.95rem}.experience-heading .experience-date{color:var(--experience-photo-accent)}.experience-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,3rem) clamp(2.5rem,6vw,6rem);margin:0;padding:0;list-style:none;display:grid}.experience-points li{font-size:1rem}.experience-points h4{margin:0 0 .35rem;font-size:1.15rem;font-weight:700}.experience-points p{max-width:42rem;color:var(--muted);margin:0;line-height:1.65}.earlier-work{margin-top:clamp(3rem,5vw,5rem)}.earlier-work h3{letter-spacing:-.025em;margin:0 0 1.5rem;font-size:1.5rem}.earlier-work-grid article{border-top:1px solid var(--line);grid-template-columns:minmax(8rem,.5fr) minmax(12rem,.75fr) minmax(0,1fr);gap:1rem 2rem;padding-block:1.5rem;display:grid}.earlier-work-grid article:last-child{border-bottom:1px solid var(--line)}.earlier-work h4{margin:0;font-size:1.06rem;font-weight:700}.earlier-work article p{margin:0}.earlier-work article div p,.earlier-work article>p:last-child{color:var(--muted)}.projects-section{isolation:isolate;background:var(--projects-bg);color:var(--ink);padding-bottom:clamp(8rem,11vw,11rem);position:relative;overflow:hidden}.projects-section .section-intro p,.projects-section .project-tools,.projects-section figcaption{color:var(--muted)}.projects-section .project-link:hover,.projects-section figcaption a:hover{color:var(--link-hover)}.project-detection{grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);align-items:center;gap:clamp(2.5rem,6vw,6rem);padding-bottom:clamp(4rem,7vw,7rem);display:grid}.project-figure,.colorization-figure{margin:0}.project-image{aspect-ratio:8/5;background:#253e35;position:relative;overflow:hidden}.project-image img{object-fit:cover;object-position:center bottom}.detection-stage{aspect-ratio:1280/853}.detection-slide,.detection-overlay{position:absolute;inset:0}.detection-slide img{object-fit:fill}.detection-overlay{pointer-events:none}.gallery-feedback{z-index:1;color:var(--light);text-align:center;background:#253e35;place-content:center;justify-items:center;gap:.4rem;padding:1.5rem;font-size:.9rem;line-height:1.5;display:grid;position:absolute;inset:0}.gallery-feedback[hidden]{display:none}.gallery-feedback p{margin:0}.gallery-feedback a{text-underline-offset:.25em;align-items:center;min-height:2.75rem;padding-inline:.5rem;display:inline-flex}.gallery-feedback a:focus-visible{outline-color:var(--warm)}.gallery-photo-links{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.detection-box{border:2px solid var(--warm);position:absolute}.detection-box>span{background:var(--warm);color:#142820;white-space:nowrap;text-overflow:ellipsis;width:max-content;max-width:10rem;padding:.12rem .3rem;font-size:clamp(.63rem,1vw,.8rem);font-weight:650;line-height:1.3;position:absolute;top:0;left:0;overflow:hidden}.detection-box[data-label-align=right]>span{left:auto;right:0}.gallery-controls{justify-content:space-between;align-items:center;gap:1rem;margin-top:.6rem;display:flex}.gallery-current{align-items:baseline;gap:.8rem;font-size:.95rem;line-height:1.4;display:flex}.gallery-count{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:.78rem}.gallery-arrows{flex:none;gap:.15rem;display:flex}.gallery-arrows button{width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.gallery-arrows button:hover:not(:disabled){color:var(--accent)}.gallery-arrows button:disabled{opacity:.45;cursor:default}.gallery-arrows svg{width:1.6rem;height:1.6rem}.gallery-arrows button:focus-visible,.sample-playground :is(summary,input):focus-visible{outline:3px solid var(--accent);outline-offset:3px}.detection-figure figcaption{min-height:3em}.sample-playground{margin-top:.8rem;font-size:.88rem}.sample-playground summary{width:fit-content;min-height:2.75rem;color:var(--accent);cursor:pointer;padding-block:.65rem}.sample-settings>p{color:var(--muted);margin:0 0 1rem;line-height:1.5}.confidence-label{font-variant-numeric:tabular-nums;justify-content:space-between;gap:1rem;display:flex}.sample-settings input[type=range]{width:100%;height:2.75rem;accent-color:var(--accent);margin:0;display:block}.boxes-label{cursor:pointer;align-items:center;gap:.6rem;width:fit-content;min-height:2.75rem;display:flex}.boxes-label input{width:1.1rem;height:1.1rem;accent-color:var(--accent);margin:0}.sample-settings .sample-results{color:var(--ink);margin-top:.6rem}.sample-settings .sample-limit{font-size:.8rem}.project-figure figcaption,.colorization-figure figcaption{color:var(--muted);margin-top:.8rem;font-size:.82rem;line-height:1.45}figcaption a{text-underline-offset:.2em}.project-copy h3,.project-healem h3,.colorization-heading h3{letter-spacing:-.05em;margin:0;font-size:clamp(2.5rem,4vw,4rem);font-weight:600;line-height:1.08}.project-copy>p,.healem-description,.colorization-heading>div:first-child>p{max-width:30rem;margin:1.3rem 0 0;font-size:1rem}.project-tools{color:var(--muted);font-weight:650;font-size:.94rem!important}.project-copy .project-tools{margin:1.6rem 0 1.8rem}.project-healem{background:var(--clay);color:var(--clay-ink);grid-template-columns:minmax(0,.85fr) minmax(0,1fr);margin-block:0 clamp(4rem,7vw,7rem);display:grid}.project-healem a:focus-visible{outline-color:var(--clay-accent)}.healem-figure{flex-direction:column;min-width:0;margin:0;display:flex}.healem-image{background:#d9d6c7;flex:1;min-height:clamp(26rem,43vw,35rem);position:relative;overflow:hidden}.healem-image img{object-fit:cover;object-position:center 55%;filter:var(--photo-filter)}.healem-content{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(2.5rem,5vw,5rem);display:flex}.project-kind{color:var(--clay-muted);margin:0 0 1.2rem;font-size:.93rem;font-weight:650}.project-healem .project-tools{color:var(--clay-muted);margin:1.8rem 0}.project-healem .project-link:hover{color:var(--clay-hover)}.project-colorization{padding-top:clamp(2.5rem,4vw,4rem)}.colorization-heading{grid-template-columns:minmax(0,1fr) minmax(13rem,.42fr);align-items:end;gap:2rem;margin-bottom:2rem;display:grid}.colorization-heading>div:last-child{text-align:right;justify-self:end}.colorization-heading .project-tools{margin:0 0 1rem}.comparison-stage{aspect-ratio:16/10;background:#253e35;position:relative;overflow:hidden}.comparison-stage img{object-fit:cover;object-position:center;pointer-events:none}.comparison-color{clip-path:inset(0 calc(100% - var(--comparison-position)) 0 0);position:absolute;inset:0}.comparison-divider{top:0;bottom:0;left:var(--comparison-position);background:var(--light);pointer-events:none;width:2px;position:absolute;transform:translate(-50%)}.comparison-divider>span{border:2px solid var(--light);background:var(--warm);width:3rem;height:3rem;color:var(--deep);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.comparison-divider svg{width:1.5rem;height:1.5rem}.comparison-range{appearance:none;opacity:0;cursor:ew-resize;touch-action:pan-y;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.comparison-range:disabled{cursor:default}.comparison-range::-webkit-slider-runnable-track{height:100%}.comparison-range::-webkit-slider-thumb{appearance:none;width:1px;height:100%}.comparison-range::-moz-range-track{height:100%}.comparison-range::-moz-range-thumb{border:0;border-radius:0;width:1px;height:100%}.comparison-stage:has(.comparison-range:focus-visible){outline:3px solid var(--accent);outline-offset:5px}.comparison-stage:has(.comparison-range:focus-visible) .comparison-divider>span{background:var(--light);box-shadow:0 0 0 4px var(--deep)}.comparison-labels{color:var(--accent);justify-content:space-between;gap:1rem;margin-top:.65rem;font-size:.92rem;font-weight:700;display:flex}.comparison-help{color:var(--muted);margin:.75rem 0 1.25rem;font-size:.88rem}.about-section{isolation:isolate;background:var(--about-bg);min-height:40rem;color:var(--ink);padding-top:clamp(8rem,11vw,11rem);padding-bottom:clamp(5rem,8vw,8rem);position:relative}.about-section,.contact{--ink:var(--cave-ink);--muted:var(--cave-muted);--accent:var(--cave-accent);--link-hover:var(--cave-hover)}.cave-scene{z-index:0;overflow:visible}.cave-scene:before{background:radial-gradient(ellipse at 68% 48%, var(--cave-glow), transparent 64%);content:"";position:absolute;inset:5rem 0 0 55%;-webkit-mask-image:linear-gradient(#0000,#000 8rem);mask-image:linear-gradient(#0000,#000 8rem)}.cave-mouth{height:clamp(22rem,32vw,32rem);position:absolute;inset:-9rem 0 auto}.cave-mouth>svg{position:absolute;inset:0}.cave-layer{position:absolute;inset:1rem 0 -1px;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 10rem calc(100% - 2rem),#0000);mask-image:linear-gradient(#0000,#000 10rem calc(100% - 2rem),#0000)}.cave-layer-back{transform:translate3d(0, var(--cave-back-shift,0px), 0)}.cave-layer-front{transform:translate3d(0, var(--cave-front-shift,0px), 0)}.cave-soil{fill:var(--cave-soil)}.cave-stratum{fill:var(--cave-stratum)}.cave-roof{fill:var(--about-bg)}.cave-distant{fill:var(--cave-distant)}.cave-rock{fill:var(--cave-rock)}.cave-facet{fill:var(--cave-facet)}.cave-near{fill:var(--cave-near)}.cave-shadow{fill:var(--cave-shadow)}.cave-opening{fill:url(#cavern-distance)}.cave-opening-rock{fill:var(--cave-distant)}.cave-opening-rim{fill:var(--cave-facet)}.cave-light-shaft{fill:url(#cavern-light);opacity:.65}.cave-root,.cave-root-fine,.cave-seam,.cave-striation,.cave-water-line{fill:none;stroke:var(--cave-seam);stroke-linecap:round;stroke-linejoin:round}.cave-root{stroke-width:5px}.cave-root-fine{stroke-width:2px}.cave-seam{stroke-width:3px;opacity:.5}.cave-striation{stroke-width:2px;opacity:.22}.cave-water{fill:var(--cave-water)}.cave-water-shadow{fill:var(--cave-near);opacity:.35}.cave-water-line{stroke-width:2px;opacity:.45}.cave-floor{overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 38%);mask-image:linear-gradient(#0000,#000 38%)}.about-inner{z-index:1;position:relative}.about-section .section-intro{margin-bottom:clamp(2.5rem,5vw,4rem);display:block}.about-copy{max-width:34rem}.about-section a:focus-visible,.contact a:focus-visible{outline-color:var(--cave-accent)}.about-copy>p{letter-spacing:-.015em;margin:0;font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.55}.about-tools{margin-top:clamp(2rem,4vw,3rem)}.about-tools h3{margin:0 0 .7rem;font-size:1.1rem}.about-tools p{max-width:25rem;margin:0;font-size:1.08rem}.contact{isolation:isolate;background:var(--contact-bg);color:var(--ink);padding-block:clamp(3rem,5vw,5rem) clamp(7rem,10vw,10rem);position:relative}.contact-inner{z-index:1;justify-content:space-between;align-items:end;gap:2rem;display:flex;position:relative}.contact p{color:var(--muted);margin:1rem 0 0;font-size:1.1rem}.contact-links{flex-wrap:wrap;gap:1.7rem;font-weight:700;display:flex}.contact-links a{text-underline-offset:.28em;align-items:center;min-height:2.75rem;display:inline-flex}.contact-links a:hover{color:var(--link-hover)}@media (max-width:1000px){.hero-inner{grid-template-columns:minmax(0,1fr) minmax(15rem,.8fr);gap:2rem}.project-detection{grid-template-columns:minmax(0,1.1fr) minmax(15rem,.9fr);gap:2rem}.cave-layer{opacity:.35}.cave-layer svg{width:calc(100% + 12rem)}}@media (max-width:760px){html{scroll-padding-top:8rem}.site-shell{width:min(100% - 2rem,78rem)}.header-inner{grid-template-columns:minmax(0,1fr) auto;gap:.3rem 1rem;padding-block:.75rem;display:grid}.site-nav{grid-area:2/1/auto/-1;gap:.2rem 1.25rem;margin-left:0}.theme-toggle{grid-area:1/2}.site-nav a{padding-block:.4rem}.hero-inner,.section-intro,.experience-feature,.project-detection,.project-healem,.colorization-heading{grid-template-columns:1fr}.hero{min-height:43rem}.hero-layer{background-position:55%;inset:-3%}.hero-layer-sky,.hero-layer-night,.celestial-sun,.celestial-moon{background-position:85% -3.8rem;background-size:auto 90%}.experience-entry{padding-block:4.5rem 6rem}.hero-inner{align-content:end;gap:2.5rem;padding-block:12rem 3.5rem}.hero h1{font-size:clamp(3.4rem,10vw,5.6rem)}.hero-role{margin-bottom:1.7rem}.hero-intro{max-width:34rem}.experience-feature{gap:2rem}.experience-heading{min-height:34rem;padding:2.5rem}.experience-backdrop img{object-position:65% center}.experience-heading:before{background:var(--experience-overlay-mobile)}.experience-points{grid-template-columns:1fr;gap:1.8rem}.experience-lead{margin-top:1.5rem}.earlier-work-grid article{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.earlier-work-grid article>p:last-child{grid-column:2}.project-copy{max-width:34rem}.project-healem{grid-template-columns:1fr}.healem-image{aspect-ratio:4/3;flex:none;min-height:0}.colorization-heading>div:last-child{text-align:left;justify-self:start}.contact-inner{flex-direction:column;align-items:flex-start}.forest-depth-back{-webkit-mask-image:linear-gradient(90deg,#000,#0000 18% 82%,#000),linear-gradient(#0000 8rem,#000 24rem calc(100% - 8rem),#0000);mask-image:linear-gradient(90deg,#000,#0000 18% 82%,#000),linear-gradient(#0000 8rem,#000 24rem calc(100% - 8rem),#0000)}.forest-layer{height:25rem}.forest-floor-transition{height:23rem}.about-section{min-height:39rem;padding-block:8rem 5rem}.cave-mouth{height:23rem;top:-8rem}.cave-layer{top:3rem}.cave-light-shaft{opacity:.35}}@media (max-width:520px){.site-name{font-size:1rem}.site-nav{column-gap:1rem}.hero{min-height:41rem}.hero-inner{gap:2rem;padding-block:8rem 3rem}.hero h1{font-size:clamp(2.6rem,12vw,4.2rem)}.hero-actions{gap:1.2rem}.earlier-work-grid article{grid-template-columns:1fr;gap:.5rem}.earlier-work-grid article>p:last-child{grid-column:auto}.project-healem{margin-inline:-1rem}.healem-content{padding:2rem}.experience-heading{min-height:32rem;padding:2rem}}@media (max-width:340px){html{scroll-padding-top:8rem}.site-nav{column-gap:.75rem}.site-nav a{font-size:.9rem}}@media (prefers-reduced-motion:no-preference){html[data-theme-transition] :is(.hero-layer-sky,.hero-layer-night){transition:opacity .85s}html[data-theme-transition] :is(.celestial-sun,.celestial-moon){transition:opacity .65s,transform .85s cubic-bezier(.22,1,.36,1)}html[data-theme-transition] :is(.theme-icon-light,.theme-icon-dark){transition:opacity .25s,transform .45s cubic-bezier(.22,1,.36,1)}html[data-theme-transition] :is(.hero-layer-ridges,.hero-layer-shore,.experience-backdrop img,.healem-image img){transition:filter .85s}html[data-theme-reveal]::view-transition{pointer-events:none}html[data-theme-reveal]::view-transition-group(root){mix-blend-mode:normal;animation:none}html[data-theme-reveal]::view-transition-old(root){mix-blend-mode:normal;animation:none}html[data-theme-reveal]::view-transition-new(root){mix-blend-mode:normal;animation:none}html[data-theme-reveal]::view-transition-old(root){z-index:1}html[data-theme-reveal]::view-transition-new(root){z-index:2;animation:.5s cubic-bezier(.22,1,.36,1) both theme-reveal}.gallery-frame[data-direction=next]>.gallery-slide{animation:.24s ease-out both gallery-next}.gallery-frame[data-direction=previous]>.gallery-slide{animation:.24s ease-out both gallery-previous}}@keyframes gallery-next{0%{opacity:.65;transform:translate(1.25rem)}to{opacity:1;transform:translate(0)}}@keyframes theme-reveal{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes gallery-previous{0%{opacity:.65;transform:translate(-1.25rem)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-project-link,.hero-project-link span,.theme-toggle{transition:none}.hero-scene,.hero-role,.hero h1 span,.hero-intro{animation:none}html[data-theme-reveal]::view-transition-group(root){mix-blend-mode:normal;animation:none}html[data-theme-reveal]::view-transition-old(root){mix-blend-mode:normal;animation:none}html[data-theme-reveal]::view-transition-new(root){mix-blend-mode:normal;animation:none}.hero-layer,.hero-celestial,.valley-layer,.forest-layer,.forest-depth,.cave-layer,.experience-backdrop,.hero-project-link:hover span{transform:none}}@keyframes scene-arrive{0%{opacity:.75;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@keyframes copy-arrive{0%{opacity:1;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes title-arrive{0%{opacity:1;transform:translateY(.15em)}to{opacity:1;transform:translateY(0)}}
