@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;--bar-paper:color-mix(in srgb, var(--paper), black 3.3%);--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(--edge-top,var(--glow-top,var(--bar-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;--bar-paper:color-mix(in srgb, var(--paper), white 2.5%);--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;--bar-paper:color-mix(in srgb, var(--paper), white 2.5%);--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(--edge-top,var(--glow-top,var(--bar-paper)));min-width:320px;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);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{min-height:100lvh;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,.work-item:hover .stalk,.work-item:has(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,.work-item:hover .stalk,.work-item:has(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,.work-item:hover .stalk,.work-item:has(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,.mark-resolve img{width:100%;height:100%}.mark-wellspring{border:1px solid var(--rule);background:#f3f8f9}.project-mark.mark-wellspring img{object-fit:contain;border:0;width:56%;height:56%}.mark-server{color:#f3ead6;background:#3f4a3b}.mark-sedes{color:#f3ead6;background:#8c6a3e}.mark-sedes svg{stroke-width:3px}.sedes-logo{background:var(--paper-deep);color:var(--ink);border:1px solid var(--rule);font-family:var(--heading);font-size:clamp(3rem,7vw,4.6rem)}.sedes-logo>span{flex-direction:column;gap:.08em;line-height:1;display:flex}.sedes-logo .stalk{--stalk:.102em;padding-left:.05em}.sedes-logo .stalk-ear{width:auto;height:calc(var(--stalk) * 16 / 4.5);fill:var(--walnut);stroke:none}.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) 12px 6vw;grid-template-columns:minmax(0,54vw) minmax(0,1fr);align-items:center;display:grid}.hero-media{padding-bottom:52px;position:relative}.meadow{aspect-ratio:16/9;position:relative}.meadow-ambient{width:320%;max-width:none;height:250%;opacity:min(1, calc(var(--ambient) * var(--glow-strength,1)));pointer-events:none;position:absolute;top:-75%;left:-110%}.fireflies{pointer-events:none;position:absolute;inset:0}.fireflies span{opacity:0;width:4px;height:4px;animation:firefly-wander var(--wander) ease-in-out var(--delay) infinite alternate, firefly-blink var(--blink) ease-in-out var(--delay) infinite;background:#fff3b0;border-radius:50%;position:absolute;box-shadow:0 0 6px 2px #ffdc78b3,0 0 18px 6px #ffc85a40}.fireflies.is-paused span,.meadow[data-away] .fireflies span{animation-play-state:paused}@keyframes firefly-wander{33%{translate:calc(var(--dx) * .6) calc(var(--dy) * -.4)}66%{translate:calc(var(--dx) * -.3) calc(var(--dy) * .7)}to{translate:var(--dx) var(--dy)}}@keyframes firefly-blink{0%,35%,to{opacity:0}55%{opacity:.95}70%{opacity:.5}}html[data-quality=fast] .fireflies{display:none}@media (prefers-reduced-motion:reduce){.fireflies{display:none}}.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%)}@property --hole{syntax:"<percentage>";inherits:false;initial-value:-14%}.meadow-alternate{--hole:30%;-webkit-mask-image:linear-gradient(90deg, transparent, #000 11%, #000 89%, transparent), linear-gradient(transparent, #000 9%, #000 91%, transparent), radial-gradient(ellipse 71% 71% at 50% 50%, #000 74%, #00000080 88%, transparent), radial-gradient(ellipse farthest-corner at var(--hole-x) var(--hole-y), #000 var(--hole), transparent calc(var(--hole) + 14%));-webkit-mask-image:linear-gradient(90deg, transparent, #000 11%, #000 89%, transparent), linear-gradient(transparent, #000 9%, #000 91%, transparent), radial-gradient(ellipse 71% 71% at 50% 50%, #000 74%, #00000080 88%, transparent), radial-gradient(ellipse farthest-corner at var(--hole-x) var(--hole-y), #000 var(--hole), transparent calc(var(--hole) + 14%));mask-image:linear-gradient(90deg, transparent, #000 11%, #000 89%, transparent), linear-gradient(transparent, #000 9%, #000 91%, transparent), radial-gradient(ellipse 71% 71% at 50% 50%, #000 74%, #00000080 88%, transparent), radial-gradient(ellipse farthest-corner at var(--hole-x) var(--hole-y), #000 var(--hole), transparent calc(var(--hole) + 14%));-webkit-mask-composite:source-in;opacity:0;pointer-events:none;transition:opacity .6s,--hole 0s linear .6s;position:absolute;inset:-6% -9%;-webkit-mask-composite:source-in;mask-composite:intersect}.meadow.is-opened .meadow-alternate{--hole:100%;opacity:1;transition:--hole 1.1s cubic-bezier(.25,.4,.25,1),opacity .55s ease-out}.meadow-oval{position:absolute;-webkit-mask-image:radial-gradient(closest-side,#000 60%,#000000d1 70%,#00000080 81%,#0000002e 91%,#0000);mask-image:radial-gradient(closest-side,#000 60%,#000000d1 70%,#00000080 81%,#0000002e 91%,#0000)}.meadow-oval img{object-fit:cover;max-width:none;position:absolute}.meadow.has-alternate .meadow-stage{transition:opacity .6s}.meadow.has-alternate.is-opened .meadow-stage{opacity:0;transition:opacity .7s cubic-bezier(.4,0,.6,1) 80ms}.meadow.has-alternate .meadow-ambient{transition:opacity 1.2s}.meadow.has-alternate.is-opened .meadow-ambient{opacity:min(1, calc(var(--ambient) * 1.35))}@media (width>=901px){.about .meadow-ambient{width:380%}}.about .split-media{container-type:inline-size}.meadow.has-alternate{--closed-ratio:.5625;aspect-ratio:auto;height:calc(100cqw * var(--closed-ratio));cursor:pointer;-webkit-tap-highlight-color:transparent;transition:height 1s cubic-bezier(.4,0,.2,1)}.meadow.has-alternate.is-opened{height:min(86svh, 100cqw * var(--open-ratio,1));transition-duration:1.1s}.alternate-toggle{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.meadow.has-alternate:has(.alternate-toggle:focus-visible){outline:2px solid var(--walnut);outline-offset:4px;border-radius:50%}.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% + 20px);left:0;right:0}.motion-control>*{pointer-events:auto}.control{width:36px;height:36px;font:inherit;color:var(--ink);background:rgb(var(--paper-rgb) / .86);border:1px solid rgb(var(--ink-rgb) / .12);border-radius:999px;place-items:center;padding:0;transition:background-color .2s,color .2s,border-color .2s;display:inline-grid;position:relative;box-shadow:0 2px 10px #0000001f}.control>svg{width:17px;height:17px}.control:hover{background:rgb(var(--paper-rgb) / .96)}.control.is-on{color:var(--on-accent);background:var(--walnut);border-color:var(--walnut)}.control:focus-visible{outline:2px solid var(--walnut);outline-offset:3px}.control-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;line-height:1.3;position:absolute;bottom:calc(100% + 8px);left:50%;translate:-50% 4px}.control:hover .control-hint,.control:focus-visible .control-hint{opacity:1;translate:-50%}.control-pill{background:rgb(var(--paper-rgb) / .86);border:1px solid rgb(var(--ink-rgb) / .12);border-radius:999px;align-items:center;height:36px;padding:0 2px;display:inline-flex;box-shadow:0 2px 10px #0000001f}.control-pill .control{width:32px;height:30px;box-shadow:none;background:0 0;border:0}.control-pill .control.is-on{color:var(--on-accent);background:var(--walnut)}.control-divider{background:rgb(var(--ink-rgb) / .2);width:1px;height:16px;margin:0 3px}.control-pill .control:not(.is-on):after{content:"";background:currentColor;border-radius:1px;width:20px;height:1.6px;position:absolute;rotate:-45deg}.control-pill .control:not(.is-on)>svg{opacity:.55}.control-pill.is-waiting .control{grid-auto-flow:column;gap:6px;width:auto;padding:0 12px 0 10px;font-size:.85rem}.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:8px 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-name{flex-direction:column;align-items:stretch;display:inline-flex}.work-stalk{--stalk:3px;width:var(--line,auto);contain:inline-size;max-width:100%;margin-top:.12em;margin-bottom:-.3em}.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,.title-row+.lede{margin-top:20px}.title-row{z-index:6;flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex;position:relative}.title-row .resume{margin:.35em 0 0}.photo-hint{color:var(--muted)}.about .prose p:not(.lede){margin-top:1em}.resume{z-index:5;justify-self:start;width:fit-content;margin:1.1em 0 .1em;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))}@media (width>=901px){.about .split-media{flex-direction:column;justify-content:center;align-self:start;height:100svh;display:flex;position:sticky;top:0}}.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}.quip{color:var(--walnut);font:italic 1.12rem var(--body);cursor:pointer;opacity:0;background:0 0;border:0;margin-top:14px;padding:4px 8px;transition:opacity .5s;display:inline-block}.quip.is-in{opacity:1}.quip span{opacity:.55}.quip:hover{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.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 .55em}@media (width<=680px){.footer-credits{flex-direction:column}.music-credit:before{content:none}}.music-credit{position:relative}.music-toggle{color:var(--walnut);vertical-align:-.1em;transition:scale .2s var(--ease);background:0 0;border:0;place-items:center;margin:-10px calc(.55em - 10px) -10px -10px;padding:10px;display:inline-grid}.music-toggle svg{width:.8em;height:.8em}.music-toggle:hover{scale:1.15}.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:clip}html.intro body{height:100lvh;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:min(1, calc(var(--ambient) * var(--glow-strength,1)));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:100lvh}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{align-items:center;gap:10px;display:flex}.intro-actions :is(.control,.control-pill){color:#2d2b24;background:#f6f2e7cc;border-color:#2d2b2426}html[data-daypart=night] .intro-actions :is(.control,.control-pill){color:#f4efe2;background:#14131099;border-color:#f4efe233}.intro-actions .control-pill .control{background:0 0}html .intro-actions .control.is-on{color:var(--on-accent);background:var(--walnut);border-color:var(--walnut)}.intro-actions .control:focus-visible,.intro-next:focus-visible{outline:2px solid var(--walnut);outline-offset:3px}.edge-strip{z-index:450;background-color:var(--edge);height:12px;transition:opacity .7s;position:fixed;left:0;right:0}.edge-strip.top{top:0}.edge-strip.bottom{bottom:0}.edge-strip:after{content:"";pointer-events:none;height:14px;position:absolute;left:0;right:0}.edge-strip.top:after{background:linear-gradient(var(--edge), transparent);top:100%}.edge-strip.bottom:after{background:linear-gradient(transparent, var(--edge));bottom:100%}.edge-strip.is-gone{opacity:0;pointer-events:none}.intro-next{left:50%;bottom:calc(max(5vh, 28px) + env(safe-area-inset-bottom));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}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) 20px;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))}.meadow.has-alternate{--closed-ratio:.8}.project-cover .project-mark{width:160px}}@media (width<=680px){:root{font-size:16px}.site-header{gap:16px;min-height:64px;padding-top:10px}.wordmark{font-size:1.05rem}.wordmark-rest{display:none}.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}
