html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
@font-face{font-family:TWK Everett;src:url(/fonts/TWKEverett-Light.otf)format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:TWK Everett;src:url(/fonts/TWKEverett-Regular.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:TWK Everett;src:url(/fonts/TWKEverett-Medium.otf)format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:TWK Everett;src:url(/fonts/TWKEverett-Bold.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eaeaea;--spacer-strength:100%;--scrollbar-thumb:#11111138;--fg:#111;--muted:#868686;--faint:#b1b1b1;--rule:#1111111f;--img-bg:#d5d5d5;--disabled:#ccc;--shade-2:#cbcbcb;--shade-3:#dfdfdf;--on-image:#fff;--on-image-muted:#ffffffbf;--scrim:#0000008c;--scrim-strong:#000000c7;--theme-fade:.5s ease-in-out;--font-display:"TWK Everett", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-body:"TWK Everett", "Helvetica Neue", Helvetica, Arial, sans-serif;--text-sm:9px;--text-title:42px;--leading-sm:1.6;line-height:var(--leading-sm);--gutter:88px;--sticky-logo-space:80px;--fringe-lead:127 216 255;--fringe-trail:140 123 255}@media (max-width:900px){:root{--gutter:32px}}@media (max-width:640px){:root{--gutter:16px}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121212;--spacer-strength:7%;--scrollbar-thumb:#eee3;--fg:#eee;--muted:#8a8a8a;--faint:#565656;--rule:#eeeeee24;--img-bg:#252525;--disabled:#3d3d3d;--shade-2:#2d2d2d;--shade-3:#1e1e1e}@media (prefers-reduced-motion:reduce){:root{--theme-fade:0s linear}}*,:before,:after{box-sizing:border-box;transition:background-color var(--theme-fade), color var(--theme-fade), border-color var(--theme-fade), outline-color var(--theme-fade), fill var(--theme-fade)}::view-transition-old(root){animation-duration:.5s;animation-timing-function:ease-in-out}::view-transition-new(root){animation-duration:.5s;animation-timing-function:ease-in-out}:root.theme-swapping,:root.theme-swapping *,:root.theme-swapping :before,:root.theme-swapping :after{transition:none!important}body{background-color:var(--bg);color:var(--fg);font-family:var(--font-body);text-transform:uppercase;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}input,textarea,button{text-transform:uppercase}img,video{max-width:100%;height:auto;display:block}html{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;scrollbar-gutter:stable}body ::-webkit-scrollbar{display:none}body *{scrollbar-width:none}.shell{max-width:90rem;padding-inline:var(--gutter);margin-inline:auto}.media{width:100%;height:auto}.media-fade:not(.is-eager){opacity:0;transition:opacity .5s ease-out}.media-fade.is-loaded{opacity:1}@media (prefers-reduced-motion:reduce){.media-fade:not(.is-eager){transition:none}}.media-cover{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}video.media-cover,img.media-cover.media-still{width:calc(100% + 2px);max-width:none;height:calc(100% + 2px);inset:-1px}.inline-list{flex-wrap:wrap;gap:.25rem .75rem;margin:0;padding:0;list-style:none;display:flex}button{cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.site-header{padding:36px var(--gutter) 0}.site-header-row{grid-template-columns:repeat(24,1fr);align-items:start;column-gap:16px;display:grid}.site-header-logo{color:var(--fg);grid-column:1/3;padding-top:2px;line-height:0}.site-header-logo a{color:inherit;text-decoration:none}.site-header{position:relative}.site-header>.site-header-row{z-index:1;position:relative}.header-play,.header-play-dom{z-index:0;pointer-events:none;position:absolute;inset:0}.header-play{visibility:hidden;width:100%;height:100%}.header-play.is-live{visibility:visible}.header-play-dom{overflow:hidden}.header-play-dom img{object-fit:cover;opacity:0;transition:opacity .12s ease-out;position:absolute}.site-header.is-text-rippling [data-ripple-text]{opacity:0}.site-header [data-ripple-text].is-fringing{text-shadow:calc(var(--fr-x,0) * 1px) calc(var(--fr-y,0) * 1px) 0 rgb(var(--fringe-lead) / var(--fr-a,0)), calc(var(--fr-x,0) * -1px) calc(var(--fr-y,0) * -1px) 0 rgb(var(--fringe-trail) / var(--fr-a,0))}@media (max-width:900px){.header-play,.header-play-dom{display:none}}.ripple-mark{line-height:0;display:inline-block;position:relative}.ripple-mark-canvas{pointer-events:none;visibility:hidden;position:absolute}.ripple-mark-canvas.is-live{visibility:visible}.sticky-header-bar{height:var(--sticky-logo-space);z-index:25;padding:0 var(--gutter);background:var(--bg);opacity:0;pointer-events:none;transition:opacity .3s ease, background-color var(--theme-fade), color var(--theme-fade);grid-template-columns:repeat(24,1fr);align-items:center;column-gap:16px;display:grid;position:fixed;top:0;left:0;right:0}.sticky-header-bar.is-covering{opacity:1}.sticky-header-bar.is-visible{pointer-events:auto}.sticky-header-bar-logo,.sticky-header-bar-controls{opacity:0;transition:opacity .3s ease, background-color var(--theme-fade), color var(--theme-fade)}.sticky-header-bar.is-visible .sticky-header-bar-logo,.sticky-header-bar.is-visible .sticky-header-bar-controls{opacity:1}.sticky-header-bar-logo{color:var(--fg);grid-column:1/3;line-height:0;position:relative;top:2px}.sticky-header-bar-controls{grid-column:17/23;justify-content:flex-end;align-items:center;gap:20px;display:flex}.sticky-header-bar-controls .theme-toggle{align-items:center}.site-header-identity{grid-column:3/9}.site-header-identity p{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.07em;text-transform:uppercase;color:var(--fg);margin:0;font-weight:400}.site-header-role{color:var(--muted)}.site-header-identity .muted{color:var(--muted);margin-top:10px}.site-header-bio{flex-direction:column;grid-column:9/14;gap:.75em;display:flex}.site-header-bio p{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.02em;color:var(--muted);margin:0;font-weight:400}.site-header-services{text-align:right;grid-column:17/23}.site-header-services-heading,.site-header-services-list{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.07em;text-transform:uppercase;margin:0;font-weight:400}.site-header-services-heading{color:var(--fg)}.site-header-services-list{color:var(--muted)}.site-header-clock{grid-column:17/23;justify-content:flex-end;display:flex}.theme-toggle{justify-content:center;align-items:flex-start;width:24px;height:24px;display:flex}.theme-toggle-dot{background-color:var(--fg);border-radius:50%;width:14px;height:14px;transition:background-color .25s;display:block}.theme-toggle:hover .theme-toggle-dot{background-color:var(--muted)}@keyframes theme-toggle-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--fg) 45%, transparent);transform:scale(1)}35%{transform:scale(1.25)}to{box-shadow:0 0 0 9px color-mix(in srgb, var(--fg) 0%, transparent);transform:scale(1)}}.theme-toggle.is-pulsing .theme-toggle-dot{animation:.6s ease-out theme-toggle-pulse}@media (prefers-reduced-motion:reduce){.theme-toggle.is-pulsing .theme-toggle-dot{animation:none}}.site-header-row-secondary{align-items:center;margin-top:28px}.site-header-email{grid-column:3/9}.site-header-email a{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.07em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--faint);padding-bottom:1px;font-weight:400;text-decoration:none;transition:color .25s,border-color .25s}.site-header-email a:hover{color:var(--fg);border-color:var(--fg)}.site-header-date{grid-column:17/23;justify-content:flex-end;display:flex}.clock-readout{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.05em;white-space:nowrap;align-items:center;gap:6px;font-weight:400;display:inline-flex}.clock-readout-icon{color:var(--faint);flex-shrink:0}.clock-readout-time{color:var(--fg)}.clock-readout-date{color:var(--faint)}.clock-readout-zone{color:var(--faint);letter-spacing:.08em;font-size:.85em}@keyframes clock-readout-blink{0%,49%{opacity:1}50%,to{opacity:0}}.clock-readout-colon{animation:1s step-end infinite clock-readout-blink}.canvas-control{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid #0000;padding-bottom:2px;font-weight:400;transition:color .25s,border-color .25s}.canvas-control:not(:disabled):hover{color:var(--fg)}.canvas-control:disabled{color:var(--disabled);cursor:default;text-decoration:line-through}.canvas-control-mode[aria-current=true]{color:var(--fg);border-bottom-color:var(--fg)}.canvas-control-sep{font-family:var(--font-display);font-size:var(--text-sm);color:var(--disabled)}.canvas-label{padding:40px var(--gutter) 48px;font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--fg);top:var(--sticky-logo-space);z-index:20;background:var(--bg);grid-template-columns:repeat(24,1fr);align-items:baseline;column-gap:16px;margin:0;font-weight:400;display:grid;position:sticky}:root{--glass-blur-max:37px;--glass-depth:280px;--glass-tint:transparent;--glass-tint-mid:127px;--glass-saturate:1;--glass-brightness:1}:root[data-theme=dark]{--glass-tint:color-mix(in srgb, var(--bg) 10%, transparent);--glass-brightness:1}.header-glass{height:var(--glass-depth);z-index:6;pointer-events:none;opacity:0;position:fixed;top:0;left:0;right:0}:root.glass-on .header-glass{opacity:1}:root{--glass-depth-projects:280px}.header-glass.is-projects{--glass-depth:var(--glass-depth-projects)}.header-glass-layer{will-change:backdrop-filter;position:absolute;inset:0}.header-glass-tint{background-image:linear-gradient(to bottom, var(--glass-tint) 0, color-mix(in srgb, var(--glass-tint) 60%, transparent) var(--glass-tint-mid), transparent var(--glass-depth));position:absolute;inset:0}:root.glass-on .canvas-label,:root.glass-on .project-section-sticky-head,:root.glass-top .sticky-header-bar{background-color:#0000}.canvas-label-mode{white-space:nowrap;grid-area:1/1/auto/9}.canvas-controls-inner{grid-area:1/1/auto/23;justify-self:end;align-items:center;gap:24px;display:flex}.canvas-filters{flex-wrap:wrap;grid-area:1/3/auto/23;align-items:center;gap:6px 14px;display:inline-flex}.canvas-search{width:96px;font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.05em;color:var(--fg);border:none;border-bottom:1px solid var(--rule);background:0 0;padding:0 0 2px;font-weight:400;transition:width .25s,border-color .2s,color .2s}.canvas-search::placeholder{color:var(--muted);text-transform:uppercase}.canvas-search:focus{border-bottom-color:var(--fg);outline:none;width:160px}.canvas-search-wrap{display:inline-flex;position:relative}.canvas-search-hint{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.05em;color:var(--muted);text-transform:uppercase;white-space:nowrap;pointer-events:none;align-items:center;font-weight:400;animation:.4s canvas-search-hint-fade;display:flex;position:absolute;top:0;bottom:2px;left:0}@keyframes canvas-search-hint-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.canvas-grid-align{padding:0 var(--gutter);grid-template-columns:repeat(24,1fr);column-gap:16px;display:grid}.canvas-grid{grid-column:3/23;transition:height .6s cubic-bezier(.65,0,.35,1);position:relative}.canvas-tile{z-index:1;color:inherit;background-color:var(--img-bg);transition:left .6s cubic-bezier(.65, 0, .35, 1), top .6s cubic-bezier(.65, 0, .35, 1), width .6s cubic-bezier(.65, 0, .35, 1), height .6s cubic-bezier(.65, 0, .35, 1), background-color var(--theme-fade), color var(--theme-fade);text-decoration:none;display:block;position:absolute;overflow:hidden}.canvas-grid.is-shuffle-out>.canvas-tile{opacity:0;transition:opacity var(--shuffle-out) ease-out}.canvas-grid.is-shuffle-swap>.canvas-tile{opacity:0;transition:none}.canvas-grid.is-shuffle-in>.canvas-tile{opacity:1;transition:opacity var(--shuffle-in) ease-out var(--shuffle-delay,0s)}.canvas-tile-frame{will-change:opacity, filter;width:100%;height:100%;position:relative}.canvas-tile-loose{font:inherit;text-align:inherit;cursor:zoom-in;border:0;padding:0}.loose-lightbox{z-index:50;background-color:color-mix(in srgb, var(--bg) 94%, transparent);cursor:zoom-out;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.loose-lightbox-figure{cursor:default;flex-direction:column;gap:12px;margin:0;display:flex}.loose-lightbox-frame{width:min(90vw, calc(82svh * var(--aspect)));background-color:var(--img-bg);position:relative;overflow:hidden}.loose-lightbox-caption{font-size:var(--text-sm);letter-spacing:.1em;color:var(--muted);gap:16px;display:flex}.loose-lightbox-title{color:var(--fg)}.loose-lightbox-close{top:24px;right:var(--gutter);font:inherit;font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--fg);cursor:pointer;background:0 0;border:0;padding:8px;position:fixed}.canvas-tile-label{color:var(--on-image);opacity:0;pointer-events:none;flex-direction:column;gap:6px;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:10px;left:10px;right:10px;transform:translateY(4px)}.canvas-tile:hover .canvas-tile-label,.canvas-tile:focus-visible .canvas-tile-label{opacity:1;transform:translateY(0)}.canvas-tile-project{font-family:var(--font-display);font-size:clamp(18px, 2.2vw, var(--text-title));letter-spacing:-.01em;text-transform:uppercase;overflow-wrap:anywhere;font-weight:500;line-height:1}.canvas-tile-disciplines{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--on-image-muted);font-weight:400}.canvas-draft-tag{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:400}.canvas-tile-placeholder{cursor:default;z-index:0;animation:1.2s ease-out backwards canvas-spacer-in}@keyframes canvas-spacer-in{0%{opacity:0}}.canvas-tile-placeholder.is-leaving{pointer-events:none;animation:.35s ease-in forwards canvas-spacer-out}@keyframes canvas-spacer-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){.canvas-tile-placeholder{animation:none}.canvas-tile-placeholder.is-leaving{opacity:0}}.canvas-tile-placeholder.shade-1{background-color:var(--img-bg)}.canvas-tile-placeholder.shade-2{background-color:var(--shade-2)}.canvas-tile-placeholder.shade-3{background-color:var(--shade-3)}.canvas-tile-ratio{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.08em;color:var(--muted);pointer-events:none;justify-content:center;align-items:center;font-weight:400;display:flex;position:absolute;inset:0}.canvas-empty{padding:var(--gutter);font-family:var(--font-display);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:400}.canvas-measure{pointer-events:none;height:0;overflow:hidden}.project-sections{flex-direction:column;gap:96px;padding-bottom:64px;display:flex}.project-section{scroll-margin-top:32px}.project-section-sticky-head{z-index:10;background:var(--bg);align-items:baseline;padding-bottom:24px;position:sticky}.project-section-head{padding-bottom:40px}.project-section-title{font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;color:var(--fg);grid-area:1/3/auto/23;margin:0;font-size:42px;font-weight:500;line-height:1;display:block}.project-section-catno{font-family:var(--font-display);letter-spacing:-.01em;color:var(--muted);white-space:nowrap;grid-area:1/1/auto/3;align-items:baseline;gap:.15em;margin:0;font-size:42px;font-weight:500;line-height:1;display:inline-flex}.project-section-catno-full{font-size:9px}.reveal-char{opacity:0;transition:opacity .5s,transform .5s;display:inline-block;transform:translateY(.3em)}.reveal-char.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal-char{opacity:1;transition:none;transform:none}}.project-section-meta{flex-direction:column;grid-column:3/23;gap:12px;max-width:30ch;display:flex}.project-section-info{flex-direction:column;gap:10px;display:flex}.project-section-description{font-family:var(--font-body);font-size:var(--text-sm);color:var(--muted);margin:0;font-weight:400}.project-section-tags{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.project-section-url,.project-section-tag{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;font-weight:400}.project-section-url{color:var(--fg);text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:2px}.project-section-url:hover{text-decoration-color:currentColor}.project-section-tag{color:var(--muted);background:var(--img-bg);border:1px solid var(--rule);border-radius:999px;padding:4px 10px;line-height:1.4}.canvas-tile-static{cursor:default}.filters{gap:.75rem;margin-block:1rem;display:grid}.filter-group h2{margin:0 0 .25rem;font-size:.875rem}.filter[data-active]{font-weight:700}.filter .count{opacity:.6}.asset-grid{columns:4 14rem;column-gap:1rem;margin:1rem 0;padding:0;list-style:none}.asset-grid li{break-inside:avoid;margin-bottom:1rem}.tile{color:inherit;gap:.25rem;text-decoration:none;display:grid}.tile-caption{font-size:.875rem}.pagination{gap:1rem;margin-block:1rem 2rem;display:flex}.site-header-row>*{min-width:0}@media (max-width:900px){.site-header-row{flex-direction:column;align-items:flex-start;gap:20px;display:flex}.site-header-clock{align-items:flex-start;width:100%}.site-header-services{width:100%}.site-header-row-secondary{flex-flow:wrap;justify-content:space-between;align-items:center;gap:12px 20px}.site-header-date{justify-content:flex-start}.canvas-grid{grid-column:1/25}.canvas-filters{grid-column:5/23}}@media (min-width:901px) and (max-width:1020px){.canvas-filters{grid-column:4/23}}@media (max-width:640px){.canvas-label{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.canvas-label-mode,.canvas-filters,.canvas-controls-inner{grid-area:auto;justify-self:auto}.canvas-controls-inner{flex-wrap:wrap;gap:12px 20px}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.framerate-poster{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:absolute;inset:0}.framerate-play{background:var(--scrim);width:64px;height:64px;color:var(--on-image);border-radius:50%;place-items:center;padding-left:4px;transition:background-color .2s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.framerate-poster:hover .framerate-play,.framerate-poster:focus-visible .framerate-play{background:var(--scrim-strong)}.framerate-embed{border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.site-header-mobile,.canvas-label-theme,.hint-lead-mobile,.project-meta{display:none}@media (max-width:900px){:root{--text-sm:9px;--tracking:.04em;--leading-sm:1.4;--m:8px;--gap:8px;--bar:40px;--hatch:#cfcfcf}:root[data-theme=dark]{--hatch:#262626}body{font-size:var(--text-sm);letter-spacing:var(--tracking)}.site-header-mobile .muted,.project-meta .muted{color:var(--muted)}.site-header-mobile .ink{color:var(--fg)}.site-header{padding:0}.site-header .site-header-row,.sticky-header-bar{display:none}.site-header-mobile{font-size:var(--text-sm);letter-spacing:var(--tracking);display:block}.site-header-mobile a{color:inherit}.site-top{justify-content:space-between;align-items:flex-start;gap:var(--m);padding:var(--m) var(--m) 0;display:flex}.site-logo{color:var(--fg);line-height:0;text-decoration:none;display:block}.site-logo svg{width:auto;height:28px;display:block}.site-top .clock-readout{min-height:28px;font-size:inherit;letter-spacing:inherit;font-variant-numeric:tabular-nums}.site-top .clock-readout-icon,.site-top .clock-readout-zone{color:var(--muted);font-size:inherit;letter-spacing:inherit}.site-intro{gap:var(--m);padding:14px var(--m) 0;grid-template-columns:5fr 7fr;display:grid}.site-intro-col{flex-direction:column;gap:11px;min-width:0;display:flex}.site-intro-col p,.site-intro-services{margin:0}.site-intro-services{padding:0;list-style:none}.site-intro-email{text-underline-offset:3px;align-self:flex-start;margin:-13px 0;padding:13px 0;text-decoration:underline;text-decoration-thickness:1px}.canvas-label{height:var(--bar);padding:0 var(--m);top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--rule);font-size:var(--text-sm);letter-spacing:var(--tracking);flex-direction:row;align-items:center;gap:14px;margin-top:24px;display:flex}.canvas-label-mode,.canvas-control-sep,.canvas-control-text,.hint-lead{display:none}.hint-lead-mobile{display:inline}.canvas-filters{min-width:0;height:var(--bar);flex:1;display:flex}.canvas-search-wrap{min-width:0;height:var(--bar);flex:1;align-items:center;display:flex;position:relative}.canvas-search,.canvas-search:focus{width:100%;height:var(--bar);font:inherit;letter-spacing:inherit;appearance:none;outline-offset:-2px;border:0;border-radius:0;padding:0}.canvas-search-hint{white-space:normal;height:1.4em;line-height:1.4;font-size:inherit;letter-spacing:inherit;display:block;top:calc(50% - .7em);bottom:auto;right:0;overflow:hidden}.canvas-controls-inner{flex-wrap:nowrap;flex:none;gap:14px}.canvas-control{height:var(--bar);font-size:inherit;letter-spacing:inherit;border-bottom:0;padding:0}.canvas-control-mode[aria-current=true]{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.canvas-control:disabled{color:var(--muted);opacity:.35;text-decoration:none}.canvas-label-theme{flex:none;display:block}.canvas-label-theme .theme-toggle{width:36px;height:var(--bar);align-items:center;margin-right:-10px}.canvas-label-theme .theme-toggle-dot{width:12px;height:12px}.header-glass{display:none}.canvas-grid-align{padding:0 var(--m);display:block}.canvas-grid-align>.canvas-grid{margin-top:var(--m)}.canvas-measure>.canvas-grid,.project-section .canvas-grid-align>.canvas-grid{margin-top:0}.canvas-measure-cap{height:calc(100vh - var(--bar) - 2 * var(--m));height:calc(100svh - var(--bar) - 2 * var(--m))}.canvas .canvas-tile,.canvas .canvas-tile.canvas-tile-placeholder{background:repeating-linear-gradient(-45deg, var(--hatch) 0 1px, transparent 1px 5px), var(--bg);outline:1px solid var(--hatch);outline-offset:-1px}.canvas .canvas-tile.canvas-tile-placeholder{background:var(--bg);outline:none}.canvas-tile-label,.canvas-tile-ratio{display:none}.project-sections{padding:var(--m) 0 0;gap:0}.project-section{scroll-margin-top:var(--bar);padding-bottom:36px}.project-section-sticky-head,.project-section-head{display:none}.project-meta{gap:var(--m);margin:0 var(--m) var(--gap);font-size:var(--text-sm);letter-spacing:var(--tracking);grid-template-columns:5fr 7fr;display:grid}.project-meta-col{flex-direction:column;gap:11px;min-width:0;display:flex}.project-meta-col p{margin:0}.project-meta-title{font:inherit;letter-spacing:inherit;margin:0;font-weight:500}.project-meta-url{color:var(--fg);text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:3px;align-self:flex-start}.project-meta-tags{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.project-meta-tags li{border:1px solid var(--rule);color:var(--muted);border-radius:999px;padding:3px 8px;line-height:1.2}.project-meta-tags li.is-primary{background:var(--fg);border-color:var(--fg);color:var(--bg)}}@media (max-width:900px) and (pointer:coarse){html{scroll-snap-type:y proximity}.canvas-tile.is-snap{scroll-snap-align:start;scroll-margin-top:calc(var(--bar) + var(--m))}}:root[data-capture] .site-header,:root[data-capture] .header-glass,:root[data-capture] .canvas-label,:root[data-capture] .canvas-tile-label,:root[data-capture] .loose-lightbox,:root[data-capture] nextjs-portal{display:none!important}:root[data-capture] .canvas{padding-top:36px}:root[data-capture] *,:root[data-capture] :before,:root[data-capture] :after{-webkit-backdrop-filter:none!important;transition:none!important;animation:none!important}:root[data-capture] .media-fade,:root[data-capture] .canvas-tile-frame{opacity:1!important;filter:none!important}:root[data-capture]{scrollbar-color:transparent transparent}.custom-cursor{display:none}@media (pointer:fine){:root.has-custom-cursor,:root.has-custom-cursor *{cursor:none!important}:root.has-custom-cursor :is(input:not([type=button],[type=submit],[type=reset],[type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=image]),textarea,[contenteditable=""],[contenteditable=true]){cursor:text!important}.custom-cursor{--cursor-morph:.22s cubic-bezier(.2, .7, .2, 1);z-index:2147483647;color:#fff;mix-blend-mode:difference;pointer-events:none;opacity:0;will-change:transform;transition:opacity .12s linear;display:block;position:fixed;top:-24px;left:-24px;overflow:visible}.custom-cursor.is-visible{opacity:1}.custom-cursor.is-visible[data-state=text]{opacity:0}.custom-cursor-ring{r:3px;fill:currentColor;fill-opacity:1;stroke:currentColor;stroke-width:1.5px;stroke-opacity:0;transition:r var(--cursor-morph), fill-opacity var(--cursor-morph), stroke-opacity var(--cursor-morph)}.custom-cursor-mark{fill:none;stroke:currentColor;stroke-width:1.5px;opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity var(--cursor-morph), transform var(--cursor-morph);transform:scale(.6)}.custom-cursor[data-state=link] .custom-cursor-ring{r:7.25px;fill-opacity:0;stroke-opacity:1}.custom-cursor:is([data-state=zoom],[data-state=close]) .custom-cursor-ring{r:21.25px;fill-opacity:0;stroke-opacity:1}.custom-cursor:is([data-state=zoom],[data-state=close]) .custom-cursor-mark{opacity:1;transform:scale(1)}.custom-cursor[data-state=close] .custom-cursor-mark{transform:rotate(45deg)}}@media (pointer:fine) and (prefers-reduced-motion:reduce){.custom-cursor,.custom-cursor-ring,.custom-cursor-mark{transition:none}}
