:root{--foreground:#747154;--muted:#8b886c;--line:#d9d6c4;--paper:#fffef0;--page-width:800px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-height:100vh;color:var(--foreground);margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5;transition:background-color .24s}:is(body:has(.home-page[data-media=cd]),body:has(.project-page[data-media=cd])){background:#f1f1f1}:is(body:has(.home-page[data-media=sd]),body:has(.project-page[data-media=sd])){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#11120f}a{color:inherit}::selection{background:var(--foreground);color:var(--paper)}.skip-link{z-index:10;color:#fff;background:#111;padding:8px 12px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.page-shell{width:min(calc(100% - 40px), var(--page-width));margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:64px;display:flex}.site-name{font-weight:600;text-decoration:none}.site-nav a{color:var(--muted);font-size:14px;text-decoration:none}.site-nav a:hover{color:var(--foreground)}.home-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:clamp(72px,10vh,128px) 24px;display:flex}.home-page,.project-page{--selector-shell:#f1f0e3;--selector-active:#fffef5;--selector-text:#747154}.media-selector{right:max(24px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom));z-index:40;background:var(--selector-shell);width:52px;height:52px;color:var(--selector-text);border-radius:999px;transition:width .36s cubic-bezier(.22,1,.36,1),background-color .16s,color .16s;position:fixed}.media-selector[data-open=true]{width:144px}.home-page[data-media=cd],.project-page[data-media=cd]{--selector-shell:#e5e5e5;--selector-active:#fafafa;--selector-text:#636363}.home-page[data-media=sd],.project-page[data-media=sd]{--selector-shell:#23241f;--selector-active:#3b3d34;--selector-text:#d1d2c7}.media-selector button{width:44px;height:44px;color:inherit;font:inherit;cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;transition:transform .36s cubic-bezier(.22,1,.36,1),opacity .18s,background-color .16s,box-shadow .16s;display:grid;position:absolute;top:4px;right:4px;transform:translate(0)scale(.8)}.media-selector button[aria-pressed=true]{z-index:1;opacity:1;pointer-events:auto;transform:translate(0)scale(1)}.media-selector[data-open=true] button{opacity:1;pointer-events:auto;transform:translateX(var(--option-offset)) scale(1)}.media-selector img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:26px;height:26px;display:block}.media-selector button:hover{background:color-mix(in srgb, var(--selector-active) 55%, transparent)}.media-selector[data-open=true] button[aria-pressed=true]{background:var(--selector-active);box-shadow:0 1px 3px #00000014}.media-selector button:focus-visible{outline-offset:2px;outline:2px solid}.home-intro{letter-spacing:0;opacity:1;grid-template-rows:1fr;width:100%;max-width:680px;font-size:16px;font-weight:400;line-height:24px;transition:opacity .2s .48s,transform .2s .48s;display:grid;transform:translateY(0)}.home-intro-inner{min-height:0}.profile-figure{flex-direction:column;align-items:center;gap:10px;margin:0 0 42px;display:flex}.profile-image{object-fit:cover;border:2px solid #fff;width:46px;height:46px;display:block;box-shadow:0 1px 4px #3532202e}.profile-figure figcaption{color:#aaa78d;font-size:12px;line-height:18px}.home-page[data-media=cd] .profile-figure figcaption{color:#a3a3a3}.home-page[data-media=sd] .profile-figure figcaption{color:#aaa99f}.home-page[data-media=sd] .profile-image{border-color:#fffef0;box-shadow:0 1px 5px #00000073}.home-intro h1{font:inherit;margin:0}.home-intro p{margin:0}.home-intro p+p{margin-top:28px}.text-link{text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.home-project-link{cursor:pointer}.home-project-link:focus-visible{outline-offset:3px;border-radius:1px;outline:1px solid}.projects-section{justify-content:center;width:100%;margin-top:clamp(72px,9vh,96px);display:flex}.home-page[data-projects-expanded=true] .home-intro{opacity:0;grid-template-rows:0fr;transition:opacity .12s,transform .18s;transform:translateY(-12px)}.home-page[data-projects-expanded=true] .projects-section{margin-top:0}.project-browser{--stack-gap:3px;width:var(--media-width);position:relative}.project-browser[data-expanded=true]{width:var(--grid-width)}.projects-toolbar{z-index:30;opacity:0;pointer-events:none;justify-content:center;align-items:center;width:100%;height:42px;display:flex;position:absolute;top:-72px;left:0}.project-browser[data-expanded=true] .projects-toolbar{opacity:1;pointer-events:auto;transition:opacity .18s 80ms}.close-icon{opacity:.65;fill:none;stroke:currentColor;stroke-linecap:square;stroke-width:1.25px;flex:none;width:16px;height:16px}.projects-toolbar button:focus-visible{outline-offset:2px;outline:2px solid}.floppy-stack{width:100%;height:calc(var(--media-height) + var(--resting-depth));display:block;position:relative}.floppy-stack[data-expanded=false][data-load-animation=false]:hover,.floppy-stack[data-expanded=false][data-load-animation=false]:focus-within{--stack-gap:5px;--stack-lift:var(--hover-lift)}.floppy-stack[data-expanded=true]{height:var(--grid-height)}.floppy-layer{width:var(--media-width);height:var(--media-height);z-index:var(--stack-z);backface-visibility:hidden;color:inherit;transform:translate3d(var(--linked-project-offset-x,0px), calc(var(--layer) * var(--stack-gap) - var(--stack-lift,0px) + var(--linked-project-offset-y,0px)), 0);will-change:transform;text-decoration:none;transition:transform .48s cubic-bezier(.22,1,.36,1);display:block;position:absolute;top:0;left:0}.floppy-stack[data-expanded=false] .floppy-layer[data-home-highlighted=true]{--linked-project-offset-x:50px;--linked-project-offset-y:33px}.floppy-stack[data-expanded=false][data-load-animation=true] .floppy-layer:not([data-returning-project=true]){animation:.22s cubic-bezier(.22,1,.36,1) both stack-layer-load;animation-delay:calc(var(--load-order) * 36ms)}@keyframes stack-layer-load{0%{opacity:0;transform:translate3d(0, calc(var(--layer) * var(--stack-gap) + 6px), 0)}to{opacity:1;transform:translate3d(0, calc(var(--layer) * var(--stack-gap)), 0)}}.floppy-stack[data-expanded=true] .floppy-layer{--grid-hover-lift:0px;z-index:var(--stack-z);transform:translate3d(var(--grid-x), calc(var(--grid-y) + var(--grid-hover-lift)), 0)}.floppy-stack[data-expanded=true][data-hover-ready=true] .floppy-layer:hover,.floppy-stack[data-expanded=true][data-grid-ready=true] .floppy-layer:focus-visible{--grid-hover-lift:-4px;z-index:20}.floppy-layer:focus-visible{z-index:20;outline-offset:6px;border-radius:2px;outline:1px solid}.floppy-layer img{width:var(--media-width);height:var(--media-height);-webkit-user-select:none;user-select:none;display:block}.home-page[data-layout-motion=true] .floppy-layer{transition:none;animation:none}::view-transition-group(.project-floppy){z-index:20;animation-duration:.42s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-image-pair(.project-floppy){isolation:auto}::view-transition-old(.project-floppy){opacity:1;mix-blend-mode:normal;animation:none}::view-transition-new(.project-floppy){opacity:1;mix-blend-mode:normal;animation:none}::view-transition-old(.project-floppy){display:none}::view-transition-group(.project-stack){animation-duration:.48s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-new(.project-stack){opacity:1;animation:none}::view-transition-new(.project-stack):only-child{animation:.48s cubic-bezier(.22,1,.36,1) both stack-return}::view-transition-old(.project-stack):only-child{display:none}@keyframes stack-return{0%{translate:0 var(--stack-return-offset)}to{translate:0}}:root:active-view-transition .floppy-stack .floppy-layer{animation:none}.back-link{color:var(--muted);margin-top:32px;font-size:14px;text-decoration:none;display:inline-block}.back-link:hover{color:var(--foreground);text-decoration:underline}.project-page{--page-width:860px;--project-card-background:#fff;text-align:center;flex-direction:column;min-height:100svh;padding-top:32px;display:flex}.home-page[data-media=cd],.project-page[data-media=cd]{--foreground:#747474;--muted:#8b8b8b;--line:#d5d5d5;color:var(--foreground)}.home-page[data-media=sd],.project-page[data-media=sd]{--foreground:#fffef0;--muted:#b8b7ad;--line:#383a32;--project-card-background:#272926;color:var(--foreground)}.home-page[data-media=cd]::selection,.home-page[data-media=cd] ::selection,.project-page[data-media=cd]::selection,.project-page[data-media=cd] ::selection{color:#f1f1f1;background:#747474}.home-page[data-media=sd]::selection,.home-page[data-media=sd] ::selection,.project-page[data-media=sd]::selection,.project-page[data-media=sd] ::selection{color:#11120f;background:#fffef0}.project-topbar{flex-direction:column;justify-content:flex-start;align-items:center;display:flex;position:relative}.project-media-transition{width:var(--project-media-width);height:var(--project-media-height)}.project-media-transition img{width:var(--project-media-width);height:var(--project-media-height);display:block}.projects-toolbar button,.project-topbar .back-link{border:1px solid var(--line);background:var(--selector-shell);min-height:40px;color:var(--selector-text);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;margin:0;padding:8px 14px;text-decoration:none;transition:background-color .16s,border-color .16s;display:inline-flex}.projects-toolbar button{width:40px;height:40px;padding:0}.projects-toolbar button:hover,.project-topbar .back-link:hover{background:var(--selector-active);text-decoration:none}.eject-icon{fill:currentColor;opacity:.65;flex:none;width:16px;height:16px}.project-reveal{visibility:hidden;opacity:0;transition:opacity .26s ease-out,transform .26s ease-out;transform:translateY(8px)}.project-reveal[data-visible=true]{visibility:visible;opacity:1;transform:translateY(0)}.project-back-reveal{margin-bottom:12px}.project-content{border:1px solid var(--line);background:var(--project-card-background);border-bottom:0;border-radius:4px 4px 0 0;flex:1;margin-top:24px;padding:32px 48px 48px}.project-content[data-published=false]{place-items:center;padding:32px;display:grid}.project-coming-soon{color:var(--muted);margin:0;font-size:15px;line-height:24px}.project-sheet{view-transition-name:project-sheet;opacity:1;flex-direction:column;flex:1;transition:opacity .32s ease-out,transform .32s ease-out;display:flex;transform:translateY(0)}@starting-style{.project-sheet{opacity:0;transform:translateY(8px)}}:root:active-view-transition .project-sheet{transition:none}@keyframes project-sheet-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}::view-transition-group(project-sheet){z-index:0}::view-transition-new(project-sheet):only-child{animation:.42s cubic-bezier(.22,1,.36,1) both project-sheet-enter}::view-transition-old(project-sheet):only-child{animation:.42s cubic-bezier(.22,1,.36,1) reverse both project-sheet-enter}.project-body{text-align:left;max-width:740px;margin-inline:auto}.project-page[data-media=cd] .project-body{color:#000}.project-body h1{margin:0;font-size:24px;font-weight:500;line-height:1.25}.project-body .project-summary{color:var(--muted);margin:12px 0 0}.project-body>:first-child{margin-top:0}.project-body h2{letter-spacing:0;margin:40px 0 12px;font-size:20px;font-weight:400;line-height:28px}.project-body h3{margin:32px 0 10px;font-size:16px;font-weight:400;line-height:24px}.project-body p,.project-body li{font-size:15px;line-height:24px}.project-body p{margin:0 0 16px}.project-body ul,.project-body ol{margin:0 0 20px;padding-left:20px}.project-body blockquote{border:0;margin:32px auto;padding:0}.project-body blockquote p{color:var(--muted);font-size:16px;line-height:24px}.project-body a{text-underline-offset:3px}.project-body img{max-width:100%;height:auto;display:block}.project-video{aspect-ratio:16/9;background:#000;border-radius:2px;margin:24px 0 20px;overflow:hidden}.project-video iframe{border:0;width:100%;height:100%;display:block}.site-footer{border-top:1px solid var(--line);min-height:80px;color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.site-footer p{margin:0}.project-row:focus-visible,.site-name:focus-visible,.site-nav a:focus-visible,.back-link:focus-visible,.project-body a:focus-visible{outline:2px solid var(--foreground);outline-offset:4px}@media (max-width:900px){.project-browser[data-expanded=true]{width:var(--tablet-grid-width)}.floppy-stack[data-expanded=true]{height:var(--tablet-grid-height)}.floppy-stack[data-expanded=true] .floppy-layer{transform:translate3d(var(--tablet-grid-x), calc(var(--tablet-grid-y) + var(--grid-hover-lift)), 0)}}@media (max-width:600px){.home-page{padding-inline:20px}.desktop-bio-break{display:none}.home-intro p{text-wrap:balance}.home-intro .text-link{white-space:nowrap}.project-browser[data-expanded=true]{width:var(--mobile-grid-width)}.floppy-stack[data-expanded=true]{height:var(--mobile-grid-height)}.floppy-stack[data-expanded=true] .floppy-layer{transform:translate3d(var(--mobile-grid-x), calc(var(--mobile-grid-y) + var(--grid-hover-lift)), 0)}.project-page{padding-top:20px}.project-content{padding:28px 24px 40px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.floppy-stack,.floppy-layer,.home-intro,.projects-section,.project-browser,.projects-toolbar,.projects-toolbar button,.project-topbar .back-link,.project-sheet,.media-selector,.media-selector button{transition:none}.project-reveal{visibility:visible;opacity:1;transition:none;transform:none}.floppy-stack[data-load-animation=true] .floppy-layer{opacity:1;animation:none}::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}}
