@font-face{font-family:Libron;src:url(/fonts/Libron-Regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Libron;src:url(/fonts/Libron-Italic.woff2)format("woff2");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Libron;src:url(/fonts/Libron-Bold.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Libron;src:url(/fonts/Libron-BoldItalic.woff2)format("woff2");font-style:italic;font-weight:700;font-display:swap}:root{--paper:#f6f2e7;--paper-deep:#e9e3d3;--ink:#2d2b24;--muted:#6a6556;--rule:#d5cdb8;--rust:#a24f2c;--sage:#6c7752;--wheat:#b38a46;--walnut:#6b4428;--paper-rgb:246 242 231;--ink-rgb:45 43 36;--on-accent:#f6f2e7;--selection:#e3d6b6;--heading:"Libron", Georgia, serif;--body:"Libron", Georgia, serif;--gutter:clamp(16px, 4vw, 56px);--ease:cubic-bezier(.22, .61, .36, 1);--tint:.07;--grain:.11;--ambient:.62;font-family:var(--body);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:17px}:root[data-theme=dark]{--paper:#1a1915;--paper-deep:#24221c;--ink:#ebe5d5;--muted:#a49d8a;--rule:#3a362d;--rust:#d27c52;--sage:#98a578;--wheat:#d3ad67;--walnut:#c99a70;--paper-rgb:26 25 21;--ink-rgb:235 229 213;--on-accent:#1a1915;--selection:#4a3f2c;--ambient:.55;--grain:.09;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#1a1915;--paper-deep:#24221c;--ink:#ebe5d5;--muted:#a49d8a;--rule:#3a362d;--rust:#d27c52;--sage:#98a578;--wheat:#d3ad67;--walnut:#c99a70;--paper-rgb:26 25 21;--ink-rgb:235 229 213;--on-accent:#1a1915;--selection:#4a3f2c;--ambient:.55;--grain:.09;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{scroll-padding-top:20px}body{background:var(--paper);min-width:320px;margin:0}::view-transition-old(root){animation-duration:1.2s;animation-timing-function:ease-in-out}::view-transition-new(root){animation-duration:1.2s;animation-timing-function:ease-in-out}html.theme-fading,html.theme-fading *,html.theme-fading :before,html.theme-fading :after{transition:background-color 1.5s,border-color 1.5s,box-shadow 1.5s,opacity 1.5s,color .3s .45s,fill .3s .45s,stroke .3s .45s,outline-color .3s .45s!important}body:after{content:"";z-index:390;pointer-events:none;opacity:var(--grain);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .16 0 0 0 0 .14 0 0 0 0 .1 -1.6 0 0 0 1.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}:root[data-theme=dark] body:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .95 0 0 0 0 .92 0 0 0 0 .84 1.6 0 0 0 -.35'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .95 0 0 0 0 .92 0 0 0 0 .84 1.6 0 0 0 -.35'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}}h1,h2,h3,p,figure,dl,dd,ul{margin:0}ul{padding:0;list-style:none}h1,h2,h3{font-family:var(--heading);text-wrap:balance;font-weight:400;line-height:1.1}p{text-wrap:pretty;line-height:1.6}a{color:inherit;text-underline-offset:.22em;-webkit-tap-highlight-color:transparent;transition:color .2s var(--ease);text-decoration-thickness:1px}a:hover{color:var(--rust)}a:focus-visible,button:focus-visible,main:focus-visible{outline:2px solid var(--rust);outline-offset:4px}main:focus{outline:none}button{font:inherit;color:inherit;cursor:pointer}img,video,svg{max-width:100%;display:block}::selection{background:var(--selection);color:var(--ink)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--paper);border:1px solid var(--rule);padding:10px 16px;position:fixed;top:12px;left:16px;transform:translateY(-200%)}.skip-link:focus{transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.site-frame{padding:0 var(--gutter);background:var(--paper);overflow:clip}.site-header{z-index:2;justify-content:space-between;align-items:center;gap:24px;min-height:84px;display:flex;position:relative}.site-header nav{flex-wrap:wrap;gap:6px 30px;display:flex}.site-header nav a,.wordmark{color:var(--ink);padding:8px 0;font-size:.98rem;text-decoration:none;position:relative}.wordmark{color:var(--ink);white-space:nowrap;font-size:1.15rem}.stalk{--stalk:3px;pointer-events:none;align-items:center;display:flex}.stalk-line{min-width:0;height:var(--stalk);background:var(--walnut);transform-origin:0;transition:transform .5s var(--ease);border-radius:999px;flex:1;transform:scaleX(0)}.stalk-ear{height:calc(var(--stalk) * 16 / 4.5);aspect-ratio:44/16;width:auto;margin-left:calc(var(--stalk) * -.5);fill:var(--walnut);flex:none;overflow:visible}.stalk-stem{fill:none;stroke:var(--walnut);stroke-width:4.5px;stroke-linecap:round;transform-box:fill-box;transform-origin:0;transition:transform .22s linear;transform:scaleX(0)}.stalk-grain{transform-box:fill-box;transform-origin:12%;transition:transform .3s ease-in;transform:scale(0)}:is(.stalk.is-grown,.stalk.is-in,.site-header nav a:hover .stalk,.site-header nav a:focus-visible .stalk) .stalk-line{transform:none}:is(.stalk.is-grown,.stalk.is-in,.site-header nav a:hover .stalk,.site-header nav a:focus-visible .stalk) .stalk-stem{transition-delay:.4s;transform:none}:is(.stalk.is-grown,.stalk.is-in,.site-header nav a:hover .stalk,.site-header nav a:focus-visible .stalk) .stalk-grain{transition:transform .42s cubic-bezier(.3, 1.45, .55, 1) calc(.55s + var(--g) * 65ms);transform:none}.site-header nav .stalk{position:absolute;bottom:0;left:0;right:-14px}.site-header nav a:not([aria-current]) .stalk{opacity:.45}.section-stalk{--stalk:4px;width:min(240px,60%);margin-top:14px}main{min-height:60vh;animation:page-in .45s var(--ease) both;display:block}html.is-leaving main{opacity:0;transition:opacity .2s,translate .2s;translate:0 -10px}@keyframes page-in{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}html.js [data-reveal]{opacity:0;transition:opacity .8s var(--ease), translate .8s var(--ease);translate:0 28px}html.js [data-reveal].is-in{opacity:1;translate:0}html.js [data-reveal]:nth-child(2){transition-delay:80ms}html.js [data-reveal]:nth-child(3){transition-delay:.16s}html.js [data-reveal]:nth-child(4){transition-delay:.24s}html.js [data-reveal]:nth-child(5){transition-delay:.32s}html.js [data-reveal]:nth-child(n+6){transition-delay:.4s}.cta{border-bottom:1px solid;align-items:baseline;gap:.5em;padding-bottom:3px;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.arrow{transition:transform .3s var(--ease);display:inline-block}a:hover .arrow{transform:translate(4px)}.lede{font-size:1.28rem;line-height:1.45}.more{color:var(--muted);margin-top:36px;font-size:.95rem}.prose p+p{margin-top:1em}.prose{max-width:62ch}.crumb{color:var(--muted);font-size:.95rem}.crumb a{text-decoration:none}.stack{color:var(--muted);letter-spacing:.01em;font-size:.86rem}.project-mark{aspect-ratio:1;width:88px;transition:transform .5s var(--ease);border-radius:22%;flex:none;place-items:center;display:grid;overflow:hidden}.project-mark svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:52%;height:52%}.mark-lotflow img{width:100%;height:100%}.mark-server{color:#f3ead6;background:#3f4a3b}.mark-sedes{color:#f3ead6;background:#8c6a3e}.mark-sedes svg{stroke-width:3px}.mark-monogram{background:var(--paper-deep);color:var(--ink);border:1px solid var(--rule);font-family:var(--heading);font-size:1.9rem}.mark-large.mark-monogram{font-size:6rem}.mark-screenshot{border:1px solid var(--rule)}.mark-screenshot img{object-fit:cover;object-position:left top;width:100%;height:100%}.hero{margin:0 calc(-1 * var(--gutter));padding:48px var(--gutter) 56px 6vw;grid-template-columns:minmax(0,54vw) minmax(0,1fr);align-items:center;display:grid}.hero-media{padding-bottom:68px;position:relative}.meadow{aspect-ratio:16/9;position:relative}.meadow-ambient{width:320%;max-width:none;height:250%;opacity:var(--ambient);pointer-events:none;position:absolute;top:-75%;left:-110%;-webkit-mask-image:radial-gradient(closest-side,#000 26%,#000000bf 48%,#00000059 74%,#0000 100%);mask-image:radial-gradient(closest-side,#000 26%,#000000bf 48%,#00000059 74%,#0000 100%)}.meadow-stage{position:absolute;inset:-8%;overflow:hidden;-webkit-mask:radial-gradient(closest-side,#000 52%,#000000d6 62%,#0000008c 73%,#00000045 84%,#00000014 93%,#0000 100%) 50%/100% 100% no-repeat;mask:radial-gradient(closest-side,#000 52%,#000000d6 62%,#0000008c 73%,#00000045 84%,#00000014 93%,#0000 100%) 50%/100% 100% no-repeat}.meadow-source{object-fit:cover;object-position:45% 60%;width:112%;max-width:none;height:112%;position:absolute;inset:-6%}video.meadow-source{opacity:0;transition:opacity 1.6s var(--ease)}video.meadow-source.is-playing{opacity:1}.meadow-soft{width:112%;max-width:none;height:112%;position:absolute;inset:-6%;-webkit-mask-image:radial-gradient(closest-side,#0000 46%,#0000008c 64%,#000 84%);mask-image:radial-gradient(closest-side,#0000 46%,#0000008c 64%,#000 84%)}.tint{opacity:var(--tint);background:radial-gradient(closest-side, transparent 45%, rgb(var(--paper-rgb) / .5) 72%, var(--paper) 100%);position:absolute;inset:0}.grain{opacity:calc(var(--grain) * 1.6);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .16 0 0 0 0 .14 0 0 0 0 .1 -1.6 0 0 0 1.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0;-webkit-mask-image:radial-gradient(closest-side,#0000 45%,#000 85%);mask-image:radial-gradient(closest-side,#0000 45%,#000 85%)}.motion-control{z-index:3;pointer-events:none;justify-content:center;gap:10px;display:flex;position:absolute;top:calc(100% + 26px);left:0;right:0}.motion-control>*{pointer-events:auto}.motion-control button{font:inherit;white-space:nowrap;color:var(--ink);background:rgb(var(--paper-rgb) / .86);border:1px solid rgb(var(--ink-rgb) / .12);border-radius:999px;padding:5px 13px;font-size:.85rem;transition:background-color .2s,color .2s;box-shadow:0 2px 10px #0000001f}.motion-control button:focus-visible{outline:2px solid var(--walnut);outline-offset:3px}.motion-control button:hover{background:rgb(var(--paper-rgb) / .92)}.motion-control button.sound-both,.motion-control button.sound-music,.motion-control button.sound-ambient,.motion-control button.sound-waiting,.motion-control button.quality-pretty,.motion-control button[aria-pressed=true]{color:var(--on-accent);background:var(--walnut);border-color:var(--walnut)}.hero-copy{padding-left:5vw;position:relative}.hello{color:var(--muted);font-size:1.1rem}.hero-copy h1{letter-spacing:-.02em;margin-top:6px;font-size:clamp(3.4rem,6.3vw,7.4rem);line-height:.9}.surname{display:block}.alias{color:var(--muted);margin-top:14px}.hero-copy .lede{max-width:30ch;margin-top:28px}.hero-copy .cta{margin-top:28px}.featured{padding:24px 0 64px}.about-teaser{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:24px 40px;padding:56px 0 88px;display:grid}.about-teaser h2{font-size:1.9rem}.statement{text-wrap:balance;max-width:28ch;font-size:clamp(1.7rem,2.8vw,2.6rem);line-height:1.3}.about-teaser .cta{margin-top:32px}.featured h2{font-size:1.9rem}.work-list{border-top:1px solid var(--rule);margin:28px 0 0;padding:0;list-style:none}.work-item{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,5fr) minmax(0,5fr) minmax(0,2fr);align-items:baseline;gap:12px 40px;padding:26px 0 24px;display:grid;position:relative}.work-title{transition:translate .5s var(--ease), color .3s;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.05}.work-title a{text-decoration:none}.work-title a:after{content:"";position:absolute;inset:0}.work-summary{max-width:44ch;color:var(--ink)}.work-meta span{display:block}.work-meta{text-align:right;color:var(--muted);justify-self:end;font-size:.9rem;line-height:1.5}.work-item:hover .work-title{color:var(--rust);translate:10px}.work-item:has(a:focus-visible){outline:2px solid var(--rust);outline-offset:6px}.work-item a:focus-visible{outline:none}.project-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;margin-bottom:8px;display:flex}.filters{flex-wrap:wrap;gap:4px 22px;display:flex}.filters button{color:var(--muted);background:0 0;border:0;padding:6px 0;font-size:1.05rem;transition:color .2s;position:relative}.filters button:hover,.filters button[aria-pressed=true]{color:var(--ink)}.filters button[aria-pressed=true]:after{content:"";background:var(--rust);height:1px;position:absolute;bottom:0;left:0;right:0}.filters .count{vertical-align:super;color:var(--muted);margin-left:2px;font-size:.78rem}.search input{width:min(260px,70vw);font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--rule);background:0 0;border-radius:0;outline:none;padding:6px 2px;font-size:1.05rem;transition:border-color .2s}.search input:focus{border-bottom-color:var(--ink)}.search input:focus-visible{border-bottom-color:var(--walnut);box-shadow:0 2px 0 var(--walnut)}.search input::placeholder{color:var(--muted)}.work-item.rises{animation:settle .6s calc(var(--i,0) * 50ms) var(--ease) both}.no-results{color:var(--muted);border-top:1px solid var(--rule);padding:40px 0}.no-results button{font:inherit;color:var(--ink);background:0 0;border:0;border-bottom:1px solid;padding:0}.page-heading{padding:56px 0 32px}.page-heading h1,.split-page h1,.project-header h1{font-size:clamp(2.8rem,5.2vw,4.4rem)}.page-heading p:not(.crumb){max-width:56ch;color:var(--muted);margin-top:14px;font-size:1.1rem}.page-heading .crumb{margin-bottom:12px}.project-header{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(32px,5vw,72px);padding:48px 0 56px;display:grid}.project-cover{justify-items:center;display:grid}.project-cover .project-mark{width:min(100%,300px)}.project-cover img{border:1px solid var(--rule);width:100%;height:auto}.project-header .crumb{margin-bottom:12px}.project-header .summary{margin-top:16px;font-size:1.2rem;line-height:1.5}.facts{grid-template-columns:max-content 1fr;gap:8px 24px;margin:28px 0;font-size:.95rem;display:grid}.facts div{display:contents}.facts dt{color:var(--muted)}.case-section{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;padding:32px 0;display:grid}.case-section h2{font-size:1.55rem}.next-project{border-top:1px solid var(--rule);justify-content:space-between;gap:24px;padding:28px 0 56px;display:flex}.next-project a{text-decoration:none}.split-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,88px);padding:48px 0 64px;display:grid}.split-page h1+.lede{margin-top:20px}.about .prose p:not(.lede){margin-top:1em}.resume{z-index:5;justify-self:start;width:fit-content;margin:6px 0 14px;position:relative}.resume summary{border:1px solid var(--walnut);color:var(--walnut);border-radius:999px;align-items:baseline;gap:.45em;padding:7px 14px;font-size:1rem;list-style:none;transition:background-color .2s,color .2s;display:inline-flex}.resume summary::-webkit-details-marker{display:none}.resume summary:hover,.resume[open] summary{background:var(--walnut);color:var(--on-accent)}.resume summary:focus-visible{outline:2px solid var(--walnut);outline-offset:3px}.resume .caret{transition:rotate .25s var(--ease);font-size:.8em;display:inline-block}.resume[open] .caret{rotate:180deg}.resume ul{z-index:5;white-space:nowrap;background:var(--paper);border:1px solid var(--rule);min-width:170px;animation:settle .25s var(--ease) both;border-radius:10px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 28px #00000024}.resume li a{color:var(--ink);border-radius:6px;justify-content:space-between;gap:24px;padding:7px 10px;text-decoration:none;display:flex}.resume li a span{color:var(--muted);font-size:.85rem}.resume li a:hover{background:var(--paper-deep)}.toolkit{border-top:1px solid var(--rule);gap:10px;margin:1.2em 0 0;padding:16px 0 0;display:grid}.toolkit div{grid-template-columns:6.5em 1fr;gap:12px;display:grid}@media (width<=680px){.toolkit div{grid-template-columns:5em 1fr}}.toolkit dt{color:var(--muted);font-size:.9rem}.toolkit dd{margin:0}.toolkit+p{margin-top:1.2em}.contact .resume{margin:18px 0 22px}.about .cta{margin-top:28px}.about .split-media{margin-left:calc(-1 * var(--gutter))}.contact{max-width:760px;padding:72px 0 96px}.contact h1{font-size:clamp(2.8rem,5.2vw,4.4rem)}.contact .lede{margin-top:20px}.contact-email{font-family:var(--heading);overflow-wrap:anywhere;margin-top:32px;font-size:clamp(1.5rem,3vw,2.3rem)}.contact-other{flex-wrap:wrap;gap:8px 28px;margin-top:16px;display:flex}.not-found{text-align:center;padding:96px 0 120px}.not-found h1{font-size:clamp(2.6rem,5vw,4rem)}.not-found p{color:var(--muted);margin-top:16px}.site-footer{margin:0 calc(-1 * var(--gutter))}.footer-meta{padding:18px var(--gutter) 20px;border-top:1px solid var(--rule);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;font-size:.88rem;display:flex}.footer-credits{flex-wrap:wrap;align-items:baseline;gap:4px 0;display:flex}.music-credit:before{content:"|";color:var(--rule);margin:0 .7em}.music-credit{position:relative}.music-toggle{width:1.5em;font:inherit;color:var(--walnut);background:0 0;border:0;place-items:center;margin-right:.35em;padding:0;font-size:.8rem;display:inline-grid}.music-credit a{color:var(--walnut);border-bottom:1px solid;text-decoration:none}.music-credit .credit-note{white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s ease, translate .35s var(--ease);border:0;padding-left:10px;font-size:.8rem;font-style:italic;position:absolute;bottom:0;left:100%;translate:-6px}.music-credit:hover .credit-note,.music-credit:focus-within .credit-note{opacity:1;pointer-events:auto;translate:0}.music-credit .credit-note:hover{text-decoration:underline}.inline-icon{vertical-align:-.25em;width:1.4em;height:1.4em;color:var(--walnut);transition:color .2s, translate .2s var(--ease);border:0;place-items:center;margin-left:.3em;text-decoration:none;display:inline-grid}.inline-icon:hover{color:var(--ink);translate:0 -1px}.inline-icon svg{fill:currentColor;width:1em;height:1em}.footer-meta .alias{margin:0}.footer-links{gap:18px;display:flex}.footer-links .theme-toggle{font:inherit;background:0 0;border:0;padding:0}.footer-links a,.footer-links .theme-toggle{width:28px;height:28px;color:var(--ink);place-items:center;display:grid;position:relative}.link-hint{white-space:nowrap;color:var(--ink);background:var(--paper-deep);border:1px solid var(--rule);opacity:0;pointer-events:none;transition:opacity .2s ease, translate .3s var(--ease);border-radius:6px;padding:3px 8px;font-size:.78rem;position:absolute;bottom:calc(100% + 6px);right:0;translate:0 4px}.footer-links a:hover .link-hint,.footer-links a:focus-visible .link-hint,.footer-links .theme-toggle:hover .link-hint,.footer-links .theme-toggle:focus-visible .link-hint{opacity:1;translate:0}.footer-links .theme-toggle:hover,.footer-links a:hover{color:var(--rust)}.footer-links svg{width:19px;height:19px}.footer-links svg:not([fill]){fill:currentColor}.cursor-dot{display:none}html.has-cursor,html.has-cursor *{cursor:none!important}@media (forced-colors:active){html.has-cursor,html.has-cursor *{cursor:auto!important}html.has-cursor .cursor-dot{display:none}}html.has-cursor .cursor-dot{z-index:400;background:var(--walnut);width:16px;height:16px;box-shadow:inset 0 0 0 1.5px var(--walnut);pointer-events:none;opacity:0;will-change:translate;border-radius:50%;place-items:center;margin:-8px 0 0 -8px;transition:background-color .25s,opacity .2s,scale .2s;display:grid;position:fixed;top:0;left:0}html.has-cursor .cursor-dot.is-visible{opacity:1}html.has-cursor .cursor-dot.is-pressed{scale:.8}html.has-cursor .cursor-dot.is-link{background:0 0}.cursor-dot svg{fill:none;width:10px;height:10px;stroke:var(--on-accent);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .2s, scale .25s var(--ease);grid-area:1/1;scale:.6}.cursor-dot.mark-view .cursor-view,.cursor-dot.mark-scroll .cursor-scroll{opacity:1;scale:1}.intro-title{display:none}html.intro{overflow:hidden}html.intro body{height:100svh;overflow:clip}html.intro .site-header,html.intro main>:not(.hero),html.intro .hero-copy,html.intro .motion-control,html.intro .meadow-ambient,html.intro .site-footer{opacity:0}html.intro .site-header{translate:0 -14px}html.intro main>:not(.hero),html.intro .hero-copy{translate:0 36px}html.intro.intro-out .site-header,html.intro.intro-out main>:not(.hero),html.intro.intro-out .hero-copy,html.intro.intro-out .motion-control,html.intro.intro-out .site-footer{opacity:1;transition:opacity 1.2s .15s,translate 1.5s cubic-bezier(.65,0,.2,1);translate:0}html.intro.intro-out .meadow-ambient{opacity:var(--ambient);transition:opacity 1.4s .2s}html.intro:not(.intro-out) .hero-copy>*{animation-play-state:paused}html.intro main,html.intro .hero .meadow,html.intro-played main,html.intro-played .hero .meadow{animation:none}html.intro .site-frame{opacity:0}html.intro.intro-owned .site-frame{opacity:1;transition:opacity .7s}html.intro:not(.intro-out) .site-frame{height:100svh}html.intro:not(.intro-out) :is(.meadow-ambient,.meadow-stage .meadow-soft,.meadow-stage .tint,.meadow-stage .grain,main>:not(.hero),.site-footer,.hero-copy,.motion-control){visibility:hidden}html.intro .hero .meadow-stage{-webkit-mask-size:260% 260%;mask-size:260% 260%}html.intro:not(.intro-out) .meadow-stage :is(.meadow-soft,.tint,.grain){opacity:0}html.intro .intro-title{z-index:260;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}html.intro .intro-title>*{pointer-events:auto}.intro-title>svg{width:min(78vw,760px);transition:opacity .6s,scale 1.2s cubic-bezier(.65,0,.2,1);overflow:visible}.intro-actions,.intro-next{opacity:0;transition:opacity .8s ease, translate .9s var(--ease);translate:0 8px}html.intro-writing .intro-actions,html.intro-writing .intro-next{opacity:1;transition-delay:1.6s;translate:0}.intro-actions{gap:10px;display:flex}.intro-actions button{font:inherit;white-space:nowrap;color:#2d2b24;background:#f6f2e7c7;border:1px solid #2d2b2426;border-radius:999px;padding:5px 13px;font-size:.85rem;transition:background-color .2s,color .2s,border-color .2s;box-shadow:0 2px 10px #0000001f}html[data-daypart=night] .intro-actions button{color:#f4efe2;background:#1413108c;border-color:#f4efe233}html .intro-actions button.is-on{color:var(--on-accent);background:var(--walnut);border-color:var(--walnut)}.intro-actions button:focus-visible,.intro-next:focus-visible{outline:2px solid var(--walnut);outline-offset:3px}.intro-next{color:#2d2b24;background:#f6f2e7c7;border:1px solid #2d2b2426;border-radius:50%;place-items:center;width:46px;height:46px;margin-left:-23px;padding:0;display:grid;position:absolute;bottom:max(5vh,28px);left:50%}html[data-daypart=night] .intro-next{color:#f4efe2;background:#14131099;border-color:#f4efe233}.intro-next svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}html.intro-writing:not(.intro-out) .intro-next svg{animation:2.4s ease-in-out 2.6s infinite nudge}@keyframes nudge{0%,60%,to{translate:0}30%{translate:0 4px}}html.intro.intro-out .intro-title>svg{opacity:0;scale:.82}html.intro.intro-out .intro-next{opacity:0;transition-duration:.4s;transition-delay:0s}html.intro .hero :is(.sound-control,.quality-control){visibility:hidden}.intro-title text{font-family:var(--heading);fill:#2d2b24;fill-opacity:0;stroke:#2d2b24;stroke-width:1.4px;stroke-dasharray:700;stroke-dashoffset:700px;filter:drop-shadow(0 0 18px #f6f2e78c);font-size:168px}html[data-daypart=night] .intro-title text{fill:#f4efe2;stroke:#f4efe2;filter:drop-shadow(0 0 18px #0a0a0899)}.intro-hand{transform:translate(-100%)}html.intro-writing .intro-hand{animation:2.2s cubic-bezier(.45,.05,.35,1) forwards write}html.intro-writing .intro-title text{animation:2.2s ease-out forwards trace,1s 1.3s forwards ink}@keyframes write{to{transform:translate(0)}}@keyframes trace{to{stroke-dashoffset:0}}@keyframes ink{to{fill-opacity:1}}@media (width<=900px){.hero{padding:0 var(--gutter) 48px;grid-template-columns:1fr}.hero-media{margin:0 calc(-1 * var(--gutter))}.meadow{aspect-ratio:1.25}.hero-copy{margin-top:6px;padding-left:0}.hero-copy h1{font-size:clamp(3rem,11vw,5rem)}.project-header,.split-page{grid-template-columns:1fr}.about .split-media{margin-right:calc(-1 * var(--gutter))}.project-cover .project-mark{width:160px}}@media (width<=680px){:root{font-size:16px}.site-header{flex-direction:column-reverse;align-items:flex-start;gap:4px;min-height:0;padding-top:14px}.site-header nav{flex-wrap:nowrap;gap:14px}.site-header nav a{font-size:.9rem}.hero-copy h1{font-size:clamp(2.6rem,12vw,3.6rem)}.surname{display:inline}.work-item,.about-teaser{grid-template-columns:1fr;gap:6px}.work-meta{text-align:left;justify-self:start}.work-meta span{display:inline}.work-meta span+span:before{content:"· "}.case-section{grid-template-columns:1fr;gap:10px}.next-project{flex-direction:column}}@media (width<=370px){.site-header nav{gap:10px}.site-header nav a{font-size:.82rem}}.hero .meadow{animation:develop 1.8s var(--ease) both}.hero-copy>*{animation:settle .9s var(--ease) both}.hero-copy>:nth-child(2){animation-delay:.12s}.hero-copy>:nth-child(3){animation-delay:.24s}.hero-copy>:nth-child(4){animation-delay:.34s}.hero-copy>:nth-child(5){animation-delay:.44s}.hero-copy>:nth-child(6){animation-delay:.54s}@keyframes develop{0%{opacity:0}to{opacity:1}}@keyframes settle{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.stalk-line,.stalk-stem,.stalk-grain{transition:none!important}html.js [data-reveal]{opacity:1;translate:none}}html[data-quality=fast] :is(.meadow-ambient,.meadow-soft,.meadow-stage .grain,.cursor-dot){display:none}html[data-quality=fast] body:after{content:none}html[data-quality=fast].js [data-reveal]{transition:opacity .5s;translate:none}html[data-quality=fast] .intro-title text{filter:none}
