:root{--navbar-height:calc(2 * clamp(.8rem, 1.5vw, 1.2rem) + 22px)}.navbar-root{--nav-gutter:var(--site-gutter);--nav-pad:clamp(.8rem, 1.5vw, 1.2rem);--nav-ease:cubic-bezier(.19, 1, .22, 1);--nav-surface-transition:background-color .7s var(--nav-ease), color .7s var(--nav-ease);font-family:var(--font-sans)}.nav-mask{clip-path:inset(0 -12px);margin:-6px 0;padding:6px 0;display:block}.navbar{z-index:20;padding:var(--nav-pad) var(--nav-gutter);color:var(--color-ink);transition:var(--nav-surface-transition);opacity:var(--loader-chrome,1);pointer-events:none;background:0 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;display:grid;position:fixed;top:0;left:0;right:0}.navbar-root[data-route=home] .navbar{color:var(--color-paper);text-shadow:0 1px 6px #00000059}.navbar[data-solid]{background:var(--color-paper)}:is(html:has(.about-hero[data-nav-overlay]) .navbar-root[data-route=about] .navbar:not([data-menu]),html:has(.work-gallery[data-nav-overlay],.work-history[data-nav-overlay]) .navbar-root[data-route=work] .navbar:not([data-menu]),html:has(.project-hero-nav-zone[data-nav-overlay],.verso-hero[data-fixed]) .navbar-root[data-route=project] .navbar:not([data-menu])){color:var(--color-paper);text-shadow:0 1px 6px #00000059;background:0 0}html:has(.project-hero .loader,.project-hero .verso-loading) .navbar-root[data-route=project] .navbar:not([data-menu]){color:var(--color-ink);text-shadow:none}.navbar-root .navbar[data-menu]{color:var(--color-ink);text-shadow:none;background:0 0}.navbar a,.navbar button{pointer-events:auto;color:inherit;text-decoration:none}.navbar a:focus-visible,.navbar button:focus-visible{outline-offset:4px;outline:1px solid}.navbar-home{justify-self:start}.navbar-home a{letter-spacing:0;white-space:nowrap;font-size:22px;font-weight:700;line-height:1;display:block}.navbar-menu{transform:translateX(calc(var(--nav-menu-width,44px) / -2));letter-spacing:.1em;grid-area:1/2;justify-self:start;font-size:14px;font-weight:600;line-height:1}.navbar-menu-measure{visibility:hidden;white-space:nowrap;pointer-events:none;position:absolute}.navbar-menu button{font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block}.navbar-shortcut{margin-left:calc(var(--nav-menu-width,44px) / 2 + 1rem);letter-spacing:.08em;white-space:nowrap;color:inherit;opacity:.45;pointer-events:none;-webkit-user-select:none;user-select:none;grid-area:1/2;justify-self:start;font-size:12px;font-weight:500;line-height:1}@media (hover:none),(pointer:coarse),(width<=700px){.navbar-shortcut{display:none}}.navbar-resume{letter-spacing:.1em;grid-area:1/2;justify-self:end;margin-block:-15px;padding-block:15px;font-size:14px;font-weight:600;line-height:1}.navbar-resume a{color:inherit;white-space:nowrap;text-decoration:none;display:block;position:relative}.navbar-resume a:after{content:"";height:44px;position:absolute;top:50%;left:-8px;right:-8px;transform:translateY(-50%)}@media (hover:none),(pointer:coarse){.navbar-home,.navbar-menu{margin-block:-15px;padding-block:15px}.navbar-home a,.navbar-menu button{position:relative}.navbar-home a:after,.navbar-menu button:after{content:"";height:44px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}}.menu{z-index:15;visibility:hidden;position:fixed;inset:0}.menu-backdrop{opacity:0;cursor:default;background:#0009;border:0;width:100%;padding:0;position:absolute;inset:0}.menu-panel{box-sizing:border-box;overscroll-behavior-y:contain;--menu-edge:4.5rem;max-height:100dvh;padding:var(--menu-edge) var(--nav-gutter);background:var(--color-paper);color:var(--color-ink);clip-path:inset(0% 0% 100%);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;display:grid;position:absolute;top:0;left:0;right:0;overflow-y:auto}.menu-kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-muted);grid-column:1;margin:.35rem 0 0;font-size:.75rem}.menu-links{transform:translateX(calc(var(--nav-menu-width,44px) / -2));grid-column:2;margin:0;padding:0;list-style:none}.menu-links a{color:inherit;letter-spacing:-.03em;transition:opacity var(--motion-feedback) ease;font-size:clamp(2.75rem,5vw,4.5rem);font-weight:600;line-height:1.2;text-decoration:none;display:inline-block}.menu-links .roll{--roll-duration:.45s;--roll-stagger:18ms}html[data-page-transition=mounting] #site-menu .roll-char{transform:translateY(calc(-100% - var(--roll-gap)));transition:none}.menu-links a[aria-current=page]{opacity:var(--interactive-hover-opacity)}.menu-links a:focus-visible{outline-offset:4px;outline:1px solid}@media (width<=600px){:root{--navbar-height:calc(2 * clamp(.8rem, 1.5vw, 1.2rem) + 18px)}.navbar-home a{font-size:18px}.menu-panel{--menu-edge:5rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:center;height:100dvh}.menu-kicker{transform:translateX(calc(var(--nav-menu-width,44px) / -2));grid-column:2;margin:0 0 1.5rem}.menu-links a{font-size:clamp(2rem,8vw,2.75rem)}}@media (width<=360px){.navbar-root{--nav-gutter:1rem}}@media (scripting:enabled){html:has(.home-page:is([data-phase=idle],[data-phase=playing])) .navbar-root[data-route=home] .navbar{opacity:0;visibility:hidden;transition:none}}.navbar-root[data-route=home] .navbar{color:#fff;text-shadow:none;mix-blend-mode:difference;transition:var(--home-controls-reveal)}.navbar-root[data-route=home] .navbar-home{visibility:hidden}html:not([data-home-docked]) .navbar-root[data-route=home] .navbar{background:0 0}html[data-home-docked] .navbar-root[data-route=home] .navbar-home{visibility:visible}html[data-home-docked] .navbar-root[data-route=home] .navbar{color:var(--color-ink);mix-blend-mode:normal;background:var(--color-paper)}html[data-home-docked] .navbar-root[data-route=home] .navbar[data-home-transitions]{transition:var(--nav-surface-transition)}html[data-home-docked]:has(.work-list[data-nav-overlay]) .navbar-root[data-route=home] .navbar:not([data-menu]){color:var(--color-paper);text-shadow:0 1px 6px #00000059;background:0 0}.navbar-root[data-route=home] .navbar[data-menu]{color:var(--color-ink);mix-blend-mode:normal}@media (prefers-reduced-motion:reduce){.navbar-root{--nav-surface-transition:none}.navbar,.navbar a,.navbar button,.menu-links a{transition:none}}.roll{--roll-gap:.3em;--roll-duration:.3s;--roll-stagger:12ms}.roll-word{padding-block:calc(var(--roll-gap) / 2);margin-block:calc(var(--roll-gap) / -2);clip-path:inset(0 -.2em);white-space:nowrap;display:inline-block}.roll-char{transition:transform var(--roll-duration) cubic-bezier(.25, 1, .5, 1) calc(var(--roll-i) * var(--roll-stagger));display:inline-block;position:relative}.roll-char:after{content:attr(data-char);left:0;top:calc(100% + var(--roll-gap));position:absolute}@media (hover:hover) and (pointer:fine){:is(a,button,summary,[data-roll-trigger]):hover .roll-char{transform:translateY(calc(-100% - var(--roll-gap)))}}:is(a,button,summary):focus-visible .roll-char{transform:translateY(calc(-100% - var(--roll-gap)))}@media (prefers-reduced-motion:reduce){.roll-char{transition:none;transform:none!important}}.about-journal{--photo-paper:#f2eee5;--photo-paper-edge:#e4dccb;--photo-stamp-ink:#3b3e43}.journal-frame .photo-rest,.journal-frame .photo-rest-hinge,.journal-frame .photo-rest-face{position:absolute;inset:0}.journal-frame .photo-rest-face{overflow:clip}.journal-frame .photo-rest-shadow,.journal-frame .photo-rest-edge{opacity:0;pointer-events:none;position:absolute}.about-journal .journal-frame[data-photo-enhanced]{overflow:visible}.about-journal .journal-frame[data-photo-enhanced] .journal-media{transition:none;transform:none}.about-journal .journal-frame[data-photo-enhanced] .photo-rest-hinge{transform-origin:0}.about-journal .journal-frame[data-photo-enhanced] .photo-rest-shadow{filter:blur(6px);background:linear-gradient(90deg,#0000,#0000001f);inset:5px -4px -5px 35%}.about-journal .journal-frame[data-photo-enhanced] .photo-rest-edge{background:var(--photo-paper-edge);width:.75px;top:0;bottom:0;left:100%}.photo-trigger{width:100%;height:100%;color:inherit;font:inherit;appearance:none;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;margin:0;padding:0;display:block;position:absolute;inset:0}.photo-trigger:focus{outline:none}.photo-trigger:focus-visible{outline:1px solid var(--color-ink);outline-offset:6px}.about-journal .journal-frame[data-photo-open] .photo-rest{visibility:hidden}.photo-viewer{--photo-paper:#f2eee5;--photo-overlay:#16181b;width:100%;max-width:none;height:100%;max-height:none;color:var(--color-ink);background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.photo-viewer::backdrop{background:0 0}.photo-scrim{background:var(--photo-overlay);opacity:0;position:absolute;inset:0}.photo-safe-probe{visibility:hidden;pointer-events:none;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);position:absolute}.photo-flight{transform-origin:0 0;position:absolute}.photo-print{color:inherit;font:inherit;text-align:start;appearance:none;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;margin:0;padding:0;display:block;position:absolute;inset:0}.photo-print:focus{outline:none}.photo-print:focus-visible{outline:1px solid var(--color-on-dark);outline-offset:8px}.photo-levitate,.photo-hover,.photo-perspective,.photo-tilt,.photo-flip,.photo-hinge{transform-style:preserve-3d;transform-origin:50%;display:block;position:absolute;inset:0}.photo-perspective{perspective:calc(var(--photo-print-width,400px) * 3);perspective-origin:50%}.photo-hinge{transform-origin:0}.photo-face{backface-visibility:hidden;display:block;position:absolute;inset:0;overflow:clip}.photo-back{background:var(--photo-paper);transform:rotateY(180deg)}.photo-front-image{object-fit:fill;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.photo-viewer[data-flat] .photo-back{transform:none}.photo-viewer[data-flat][data-face=front] .photo-back,.photo-viewer[data-flat][data-face=back] .photo-front{visibility:hidden}.photo-viewer[data-animating] .photo-flight,.photo-viewer[data-animating] .photo-tilt,.photo-viewer[data-animating] .photo-flip,.photo-viewer[data-animating] .photo-hinge{will-change:transform}.photo-reverse{--photo-reverse-pad:clamp(16px, calc(var(--photo-print-width,400px) * .05), 40px);background:var(--photo-paper);color:var(--color-ink);font-family:var(--font-mono);display:block;position:absolute;inset:0}.photo-reverse-grain{opacity:.03;pointer-events:none;background:url(/media/about/paper-grain.svg) 0 0/96px 96px;display:block;position:absolute;inset:0}.photo-reverse-text{gap:var(--photo-reverse-pad);padding:var(--photo-reverse-pad);grid-template-rows:auto 1fr auto;display:grid;position:absolute;inset:0}.photo-reverse-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5em 1.5em;display:flex}.photo-reverse-heading,.photo-reverse-date,.photo-reverse-place{font-size:max(12px, var(--metadata-size));letter-spacing:var(--metadata-tracking);text-transform:uppercase;color:var(--color-ink-muted);overflow-wrap:anywhere;line-height:1.4;display:block}.photo-reverse-date{text-align:right;margin-left:auto}.photo-reverse-middle{align-items:center;min-height:0;display:flex}.photo-reverse-quote{max-width:34ch;font-size:clamp(14px, calc(var(--photo-print-width,400px) * .032), 17px);color:var(--color-ink);overflow-wrap:anywhere;font-weight:400;line-height:1.55;display:block}@media (width<=700px){.photo-reverse-heading,.photo-reverse-date,.photo-reverse-place{letter-spacing:.06em}}.photo-exit{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);min-width:44px;min-height:44px;color:var(--color-on-dark);font-family:var(--font-mono);font-size:var(--metadata-size);letter-spacing:var(--metadata-tracking);text-transform:uppercase;cursor:pointer;opacity:0;background:0 0;border:0;padding:0 1rem;position:absolute;transform:translate(-50%)}.photo-exit:focus{outline:none}.photo-exit:focus-visible{outline:1px solid var(--color-on-dark);outline-offset:2px}.photo-flight,.photo-print{transform-style:preserve-3d}.photo-stamps{pointer-events:none;position:absolute;inset:0;overflow:hidden}.photo-stamp{opacity:0;object-fit:contain;position:absolute;top:0;left:0}.photo-reverse-text{pointer-events:none}.photo-touch-hint{display:none}@media (any-pointer:coarse){.photo-touch-hint{font:.65rem var(--font-mono);letter-spacing:.06em;color:var(--color-ink-muted);margin:0;display:block;position:absolute;top:-2.5rem;left:0}}.about-journal{position:relative}.photo-viewer[data-flat] .photo-front,.photo-viewer[data-flat] .photo-back{backface-visibility:visible}.photo-toggle{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.photo-toggle:focus-visible{outline:1px solid var(--color-on-dark);outline-offset:8px}.photo-levitate{pointer-events:none}.photo-reverse-text.photo-text-overflow{pointer-events:auto;touch-action:pan-y;overflow-y:auto}.photo-text-overflow .photo-reverse-middle{min-height:min-content}.journal-frame .photo-rest-scale,.journal-frame .photo-rest-perspective,.journal-frame .photo-rest-tilt{transform-style:preserve-3d;transform-origin:50%;position:absolute;inset:0}.about-journal .journal-frame[data-photo-enhanced] .photo-rest{perspective:none}.about-journal .journal-frame[data-photo-enhanced] .photo-rest-perspective{perspective:calc(var(--photo-rest-width,400px) * 3)}.photo-turn-label{color:var(--color-ink-muted);font:var(--metadata-size) var(--font-mono);letter-spacing:var(--metadata-tracking);white-space:nowrap;pointer-events:none;position:absolute;top:calc(102.5% + 12px);left:0}.photo-trigger .photo-turn-label .roll-char{transform:translateY(calc(var(--photo-label-offset,1) * (100% + var(--roll-gap))))}.photo-turn-label .roll-char:after{content:none}.photo-reverse-top,.photo-reverse-place{--photo-metadata-gap:.4rem;gap:var(--photo-metadata-gap)}.photo-reverse-top{flex-direction:column;align-items:flex-start;display:flex}.photo-reverse-title{color:var(--color-ink-muted);font:max(12px, var(--metadata-size))/1.4 var(--font-mono);letter-spacing:var(--metadata-tracking)}.photo-reverse-middle{flex-direction:column;justify-content:center;align-items:flex-start;gap:.85rem;display:flex}.photo-reverse-date{color:var(--color-ink);text-align:left;margin:0}.photo-reverse-quote{font-family:var(--font-mono);font-size:clamp(18px, calc(var(--photo-print-width,400px) * .055), 29px);max-width:24ch;line-height:1.25}.photo-reverse-place{text-align:right;flex-direction:column;align-items:flex-end;display:flex}@media (prefers-reduced-motion:reduce){.photo-turn-label{opacity:0!important}}.journal-frame[data-photo-open] .photo-turn-label{visibility:hidden}.photo-viewer[data-fallback]{z-index:10000;display:block}.photo-overflow-turn{z-index:2;min-height:44px;color:var(--color-ink);background:var(--photo-paper);font:var(--metadata-size) var(--font-mono);cursor:pointer;border:0;padding:0 10px;position:absolute;bottom:12px;right:12px}.photo-overflow-turn[hidden]{display:none}.photo-overflow-turn:focus-visible{outline-offset:2px;outline:1px solid}.photo-viewer[data-overflow] .photo-reverse-text{padding-bottom:64px}.photo-viewer[data-face=front] .photo-overflow-turn,.photo-viewer[data-animating] .photo-overflow-turn{visibility:hidden}.photo-viewer[data-inspection=pointer] .photo-toggle:focus-visible{outline:none}:root[data-contact-page-lock],:root[data-contact-page-lock] body{overflow:hidden}:root[data-contact-page],:root[data-contact-page] body{overscroll-behavior:none;overflow-x:clip}.route:has(>.contact){overflow:clip}.route-main.contact:has(>[data-contact-pass]){padding-top:max(var(--navbar-height), env(safe-area-inset-top));padding-left:max(var(--site-gutter), env(safe-area-inset-left));padding-right:max(var(--site-gutter), env(safe-area-inset-right))}.contact-pass[data-contact-pass]{--pass-w:min(320px, max(240px, calc(100vw - 2 * var(--site-gutter))));--pass-h:calc(var(--pass-w) * 1.40625);--pass-strap:calc(var(--pass-h) * .22);--pass-stage-h:calc(var(--pass-h) * 1.28);--pass-pad:calc(var(--pass-w) * .075);--pass-radius:calc(var(--pass-w) * .073);--pass-email-size:min(max(var(--pass-w) * .088, 1.5rem), var(--pass-w) * .11);--pass-row-size:min(max(var(--pass-w) * .07, 1.25rem), var(--pass-w) * .085);--pass-meta-size:min(var(--metadata-size), var(--pass-w) * .046);--pass-face:linear-gradient(160deg, #34313d 0%, #1d1c22 55%, #141318 100%);--pass-ink:#f4f4f5;--pass-muted:#f4f4f599;--pass-strap-color:#232427;--pass-metal:#4d4f55;flex-direction:column;flex-shrink:0;align-items:center;min-width:0;display:flex}.contact-pass[data-contact-pass] .contact-pass-stage{width:100%;height:var(--pass-stage-h);z-index:1;position:relative}.contact-pass[data-tier=loading]{--pass-face:linear-gradient(150deg, #e5e6e7, #a7a9ac 45%, #f1f3f5);--pass-ink:#16181b;--pass-muted:#16181b99}.contact-pass[data-contact-pass] .contact-pass-canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.contact-pass[data-contact-pass] .contact-pass-card{top:var(--pass-strap);left:calc(50% - var(--pass-w) / 2);width:var(--pass-w);height:var(--pass-h);position:absolute}.contact-pass[data-contact-pass] .contact-pass-face{box-sizing:border-box;color:var(--pass-ink);background:var(--pass-face);border-radius:var(--pass-radius);box-shadow:0 0 0 1px #ffffff12, 0 18px 36px -24px color-mix(in srgb, var(--color-ink) 45%, transparent);font-family:var(--font-mono);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-weight:600;position:absolute;inset:0}.contact-pass[data-contact-pass] .contact-pass-face:before{content:"";top:calc(var(--pass-h) * .0422);left:calc(50% - var(--pass-w) * .10625);width:calc(var(--pass-w) * .2125);height:calc(var(--pass-h) * .0311);background:var(--color-paper);box-shadow:inset 0 1px 2px color-mix(in srgb, var(--color-ink) 25%, transparent);border-radius:999px;position:absolute}.contact-pass[data-contact-pass] .contact-pass-surface{z-index:0;border-radius:inherit;cursor:pointer;touch-action:manipulation;position:absolute;inset:0}.contact-pass[data-touch-pull] .contact-pass-surface{touch-action:none;-webkit-touch-callout:none}.contact-pass[data-contact-pass] .contact-pass-face>:not(.contact-pass-surface){z-index:1;pointer-events:none}.contact-pass[data-contact-pass] .contact-pass-face .contact-pass-action{pointer-events:auto}.contact-pass[data-contact-pass] .contact-pass-meta{left:var(--pass-pad);right:var(--pass-pad);font-family:var(--font-mono);font-size:var(--pass-meta-size);letter-spacing:var(--metadata-tracking);text-transform:uppercase;color:var(--pass-muted);justify-content:space-between;margin:0;line-height:1.4;display:flex;position:absolute}.contact-pass[data-contact-pass] .contact-pass-badge{color:var(--pass-ink);font-size:min(1em, calc(var(--pass-w) * .039));align-items:center;gap:.5em;display:inline-flex}.contact-pass[data-contact-pass] .contact-pass-verified{width:1.5em;height:1.5em;display:block}.contact-pass[data-contact-pass] .contact-pass-meta-top{top:var(--pass-pad)}.contact-pass[data-contact-pass] .contact-pass-meta-bottom{bottom:var(--pass-pad)}.contact-pass[data-contact-pass] .contact-email{left:calc(var(--pass-pad) - .45em);bottom:calc(var(--pass-pad) - .3em);box-sizing:border-box;min-width:44px;min-height:44px;color:inherit;font:inherit;font-family:var(--font-sans);font-size:var(--pass-email-size);letter-spacing:-.02em;text-align:left;white-space:nowrap;overflow-wrap:normal;cursor:pointer;transition:opacity var(--motion-feedback) ease;background:0 0;border:0;border-radius:.25em;flex-direction:column;align-items:flex-start;margin:0;padding:.3em .45em;font-weight:500;line-height:1.15;text-decoration:none;display:flex;position:absolute}.contact-pass[data-contact-pass] .contact-email-line,.contact-pass[data-contact-pass] .contact-pass-email-line{display:block}.contact-pass[data-contact-pass] .contact-pass-email-domain{color:var(--pass-muted);letter-spacing:0;margin-top:.15em;font-size:.6em;font-weight:400}.contact-pass[data-contact-pass] .contact-email:hover{opacity:var(--interactive-hover-opacity)}.contact-pass[data-contact-pass] :is(button,a,input):focus-visible{outline-offset:3px;outline:1px solid}.contact-pass:not([data-js]) .contact-email{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.contact-pass[data-contact-pass] .contact-pass-copied{right:var(--pass-pad);bottom:var(--pass-pad);font-family:var(--font-mono);font-size:var(--metadata-size);letter-spacing:var(--metadata-tracking);text-align:right;text-transform:uppercase;color:var(--pass-ink);opacity:0;transition:opacity .18s;position:absolute}.contact-pass[data-contact-pass] .contact-pass-copied[data-visible]{opacity:1;transition-duration:.12s}.contact-pass[data-contact-pass] .contact-links{top:calc(var(--pass-pad) + (var(--pass-h) - 2 * var(--pass-pad)) * .14);left:var(--pass-pad);right:var(--pass-pad);font-family:var(--font-sans);font-weight:400;font-size:var(--pass-row-size);letter-spacing:-.015em;flex-flow:column;gap:0;margin:0;padding:0;line-height:1.2;list-style:none;display:flex;position:absolute}.contact-pass[data-contact-pass] .contact-links a{box-sizing:border-box;width:fit-content;min-height:max(40px, calc(var(--pass-w) * .13));border-radius:999px;grid-template-columns:1.1em auto;justify-content:start;align-items:center;column-gap:.65em;margin-left:-.6em;padding-inline:.6em;text-decoration:none;display:grid}.contact-pass[data-contact-pass] .contact-pass-glyph{width:.92em;height:.92em;display:block}.contact-pass[data-contact-pass] .contact-pass-strap{top:0;left:calc(50% - var(--pass-w) * .1125);width:calc(var(--pass-w) * .225);height:calc(var(--pass-strap) + var(--pass-h) * .035);background:repeating-linear-gradient(to bottom, transparent 0 10px, #ffffff1a 10px 16px) left 7.5% top 0 / 2px 100% no-repeat, repeating-linear-gradient(to bottom, transparent 0 10px, #ffffff1a 10px 16px) right 7.5% top 0 / 2px 100% no-repeat, var(--pass-strap-color);position:absolute}.contact-pass[data-contact-pass] .contact-pass-strap:after{content:"";bottom:calc(var(--pass-h) * .02);width:116%;height:calc(var(--pass-w) * .08);border-radius:calc(var(--pass-w) * .015);background:linear-gradient(to bottom, #6a6d74, var(--pass-metal) 55%, #3c3e43);position:absolute;left:-8%}.contact-pass[data-js]:not([data-tier=enhanced]) .contact-pass-face{opacity:0;visibility:hidden;transition:opacity 90ms,visibility 0s linear 90ms}.contact-pass[data-js]:not([data-tier=enhanced]) .contact-pass-face[data-shown]{opacity:1;visibility:visible;transition:opacity 90ms}.contact-pass[data-tier=enhanced] .contact-pass-strap{display:none}.contact-pass[data-tier=enhanced] .contact-pass-card{top:0;left:0}.contact-pass[data-tier=enhanced] .contact-pass-face{visibility:hidden;transform-origin:0 0;box-shadow:none;will-change:transform;background:0 0}.contact-pass[data-tier=enhanced] .contact-pass-face:not([data-engraved]){--pass-ink:#16181b;--pass-muted:#16181b99}.contact-pass[data-tier=enhanced] .contact-pass-face[data-engraved]{--pass-ink:transparent;--pass-muted:transparent}.contact-pass[data-tier=enhanced] .contact-pass-face[data-engraved] :is(button,a):focus-visible{outline-color:#ffffffd9}.contact-pass[data-tier=enhanced] .contact-pass-face[data-engraved] .contact-pass-copied{color:#f4f4f5;text-shadow:0 1px 2px #0009}.contact-pass[data-contact-pass] :is(.contact-pass-meta,.contact-pass-email-domain){--engrave:.7}.contact-pass[data-tier=enhanced] .contact-pass-face:before{display:none}@media (hover:hover) and (pointer:fine){.contact-pass[data-tier=enhanced] .contact-pass-surface{cursor:grab}.contact-pass[data-tier=enhanced][data-phase=dragging] .contact-pass-surface{cursor:grabbing}}.contact-pass:not([data-js]) .contact-pass-stage{height:auto;padding-block:2rem;overflow:visible}.contact-pass:not([data-js]) .contact-pass-strap{display:none}.contact-pass:not([data-js]) .contact-pass-card{flex-wrap:wrap;justify-content:center;gap:1.5rem;width:auto;height:auto;display:flex;position:static}.contact-pass:not([data-js]) .contact-pass-face{width:var(--pass-w);height:var(--pass-h);position:relative;inset:auto}.contact-pass[data-contact-pass] .contact-pass-controls{flex-wrap:wrap;justify-content:center;gap:.25rem 1.5rem;margin-top:24px;display:flex}.contact-pass[data-contact-pass] :is(.contact-pass-turn,.contact-pass-open){min-height:44px;color:var(--color-ink);font-family:var(--font-mono);font-size:var(--metadata-size);letter-spacing:var(--metadata-tracking);text-transform:uppercase;cursor:pointer;transition:opacity var(--motion-feedback) ease;background:0 0;border:0;align-items:center;padding:0 .6rem;text-decoration:none;display:inline-flex}.contact-pass[data-contact-pass] .contact-pass-open{color:var(--color-ink-muted)}.contact-pass[data-contact-pass] .contact-pass-manual{text-align:center;max-width:min(100%,28rem);color:var(--color-ink-muted);justify-items:center;gap:.5rem;margin-top:.5rem;font-size:.875rem;line-height:1.4;display:grid}.contact-pass[data-contact-pass] .contact-pass-manual input{box-sizing:border-box;border:1px solid var(--color-rule);width:min(100%,22rem);min-height:44px;color:var(--color-ink);font-family:var(--font-mono);text-align:center;-webkit-user-select:all;user-select:all;background:#fff;border-radius:4px;padding:.5rem .75rem;font-size:.95rem}@media (prefers-reduced-motion:reduce){.contact-pass[data-contact-pass][data-js]:not([data-tier=enhanced]) .contact-pass-face,.contact-pass[data-contact-pass] :is(.contact-email,.contact-pass-turn,.contact-pass-open){transition:none}}.colophon{padding-left:max(var(--route-gutter), env(safe-area-inset-left));padding-right:max(var(--route-gutter), env(safe-area-inset-right));padding-bottom:max(6rem, env(safe-area-inset-bottom));container-type:inline-size}.colophon-hero{padding-top:var(--route-display-space)}.colophon-hero .route-display-title{letter-spacing:-.045em;font-size:17.5cqw;line-height:.9}.colophon-meta{font-family:var(--font-mono);font-size:var(--metadata-size);letter-spacing:var(--metadata-tracking);text-transform:uppercase;color:var(--color-ink-muted);margin:0;font-weight:400;line-height:1.6}.colophon-edition{border-top:1px solid var(--color-rule-strong);flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;margin-top:2rem;padding-top:1rem;display:flex}.colophon-opening,.colophon-section-heading,.colophon-closing{grid-template-columns:var(--editorial-columns);display:grid}.colophon-opening{margin-top:var(--section-space)}.colophon h2{letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(2rem,4.2vw,4.5rem);font-weight:500;line-height:1.05}.colophon-lead{letter-spacing:-.025em;text-wrap:pretty;max-width:35rem;margin:2rem 0 0;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.4}.colophon-copy{max-width:36rem;color:var(--color-ink-muted);text-wrap:pretty;margin:1.5rem 0 0;font-size:1rem;line-height:1.65}.colophon-section{margin-top:calc(var(--section-space) * 1.5);border-top:1px solid var(--color-rule-strong);padding-top:1.5rem}.colophon-section-heading{margin-bottom:3.5rem}.colophon-section-heading>.colophon-meta,.colophon-opening>.colophon-meta,.colophon-closing>.colophon-meta{padding-right:2rem}.colophon-design-grid{grid-template-columns:var(--editorial-columns);display:grid}.colophon-specimen{align-self:start;padding-right:clamp(2rem,5vw,6rem)}.colophon-type-sample,.colophon-specimen-labels{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.colophon-type-sample{letter-spacing:-.06em;font-size:clamp(4rem,9vw,10rem);font-weight:500;line-height:1.1}.colophon-type-sample span{font-family:var(--font-mono);font-weight:400}.colophon-specimen-labels{margin-top:1.5rem}.colophon-palette{font:.6875rem var(--font-mono);grid-template-columns:repeat(3,1fr);margin-top:2rem;display:grid}.colophon-palette span{border:1px solid var(--color-rule);align-items:end;min-height:5rem;padding:.75rem;display:flex}.colophon-palette span:nth-child(2){background:var(--color-ink);color:var(--color-paper)}.colophon-palette span:nth-child(3){background:var(--color-ink-muted);color:var(--color-paper)}.colophon-design-copy .colophon-lead{margin-top:0}.colophon-cases{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);display:grid}.colophon-case{border-top:1px solid var(--color-rule);padding-top:1.25rem}.colophon-case h3{letter-spacing:-.035em;margin:1.25rem 0 2rem;font-size:clamp(1.5rem,2.4vw,2.5rem);font-weight:500;line-height:1.1}.colophon-case dl{margin:0}.colophon-case dl>div+div{margin-top:1.5rem}.colophon-case dt{font:.6875rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}.colophon-case dd{max-width:36rem;color:var(--color-ink-muted);margin:0;font-size:.9375rem;line-height:1.6}.colophon-constraint{grid-template-columns:var(--editorial-columns);border-top:1px solid var(--color-rule);color:var(--color-ink-muted);gap:1rem 0;margin:3rem 0 0;padding-top:1.5rem;font-size:.9375rem;line-height:1.6;display:grid}.colophon-index-title{margin:0 0 1.25rem;font-size:1.25rem;font-weight:500}.colophon-index{margin:0}.colophon-index-row{grid-template-columns:var(--editorial-columns);border-top:1px solid var(--color-rule);gap:.75rem 0;padding:1.5rem 0;display:grid}.colophon-index-row dd{min-width:0;margin:0;line-height:1.6}.colophon-index-row dd p{letter-spacing:-.025em;margin:0 0 .35rem;font-size:clamp(1.15rem,2vw,1.75rem);line-height:1.3}.colophon-index-row dd span{color:var(--color-ink-muted);font-size:.9375rem}.colophon-toolkit{border-block:1px solid var(--color-rule-strong)}.colophon-toolkit summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:64px;font-size:1.25rem;list-style:none;display:flex}.colophon-toolkit summary::-webkit-details-marker{display:none}.colophon-toolkit[open] summary>span{transform:rotate(45deg)}.colophon-toolkit>p{margin:0 0 2rem}.colophon-closing{margin-bottom:var(--section-space);padding-top:2rem}.colophon :is(button,summary,[role=tab]):focus-visible{outline-offset:5px;outline:2px solid}@media (width>=1800px){.colophon h2{font-size:4.5rem}}@media (width<=900px){.colophon-cases{grid-template-columns:1fr;gap:2.5rem}.colophon-case dl{grid-template-columns:1fr 1fr;gap:1.5rem 2rem;display:grid}.colophon-case dl>div+div{margin-top:0}.colophon-specimen{padding-right:2rem}.colophon-type-sample{font-size:8.5vw}}@media (width<=700px){.colophon-hero{padding-top:calc(var(--navbar-height) + 4rem)}.colophon-edition{letter-spacing:.06em;margin-top:1.5rem;font-size:.625rem}.colophon-opening,.colophon-section-heading,.colophon-design-grid,.colophon-closing,.colophon-constraint,.colophon-index-row{grid-template-columns:1fr}.colophon-opening,.colophon-section-heading,.colophon-closing{gap:2rem}.colophon-section{margin-top:5rem}.colophon-section-heading{margin-bottom:2.5rem}.colophon-specimen{margin-bottom:2.5rem;padding-right:0}.colophon-type-sample{font-size:24vw}.colophon-case dl{grid-template-columns:1fr}.colophon-index-row dt{padding-right:0}.colophon-closing h2{font-size:clamp(1.75rem,7.5vw,3rem)}}.colophon-studies{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(2rem,5vw,6rem);display:grid}.colophon-study-index a{border-top:1px solid var(--color-rule);min-height:72px;color:var(--color-ink-muted);letter-spacing:-.025em;grid-template-columns:1.5rem 1fr 1rem;align-items:center;gap:.75rem;font-size:clamp(1rem,1.6vw,1.5rem);text-decoration:none;display:grid}.colophon-study-index a:last-child{border-bottom:1px solid var(--color-rule)}.colophon-study-index a[aria-selected=true]{color:var(--color-ink)}.colophon-study-arrow{opacity:0}.colophon-study-index a[aria-selected=true] .colophon-study-arrow{opacity:1}.colophon-study-panels{min-width:0}.colophon-study{scroll-margin-top:calc(var(--navbar-height) + 2rem)}.colophon-study[hidden],.colophon-demo-controls[hidden]{display:none}.colophon-study:focus-visible{outline:2px solid var(--color-ink);outline-offset:8px}.colophon-study h3{letter-spacing:-.03em;margin:0 0 1.5rem;font-size:clamp(1.25rem,2.2vw,2rem);font-weight:400;line-height:1.3}.colophon-demo{background:var(--color-ink);color:var(--color-paper)}.colophon-type-demo,.colophon-cursor-demo{box-sizing:border-box;grid-template-rows:auto 1fr auto;height:clamp(18rem,29vw,28rem);padding:1.5rem;display:grid;position:relative;overflow:hidden}.colophon-demo-label,.colophon-demo-caption{font-family:var(--font-mono);color:var(--color-on-dark-muted);margin:0;font-size:.6875rem;line-height:1.5}.colophon-demo-label{letter-spacing:.05em;text-transform:uppercase}.colophon-demo-caption{min-height:2.1rem}.colophon-roll-window{font-size:clamp(3rem,8vw,8.5rem);font-weight:var(--display-weight);letter-spacing:-.04em;place-self:center;line-height:1;transform:translateY(-.25em)}.colophon-type-demo[data-exposed=true] .roll-word{clip-path:none;outline:1px dashed var(--color-on-dark-muted);outline-offset:.08em}.colophon-type-demo[data-exposed=true] .roll-char:after{opacity:.35}.colophon-type-demo[data-rolled=true] .roll-char{transform:translateY(calc(-100% - var(--roll-gap)))}.colophon-demo-controls{border-top:1px solid color-mix(in srgb, var(--color-paper) 25%, transparent);flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding:.5rem 1rem;display:flex}.colophon-demo-controls button{min-height:44px;color:inherit;font:.75rem var(--font-mono);cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem;display:inline-flex}.colophon-demo-controls button[aria-pressed=true]{text-underline-offset:.35em;text-decoration:underline}.colophon-demo-controls button:hover{color:var(--color-on-dark-muted)}.colophon-cursor-diagram{place-self:center;width:10rem;height:10rem}.colophon-orbit-base{stroke:currentColor;stroke-opacity:.2;stroke-width:1px}.colophon-orbit-fill{stroke:currentColor;stroke-width:1.5px;stroke-dashoffset:1px;transition:stroke-dashoffset var(--orbit-duration) cubic-bezier(.87, 0, .13, 1)}.colophon-cursor-demo[data-surface=true] .colophon-orbit-fill{stroke-dashoffset:0}.colophon-cursor-controls fieldset{gap:.5rem;display:flex}.colophon-study-notes{margin:2rem 0 0}.colophon-study-notes>div{grid-template-columns:9rem minmax(0,1fr);gap:1rem;margin-top:1rem;display:grid}.colophon-study-notes dd{max-width:40rem;color:var(--color-ink-muted);margin:0;font-size:.9375rem;line-height:1.6}.colophon-studies[data-enhanced=false] .colophon-study+.colophon-study{margin-top:3rem}@media (width<=1000px){.colophon-studies{grid-template-columns:1fr;gap:2rem}.colophon-study-index{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.colophon-study-index a{border-bottom:1px solid var(--color-rule)}.colophon-type-demo,.colophon-cursor-demo{height:22rem}.colophon-roll-window{font-size:12vw}}@media (width<=700px){.colophon-study-index{grid-template-columns:1fr;gap:0}.colophon-study-index a:first-child{border-bottom:0}.colophon-study-index a{min-height:60px}.colophon-type-demo,.colophon-cursor-demo{height:20rem;padding:1.25rem}.colophon-roll-window{font-size:14vw}.colophon-demo-controls{gap:.25rem;padding:.5rem}.colophon-demo-controls button{gap:.5rem;font-size:.6875rem}.colophon-study-notes>div{grid-template-columns:1fr;gap:.5rem;margin-top:1.5rem}.colophon-cursor-controls{flex-direction:column;align-items:stretch}.colophon-cursor-controls fieldset{justify-content:space-between}}@media (prefers-reduced-motion:reduce){.colophon-orbit-fill{transition:none}.colophon .roll-char{transition:none;transform:none!important}}.colophon-cursor-controls fieldset{border:0;min-width:0;margin:0;padding:0}.colophon-type-demo[data-exposed=true] .colophon-roll-window{font-size:clamp(2.5rem,5.2vw,5rem);transform:none}.project-hero:has(.verso-hero){padding-top:0}.verso-hero{--verso-gutter:clamp(1.5rem, 3vw, 2.75rem);--verso-ease:cubic-bezier(.19, 1, .22, 1);height:100%;position:relative}.verso-loading.verso-unavailable{padding:var(--verso-gutter);color:var(--color-paper);background:var(--color-ink);text-align:center;place-content:center;justify-items:center;gap:1.5rem;display:grid}.verso-hero .stage,.verso-hero .overlay,.verso-hero .loader{position:absolute}.verso-hero[data-fixed] .stage,.verso-hero[data-fixed] .overlay,.verso-hero[data-fixed] .loader{position:fixed}.verso-hero .stage{z-index:0}.verso-hero .overlay{z-index:2;overflow:clip}.verso-hero .overlay:before{display:none}.verso-hero .spread-label{bottom:5.5rem}@media (width<=700px){.verso-hero .spread-label{width:calc(100% - 2 * var(--verso-gutter))}}.verso-loading{z-index:2;background:var(--color-paper);position:absolute;inset:0}.verso-hero .journey-spacer{width:1px;position:absolute;top:0;left:0}.project-exploring>:not(.project-stage){display:none}.route-main.project.project-exploring{padding-bottom:0}.verso-layer{z-index:1;color:var(--color-paper);opacity:0;visibility:hidden;transition:opacity .6s var(--verso-ease), visibility 0s linear .6s;background:#0a0b0c85;position:absolute;inset:0}.verso-hero[data-fixed] .verso-layer{position:fixed}.verso-layer[data-on]{opacity:1;visibility:visible;transition:opacity .6s var(--verso-ease)}.verso-button{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--color-paper) 60%, transparent);min-height:2.75rem;color:var(--color-paper);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background-color .35s var(--verso-ease), color .35s var(--verso-ease), border-color .35s var(--verso-ease);background:0 0;padding:0 1.1rem;font-size:.75rem}.verso-button:not(.verso-explore):hover{background:var(--color-paper);border-color:var(--color-paper);color:var(--color-ink)}.verso-button:focus-visible{outline:1px solid var(--color-paper);outline-offset:4px}.verso-explore{left:var(--verso-gutter);position:absolute;bottom:1.75rem}@media (hover:hover) and (pointer:fine){.verso-explore:not(:focus-visible){opacity:0;pointer-events:none}}@media (hover:none),(pointer:coarse){.verso-explore{bottom:5.5rem;left:50%;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.verso-layer,.verso-layer[data-on],.verso-button{transition:none}}.argus-hyperspeed{pointer-events:none;background:#08090a;width:100%;height:100%;margin:0;position:relative;overflow:hidden}.argus-hyperspeed-poster,.argus-hyperspeed-stage{width:100%;height:100%;position:absolute;inset:0}.argus-hyperspeed-poster{object-fit:cover;display:block}.argus-hyperspeed-stage{visibility:hidden}.argus-hyperspeed[data-ready] .argus-hyperspeed-stage{visibility:visible}.argus-hyperspeed[data-ready] .argus-hyperspeed-poster{visibility:hidden}.argus-hyperspeed canvas{width:100%;height:100%;display:block}.work-entry .argus-hyperspeed{aspect-ratio:8/5;height:auto}.case-section>h2{scroll-margin-top:calc(var(--navbar-height) + 1.5rem)}.case-layout{--case-reading-width:76ch;grid-template-columns:minmax(0, 1fr) minmax(0, var(--case-reading-width)) minmax(0, 1fr);align-items:start;font-size:1.0625rem;display:grid}.case-article{grid-area:1/2;min-width:0}.case-article .case-section{padding-block:clamp(1.5rem,3.5svh,2.5rem);display:block}.case-article .case-section>h2{margin:0 0 1.25rem}.case-article .case-body{max-width:var(--case-reading-width);font-size:1.0625rem;line-height:1.6}.case-contents{top:max(calc(var(--navbar-height) + 1rem), calc(50svh - var(--case-index-height,0px) / 2));font-family:var(--font-mono);font-size:var(--metadata-size);letter-spacing:.04em;grid-area:1/1;padding-right:2rem;position:sticky}.case-contents[hidden]{display:none}.case-contents ul{margin:0;padding:0;list-style:none}.case-contents a{text-transform:uppercase;box-sizing:border-box;width:fit-content;min-height:44px;color:var(--color-ink-muted);padding:.6rem 0;text-decoration:none;display:block}.case-contents a[aria-current]{color:var(--color-ink)}.case-contents a[aria-current]:before{content:"•";margin-left:-1em;position:absolute}.case-contents a:focus-visible{outline-offset:4px;outline:1px solid}.case-contents-mobile{display:none}.case-article .project-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));container-type:inline-size}.case-article .project-stats dd{font-size:clamp(3rem,15cqw,8rem)}.project-stat-unit{font-size:.55em}.case-architecture-visual{margin:1rem 0 0}.case-architecture-visual img{width:100%;height:auto;display:block}.case-architecture-visual figcaption{color:var(--color-ink-muted);font-family:var(--font-mono);font-size:var(--metadata-size);margin-top:1rem;line-height:1.6}@media (width<=1000px){.case-architecture-visual img{max-width:360px;margin-inline:auto}}@media (width<=1200px){.case-section>h2{scroll-margin-top:calc(var(--navbar-height) + var(--case-disclosure-height,56px) + 1rem)}.case-layout{display:block}.case-contents{top:var(--navbar-height);z-index:3;background:var(--color-paper);padding-right:0;position:sticky}.case-contents-desktop{display:none}.case-contents-mobile{display:block;position:relative}.case-contents summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:1rem;padding:1rem 0;list-style:none;display:flex}.case-contents-current{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-ink-muted);text-transform:uppercase;margin-left:auto;overflow:hidden}.case-contents-disclosure-icon:before{content:"+"}.case-contents summary>.roll,.case-contents-disclosure-icon{flex-shrink:0}.case-contents summary::-webkit-details-marker{display:none}.case-contents-mobile[open] .case-contents-disclosure-icon:before{content:"−"}.case-contents-mobile nav{top:100%;background:var(--color-paper);border-bottom:1px solid var(--color-rule);max-height:calc(100svh - var(--navbar-height) - 4rem);overscroll-behavior:contain;padding-bottom:1rem;position:absolute;inset-inline:0;overflow-y:auto}.case-article .case-body{max-width:var(--case-reading-width)}.case-contents a{box-sizing:border-box;width:100%;min-height:44px;padding-inline:1.25rem;position:relative}.case-contents a[aria-current]:before{margin-left:0;left:.35rem}}@media (width<=700px),(width<=1200px) and (height<=500px) and (pointer:coarse){.case-section>h2{scroll-margin-top:calc(var(--navbar-height) + 1.5rem)}.case-layout .case-contents{padding:0 var(--route-gutter) env(safe-area-inset-bottom);border-top:1px solid var(--color-rule);background:var(--color-paper);transform:translateY(max(0px, calc(var(--case-content-top,100dvh) - 100dvh + 100%)));position:fixed;inset:auto 0 0}.case-layout .case-contents:not([data-content-visible]){visibility:hidden}.case-contents summary{box-sizing:border-box;min-height:56px}.case-contents-mobile nav{top:auto;bottom:100%;inset-inline:calc(0px - var(--route-gutter));border-top:1px solid var(--color-rule);max-height:calc(100svh - 56px - env(safe-area-inset-bottom) - 1rem);border-bottom:0;padding-block:.5rem}.project-nav:not(.project-nav-pair){grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.project-nav:not(.project-nav-pair) a{align-items:center;min-height:44px;display:flex}.project-nav:not(.project-nav-pair) .project-nav-prev{grid-area:1/1;padding-right:0}.project-nav:not(.project-nav-pair) .project-nav-next{grid-area:1/2;justify-content:flex-end}.project-nav:not(.project-nav-pair) .project-nav-all{grid-area:2/1/auto/-1;justify-self:center;padding-right:0}}.case-contents{box-sizing:border-box;padding-left:var(--route-gutter)}.case-article{padding-right:0}.case-article .case-section{padding-inline:0}.case-article .case-section:before{left:0;right:0}@media (width<=1200px){.case-layout{box-sizing:border-box;max-width:calc(var(--case-reading-width) + 2 * var(--route-gutter));padding-inline:var(--route-gutter);margin-inline:auto}.case-contents{padding-left:0}.case-article{padding-right:0}}.work-gallery{--work-tile-ratio:2;--work-media-ratio:1.6;--work-tile-width:50vw;--work-tile-height:calc(var(--work-tile-width) / var(--work-tile-ratio));--work-title-size:clamp(2.5rem, 2.8vw, 3rem);--work-desc-scale:.3;--work-desc-lines:1;--work-band-height:calc(var(--work-tile-height) * .29);--work-surface:var(--color-black);--work-text:var(--color-on-dark-muted);--work-text-hover:var(--color-on-dark);background:var(--work-surface);color:var(--color-on-dark);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:relative}.work-gallery[data-nav-overlay]:before{content:"";z-index:3;height:calc(var(--navbar-height) + 2rem);pointer-events:none;background:linear-gradient(to bottom, #000000a3, #0009 var(--navbar-height), transparent);position:fixed;top:0;left:0;right:0}.work-gallery-intro{padding-inline:var(--route-gutter);background:var(--work-surface);color:#fff;grid-column:1/-1}.work-tile{isolation:isolate;background:var(--work-surface);min-width:0;color:inherit;text-decoration:none;display:block;position:relative}.work-tile-window{z-index:1;aspect-ratio:var(--work-tile-ratio);background:var(--color-ink);grid-template-rows:100%;align-items:center;display:grid;position:relative;overflow:clip}.work-tile-plate{width:100%;aspect-ratio:var(--work-media-ratio)}.work-tile-plate>*{aspect-ratio:auto;object-fit:cover;width:100%;height:100%}.work-tile-plate .media-frame-number{visibility:hidden}.work-tile-band{z-index:2;box-sizing:border-box;font-size:var(--work-title-size);min-height:max(var(--work-band-height), calc(1.5em * (1.67 + 1.35 * var(--work-desc-lines) * var(--work-desc-scale))));background:var(--work-surface);padding:.5em 1rem .5rem;position:relative}.work-tile-band h2{letter-spacing:-.035em;text-transform:uppercase;margin:0 0 .17em;font-size:1em;font-weight:700;line-height:1}.work-tile-band p{font-size:calc(1em * var(--work-desc-scale));margin:0;font-weight:400;line-height:1.35}.route a.work-tile:hover{opacity:1}.work-tile-band h2,.work-tile-band p{color:var(--work-text);transition:color var(--motion-feedback) ease}.work-tile:is(:hover,:focus-visible) .work-tile-band h2,.work-tile:is(:hover,:focus-visible) .work-tile-band p{color:var(--work-text-hover)}.route a.work-tile:focus-visible{outline:2px solid var(--work-text-hover);outline-offset:-6px}@media (prefers-reduced-motion:no-preference){.work-tile-plate,.work-tile-band{will-change:transform}}@media (prefers-reduced-motion:reduce){.work-tile-band h2,.work-tile-band p{transition:none}}@media (width<=1100px){.work-gallery{--work-desc-lines:2}}@media (width<=700px){.work-tile-band .project-view-cue{bottom:calc(100% + .75rem)}.work-gallery{--work-tile-width:100vw;--work-title-size:1.75rem;--work-desc-scale:.5;grid-template-columns:minmax(0,1fr)}}.work-history{box-sizing:border-box;grid-template-columns:var(--editorial-columns);min-height:100svh;padding:var(--section-space) var(--site-gutter);padding-bottom:max(var(--section-space), var(--history-preview-room,0px), 30svh);color:var(--color-on-dark);background:var(--color-black);align-content:center;display:grid}.work-history-column{grid-area:1/2;container-type:inline-size}.work-history h2{font-size:var(--history-heading-size,min(var(--display-title-size), 10cqi));font-weight:var(--display-weight);letter-spacing:var(--display-tracking);margin:0 0 clamp(1.5rem,4svh,3rem);line-height:1}.work-history h2 span{white-space:nowrap;display:inline-block}.work-history-group+.work-history-group{margin-top:var(--editorial-row-gap)}.work-history-entry sup{font-family:var(--font-mono);letter-spacing:.04em;vertical-align:super;white-space:nowrap;font-size:clamp(.625rem,.35em,.875rem);font-weight:400;line-height:0}.work-history ul{gap:var(--editorial-row-gap);margin:0;padding:0;list-style:none;display:grid}.work-history-entry{font-size:clamp(1rem,2.25vw,2.5rem);font-weight:var(--display-weight);letter-spacing:-.03em;text-transform:uppercase;overflow-wrap:anywhere;opacity:var(--history-scroll-opacity,1);line-height:1.2}.work-history-preview{grid-area:1/1;align-self:start;width:calc(100% - 2rem);max-width:28rem;font-size:clamp(.875rem,1vw,.9375rem);line-height:1.5;display:grid}.work-history-caption{opacity:0;pointer-events:none;grid-area:1/1}.work-history-caption[data-active=true]{opacity:1}.work-history-meta{margin:0 0 .75rem}.work-history-period{white-space:nowrap;opacity:var(--interactive-hover-opacity);margin-left:.75em}.work-history-description{opacity:var(--interactive-hover-opacity);margin:0}@media (width<=700px){.work-history{grid-template-columns:1fr;row-gap:3rem;min-height:auto}.work-history-column{grid-column:1}.work-history-entry{font-size:clamp(1.25rem,5.5vw,2rem)}.work-history-preview{grid-area:2/1;width:100%;max-width:32rem;font-size:.9375rem}}@media (prefers-reduced-motion:reduce){.work-history-caption{transition:none}}.work-index{--route-gutter:var(--site-gutter);--index-row:36px;z-index:4;pointer-events:none;color:#fff;height:100%;font-family:var(--font-mono);letter-spacing:.04em;margin:0;font-size:clamp(.75rem,1.1vw,.875rem);position:absolute;inset:0}.work-index>button{top:var(--index-trigger-reference,var(--index-reference,50svh));left:var(--route-gutter);min-height:44px;color:inherit;font:inherit;cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:0;transition:opacity .15s;position:absolute;transform:translateY(-50%)}.work-index-centre{top:var(--index-reference,50svh);left:var(--route-gutter);position:absolute;transform:translateY(-50%)}.work-index ul{max-height:var(--index-max-height,70svh);max-width:var(--index-max-width,40vw);overscroll-behavior:contain;overflow-anchor:none;visibility:hidden;opacity:0;pointer-events:none;margin:0;padding:0;list-style:none;transition:opacity .24s,visibility .24s;overflow-y:auto}.work-index li{height:var(--index-row);transform:translateY(calc(var(--index-delta) * var(--index-row) * -1));transition:transform .28s cubic-bezier(.22,1,.36,1)}.work-index a{height:100%;color:inherit;white-space:nowrap;background:0 0;align-items:center;gap:1em;padding-inline:12px;text-decoration:none;display:flex;overflow:clip}.work-index a>span:first-child{flex-shrink:0}.work-index-title{text-overflow:ellipsis;min-width:0;overflow:hidden}.work-index a[aria-current]:before{content:"•";position:absolute;left:0}.work-index a:focus-visible,.work-index button:focus-visible{outline-offset:3px;outline:1px solid}.work-index[data-open] ul{visibility:visible;opacity:1;pointer-events:auto}.work-index[data-open] li{transform:none}.work-index[data-open]>button{opacity:0;pointer-events:none}.work-index:has(>button:focus-visible) ul{outline-offset:3px;outline:1px solid}.work-index[data-compact]{--index-row:44px;width:auto;inset:auto max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) auto;height:44px;margin:0;position:absolute}.work-index[data-compact]>button{background:#16181b99;padding:0 12px;position:relative;inset:auto;transform:none}.work-index[data-compact] .work-index-centre{inset:auto 0 44px auto;transform:none}.work-index[data-compact] ul{max-height:calc(100svh - 120px - env(safe-area-inset-bottom));max-width:calc(100vw - 32px)}.work-index[data-compact] li{height:44px}.work-index[data-compact] a{background:#16181bcc}.work-index[data-compact][data-open]>button{opacity:1;pointer-events:auto}@media (any-pointer:coarse){.work-index{--index-row:44px}}@media (prefers-reduced-motion:reduce){.work-index *,.work-index ul,.work-index>button,.work-index li{transition:none}}.work-pin-item .work-pin-stack{position:relative}.work-stack-reference{width:0;height:1lh;position:absolute;top:0;left:0}@media (width<=700px){.work-index{display:none}}.mobile-project-index{display:none}@media (width<=700px){.mobile-project-index{--index-safe-bottom:env(safe-area-inset-bottom,0px);--index-bar-height:calc(var(--navbar-height) + var(--index-safe-bottom));z-index:4;height:0;color:var(--color-ink);visibility:hidden;display:block;position:sticky;top:100dvh}.mobile-project-index[aria-hidden=false]{visibility:visible}.mobile-project-index>button{box-sizing:border-box;width:100%;height:var(--index-bar-height);padding:0 var(--nav-gutter) var(--index-safe-bottom);background:var(--color-paper);color:inherit;font-family:var(--font-sans);letter-spacing:.1em;cursor:pointer;border:0;border-radius:0;place-items:center;font-size:14px;font-weight:600;line-height:1;display:grid;position:absolute;inset:auto 0 0}.mobile-project-index>button:focus-visible{outline-offset:-4px;outline:1px solid}.mobile-index-menu{inset:auto 0 var(--index-bar-height);visibility:hidden;position:absolute}.mobile-project-index .menu-panel{height:auto;max-height:calc(100dvh - var(--index-bar-height) - var(--navbar-height));clip-path:inset(100% 0% 0%);align-content:start;position:relative;inset:auto}.mobile-project-index .menu-kicker{transform:translateX(calc(var(--nav-menu-width,44px) / -2));grid-column:2;margin:0 0 1.5rem}.mobile-project-index .menu-links a{font-size:clamp(2rem,8vw,2.75rem)}.mobile-project-index .menu-links a[aria-current]{opacity:var(--interactive-hover-opacity)}}html:has(.home-page){--home-controls-reveal:opacity .25s ease, visibility 0s}html:has(.home-page){background:var(--color-paper);overflow-anchor:none;height:auto;min-height:100%}html:has(.home-page) body{background:var(--color-paper);overflow-anchor:none;height:auto;min-height:100%}html:has(.home-page) #root{background:var(--color-paper);overflow-anchor:none;height:auto;min-height:100%}.home-page{--home-name-size:min(calc(72vw / 5.82979), calc(40svh / .72));color:var(--color-ink);display:flow-root}@media (width<=599px){.home-page{--home-name-size:min(calc(84vw / 5.82979), calc(40svh / .72))}}.home-hero{height:100svh}.home-stage{pointer-events:none;width:100%;height:100svh;position:relative}.home-page[data-enhanced] .home-stage{z-index:5;position:fixed;inset:0}.home-page:is([data-phase=hero],[data-phase=docking]) .home-stage:before{content:"";height:var(--home-dock-cover,var(--navbar-height));background:var(--color-paper);position:absolute;inset:0 0 auto}.home-name,.home-statement{white-space:nowrap;margin:0;position:absolute;left:50%;transform:translate(-50%)}.home-name{top:calc(45svh - var(--home-name-size) * .586875);font-family:var(--font-sans);font-size:var(--home-name-size);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);transform-origin:0 0;line-height:1}.home-statement{top:calc(45svh + var(--home-name-size) * .36 + max(24px, var(--home-name-size) * .32) - 8.90625px);font-family:var(--font-mono);letter-spacing:.14em;color:var(--color-ink-muted);font-size:15px;font-weight:400;line-height:1}.home-baseline{vertical-align:baseline;width:0;height:0;display:inline-block}.home-canvas{visibility:hidden;width:100%;height:100%;position:absolute;inset:0}.home-page[data-phase=playing] .home-canvas{visibility:visible}.home-scroll,.home-replay{font-family:var(--font-mono);letter-spacing:.14em;color:var(--color-ink-muted);cursor:pointer;pointer-events:none;white-space:nowrap;opacity:0;visibility:hidden;background:0 0;border:0;padding:8px 0;font-size:14px;line-height:1;transition:opacity .18s,visibility 0s linear .18s;position:absolute;bottom:28px}.home-scroll{left:50%;transform:translate(-50%)}.home-page[data-cue] .home-scroll,.home-page[data-cue] .home-replay{opacity:1;visibility:visible;pointer-events:auto;transition:var(--home-controls-reveal)}.home-page[data-phase=playing] .home-scroll,.home-page[data-phase=playing] .home-replay{transition:none}.home-scroll-arrow{letter-spacing:0;display:inline-block;transform:rotate(135deg)}.home-page[data-cue] .home-scroll-arrow{animation:2.5s .25s infinite home-scroll-nudge}@keyframes home-scroll-nudge{0%,15%,to{transform:translateY(0)rotate(135deg)}7.5%{transform:translateY(3px)rotate(135deg)}}@media (width<=599px){.home-scroll-detail{display:none}}.home-replay{right:var(--site-gutter);color:var(--color-ink-muted);cursor:pointer;background:0 0;border:0;padding:8px}@media (width<=599px){.home-replay{padding-inline:0;left:24px;right:auto}}@media (width<=360px){.home-replay{font-size:11px;left:16px}}.home-page[data-cue] .home-scroll:hover,.home-page[data-cue] .home-replay:hover{opacity:var(--interactive-hover-opacity)}.home-scroll:focus-visible,.home-replay:focus-visible,.home-links a:focus-visible{outline-offset:4px;outline:1px solid}.home-content{box-sizing:border-box;padding:var(--section-space) var(--site-gutter);position:relative}.home-content.home-description-section{padding-block:clamp(2rem,6svh,4rem);padding-top:calc(var(--section-space) * 1.6);padding-bottom:calc(var(--section-space) * 1.6)}.home-description{width:66.6667%;font-size:var(--lead-size);letter-spacing:-.01em;margin:0;line-height:1.3}.home-links{gap:24px;min-width:0;display:grid}.home-links a{color:inherit;font-size:var(--action-size);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);transition:opacity var(--motion-feedback) ease;justify-content:space-between;line-height:1.15;text-decoration:none;display:flex}.home-links a:hover{opacity:var(--interactive-hover-opacity)}.home-content.home-contact{grid-template-columns:var(--editorial-columns);align-content:center;min-height:40svh;display:grid}.home-contact .home-links{grid-column:2}.home-footer{padding-inline:var(--site-gutter)}.home-footer .project-nav{padding-block:var(--section-row-space)}@media (width<=700px){.home-description{width:100%}.home-content.home-contact{grid-template-columns:1fr}.home-contact .home-links{grid-column:1}}html[data-home-docked] .home-name,html[data-home-docked] .home-statement{opacity:0}@media (prefers-reduced-motion:reduce){html:has(.home-page){--home-controls-reveal:none}.home-scroll,.home-replay,.home-links a{transition:none}.home-page[data-cue] .home-scroll-arrow{animation:none}}.omnis-cursor{z-index:1000;pointer-events:none;opacity:0;mix-blend-mode:difference;contain:layout style;view-transition-name:omnis-cursor;position:fixed;inset:0}.omnis-cursor *{pointer-events:none}.cursor-orbit-position,.cursor-icon-position{will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.cursor-orbit,.cursor-icon,.cursor-label{position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.cursor-orbit{--cursor-diameter:30;width:calc(var(--cursor-diameter) * 1px);height:calc(var(--cursor-diameter) * 1px);overflow:visible}.cursor-orbit circle{stroke:currentColor;stroke-width:var(--cursor-stroke,1.5);opacity:var(--cursor-orbit-opacity,.1)}.cursor-orbit .cursor-orbit-progress{opacity:1;stroke-width:calc(var(--cursor-stroke,1.5) * 30 / var(--cursor-diameter))}.cursor-icon{fill:currentColor;width:15px;height:15px}.cursor-label{font-family:var(--font-mono);letter-spacing:.04em;opacity:0;font-size:11px;line-height:1}.project-head[id]{scroll-margin-top:calc(var(--navbar-height) + 1.5rem)}.project-hero>.hero-case-cue{z-index:4;clip-path:inset(0 -4px);pointer-events:none;width:max-content;height:2.75rem;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;color:color-mix(in srgb, var(--color-paper) 70%, transparent);font-size:.7rem;line-height:1;display:grid;position:absolute;bottom:1.75rem;left:50%;transform:translate(-50%)}.hero-case-cue[data-fixed]{position:fixed}.hero-case-indicator,.hero-case-exit{box-sizing:border-box;grid-area:1/1;place-items:center;min-height:2.75rem;margin:0;padding:0 .25rem;transition:transform .45s cubic-bezier(.25,1,.5,1);display:grid}.hero-case-indicator{pointer-events:auto;color:inherit;text-decoration:none}.hero-case-exit{pointer-events:none;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;transform:translateY(100%)}.hero-case-cue[data-mode=exit] .hero-case-indicator{pointer-events:none;transform:translateY(-100%)}.hero-case-cue[data-mode=exit] .hero-case-exit{pointer-events:auto;transform:translateY(0)}.hero-case-exit:focus-visible,.hero-case-indicator:focus-visible{outline-offset:-3px;outline:1px solid}@media (prefers-reduced-motion:reduce){.hero-case-indicator,.hero-case-exit{transition:none}}.project-hero>.hero-project-navigation{z-index:4;height:auto;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb, var(--color-paper) 70%, transparent);pointer-events:none;grid-template-columns:minmax(0,1fr) minmax(0,45%) minmax(0,1fr);align-items:center;gap:1rem;font-size:.7rem;line-height:1;display:grid;position:absolute;inset:auto 1.25rem 1.75rem}.hero-project-navigation a{pointer-events:auto;min-height:2.75rem;color:inherit;background:0 0;align-items:center;gap:.35em;padding-inline:0;text-decoration:none;display:flex}.hero-project-navigation [data-hero-previous]{grid-column:1;justify-self:start}.hero-project-navigation [data-hero-next]{grid-column:3;justify-self:end}@media (width<=400px){.hero-project-name{display:none}.hero-project-navigation a{box-sizing:border-box;justify-content:center;min-width:44px}}.hero-project-navigation a:focus-visible{opacity:1;pointer-events:auto;outline-offset:4px;outline:1px solid}@media (hover:hover) and (pointer:fine){.hero-project-navigation{pointer-events:none}.hero-project-navigation [data-hero-previous],.hero-project-navigation [data-hero-next]{opacity:0;pointer-events:none}.hero-project-navigation a:focus-visible{opacity:1;pointer-events:auto}}@media (hover:none),(pointer:coarse){.omnis-cursor{display:none}}::view-transition-group(omnis-cursor){z-index:100;animation:none}::view-transition-old(omnis-cursor){display:none}::view-transition-new(omnis-cursor){animation:none}html:has(.route){background:var(--color-paper);height:auto;min-height:100%}html:has(.route) body{background:var(--color-paper);height:auto;min-height:100%}html:has(.route) #root{background:var(--color-paper);height:auto;min-height:100%}html:has(.route){scrollbar-width:auto}.route{--route-gutter:var(--site-gutter);--route-display-space:calc(var(--navbar-height) + var(--section-space));min-height:100vh;color:var(--color-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.route a{color:inherit;text-underline-offset:.2em;transition:opacity var(--motion-feedback) ease;text-decoration-thickness:1px}.route a:hover{opacity:var(--interactive-hover-opacity)}.route a:focus-visible{outline-offset:3px;outline:1px solid}.route-main{max-width:72rem;padding:clamp(7rem, 16vh, 10rem) var(--route-gutter) 6rem;margin:0 auto}.route-title{letter-spacing:-.03em;margin:0 0 2rem;font-size:clamp(2.5rem,7vw,5.5rem);font-weight:500;line-height:1}.route-main:is(.about,.colophon,.contact){--route-gutter:var(--site-gutter);max-width:none}.route-main:is(.about,.colophon){padding-top:0}.route-display-header{box-sizing:border-box;padding-block:var(--route-display-space)}.route-display-title{font-family:var(--font-sans);font-size:var(--display-title-size);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);text-transform:uppercase;margin:0;line-height:1}.route-main.about{--recognition-space:calc(var(--editorial-row-gap) * 1.5);--about-description-space:calc(var(--section-space) * 1.6);--recognition-title-space:calc(var(--about-description-space) * 2 / 3);--recognition-caption-size:clamp(.875rem, 1vw, .9375rem)}.about-hero-frame{margin:0 calc(0px - var(--route-gutter))}.about-hero{background:var(--color-black);min-height:100svh;position:relative;overflow:clip}.about-hero[data-motion]{height:100svh}.about-hero img{object-fit:cover;object-position:65% center;width:100%;height:100%;display:block;position:absolute;inset:0}.about-hero:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(#0000 0%,#0000001f 30%,#00000052 60%,#0000008c 100%);position:absolute;inset:0}.about-hero-copy{z-index:1;padding-bottom:var(--section-space);color:var(--color-paper);text-shadow:0 1px 6px #00000059;position:relative}.about-hero-headline{box-sizing:border-box;height:100svh;padding:var(--route-gutter);align-items:flex-end;display:flex}.about-hero-description-column{grid-template-columns:var(--editorial-columns);margin:calc(var(--about-description-gap,var(--section-space)) * var(--about-gap-scale,1)) var(--route-gutter) 0;display:grid}.about-hero-description{font-size:var(--lead-size);letter-spacing:-.01em;grid-column:2;margin:0;line-height:1.3}.about-details{min-height:100svh}.about-journal{padding-top:calc(var(--section-space) * 1.5);padding-bottom:0}.about-introduction{width:calc(100% - var(--editorial-axis));margin-left:var(--editorial-axis);padding-block:calc(var(--about-description-space) * .75);color:var(--color-ink);font-family:var(--font-sans);font-size:calc(var(--lead-size) * .75);letter-spacing:-.01em;gap:1em;line-height:1.3;display:grid}.about-introduction p{margin:0}.about-introduction+.about-recognition{padding-top:0}.journal-spread{grid-template-columns:var(--editorial-columns);align-items:start;display:grid}.journal-spread+.journal-spread{margin-top:var(--section-space)}.journal-caption{padding-right:var(--route-gutter);grid-area:1/1;align-self:start}.journal-frame{aspect-ratio:3/4;grid-row:1;margin:0;position:relative;overflow:clip}.journal-frame[data-journal=diamond-beach]{aspect-ratio:2/3;grid-column:2;width:68%}.journal-frame[data-journal=concert]{grid-column:1;align-self:end;width:48%}.journal-frame[data-journal=sirmione]{aspect-ratio:9/16;grid-column:1;width:74%}.journal-frame[data-journal=flowers]{width:60%;margin-top:var(--section-space);aspect-ratio:3/4;grid-column:2}.journal-frame[data-journal=birthday]{aspect-ratio:4/3;grid-column:2;width:86%}.journal-frame[data-journal=cig]{width:52%;margin-top:var(--section-space);grid-column:1;align-self:end}.journal-media{object-fit:cover;transform-origin:50%;width:100%;height:100%;display:block}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.journal-media{transition:transform .38s cubic-bezier(.22,1,.36,1)}.journal-frame:hover .journal-media{transform:scale(1.025)}}@media (width<=700px){.about-introduction{width:100%;margin-left:0}.about-journal{flex-direction:column;gap:clamp(2rem,8svh,4rem);display:flex}.journal-spread{display:contents}.journal-spread+.journal-spread{margin-top:0}.journal-spread .journal-caption{order:-2}.journal-spread .journal-frame{align-self:start;width:100%;margin:0}.journal-spread .journal-frame:is([data-journal=concert],[data-journal=cig]){width:76%}.journal-spread .journal-frame:is([data-journal=diamond-beach],[data-journal=flowers]){width:82%}}.about-recognition{padding-block:var(--recognition-space)}.about-recognition h2{width:var(--editorial-axis);margin:0 0 calc(var(--recognition-title-space) - var(--editorial-row-gap));font-size:var(--recognition-heading-size,var(--display-title-size));font-weight:var(--display-weight);letter-spacing:var(--display-tracking);text-transform:uppercase;line-height:1}.about-recognition h2 span{white-space:nowrap;display:inline-block}.about-recognition dl{margin:0;display:grid}.recognition-row{--recognition-highlight:0;grid-template-columns:var(--editorial-columns);margin-inline:calc(0px - var(--route-gutter));padding:var(--editorial-row-gap) var(--route-gutter);align-items:center;display:grid;position:relative}.recognition-inverse{grid-template-columns:inherit;align-items:inherit;gap:inherit;padding:inherit;pointer-events:none;background:var(--color-ink);color:var(--color-paper);clip-path:inset(0 0 calc(100% * (1 - var(--recognition-highlight))) 0);margin:0;display:grid;position:absolute;inset:0}.recognition-caption{font-size:var(--recognition-caption-size);padding-right:2rem;line-height:1.2}.recognition-award{font-size:clamp(1rem,2.25vw,2.5rem);font-weight:var(--display-weight);letter-spacing:-.03em;text-transform:uppercase;overflow-wrap:anywhere;margin:0;line-height:1.2}.journal-caption{font-family:var(--font-mono);font-size:var(--metadata-size);letter-spacing:var(--metadata-tracking);text-transform:uppercase;color:var(--color-ink-muted);margin:0;font-weight:400}@media (width<=700px){.about-hero{--about-gap-scale:.25}.about-hero-description-column{grid-template-columns:1fr}.about-hero-description{grid-column:1}.about-recognition{--recognition-stack-gap:.5rem}.about-recognition h2{width:100%;margin-bottom:calc(var(--recognition-title-space) - var(--editorial-row-gap) - var(--recognition-caption-size) * 1.2 - var(--recognition-stack-gap))}.recognition-row{gap:var(--recognition-stack-gap);grid-template-columns:1fr}.recognition-caption{padding-right:0}.recognition-award{font-size:clamp(1.25rem,5.5vw,2rem)}}.not-found-kicker{font-family:var(--font-mono);letter-spacing:.12em;color:var(--color-ink-muted);margin:0 0 1.5rem;font-size:.75rem}.not-found-text{color:var(--color-ink-muted);margin:0 0 2.5rem;font-size:1.15rem}.not-found-links{font-family:var(--font-mono);letter-spacing:.04em;flex-wrap:wrap;gap:1.5rem;margin:0;font-size:.85rem;display:flex}.contact-section{border-top:1px solid var(--color-rule);grid-template-columns:minmax(8rem,1fr) 3fr;gap:1rem 2rem;padding:2rem 0;display:grid}.contact-section h2,.contact-clock-meta{font-family:var(--font-mono);font-size:var(--metadata-size);letter-spacing:var(--metadata-tracking);text-transform:uppercase;color:var(--color-ink-muted);margin:0;font-weight:400}.contact-links{font-family:var(--font-mono);flex-wrap:wrap;gap:.6rem 1.75rem;margin:0;padding:0;font-size:.95rem;line-height:1.5;list-style:none;display:flex}.contact-email{font-size:var(--contact-link-size);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0}.route-main.contact{--contact-link-size:clamp(1.3rem, 2.4vw, 2.5rem);box-sizing:border-box;min-height:100dvh;padding-bottom:max(8px, env(safe-area-inset-bottom));flex-direction:column;display:flex}.contact>section,.contact-spread{flex-shrink:0}.contact-spread{grid-template-columns:var(--editorial-columns);padding-block:var(--section-row-space);border-top:1px solid var(--color-rule);row-gap:2rem;display:grid}.contact .contact-section{border:0;flex-direction:column;align-items:flex-start;gap:1.25rem;min-width:0;padding:0;display:flex}.contact-spread>.contact-section:first-child{padding-right:1.5rem}.contact .contact-links{font-family:var(--font-sans);font-size:var(--contact-link-size);letter-spacing:-.02em;flex-direction:column;gap:.35rem;line-height:1.3}.contact-clock{margin-top:auto;padding-top:clamp(1.25rem,3.5svh,2.5rem)}.contact-clock-face{grid-template-columns:var(--editorial-columns);font-family:var(--font-sans);font-size:clamp(1.5rem,7.5vw,7rem);font-weight:var(--display-weight);letter-spacing:0;align-items:baseline;line-height:.85;display:grid;overflow:clip}.contact-clock-time{color:var(--color-ink-decorative);font-variant-numeric:tabular-nums;white-space:nowrap}.contact-clock-face h2{font:inherit;color:var(--color-ink);margin:0}.contact-clock-meta{grid-template-columns:var(--editorial-columns);margin:0 0 1rem;line-height:1.4;display:grid}@media (width<=700px){.contact-spread{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.route a{transition:none}}html[data-page-transition]::view-transition-group(root){animation:none}html[data-page-transition]::view-transition-group(omnis-navbar){animation:none}html[data-page-transition]::view-transition-image-pair(root){isolation:isolate}html[data-page-transition]::view-transition-new(root){mix-blend-mode:normal;z-index:1;animation:none}html[data-page-transition]::view-transition-old(root){mix-blend-mode:normal;z-index:2;clip-path:inset(0% 0% var(--page-cut,0%) 0%);transform:translateY(var(--page-drift,0px));filter:brightness(var(--page-brightness,1));animation:30s linear both page-snapshot-hold}@keyframes page-snapshot-hold{0%,to{opacity:1}}.navbar{view-transition-name:omnis-navbar}html[data-page-transition]::view-transition-group(omnis-navbar){z-index:3}html[data-page-transition]::view-transition-old(omnis-navbar){display:none}html[data-page-transition]::view-transition-new(omnis-navbar){mix-blend-mode:normal;animation:none}.page-transition-error{z-index:100;background:var(--color-paper);color:var(--color-ink);border:1px solid;padding:1rem;position:fixed;bottom:1rem;left:1rem;right:1rem}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}}.route-main.work,.route-main.project{max-width:none;padding-left:0;padding-right:0}.route-main.work{padding-top:0;padding-bottom:0}.route-main.project{--route-gutter:var(--site-gutter);padding-top:0}.work-list{--route-gutter:var(--site-gutter);padding-bottom:var(--work-end-travel,0px);position:relative;overflow:clip}.work-pin{z-index:2;color:#fff;pointer-events:none;height:100svh;margin-bottom:-100svh;display:grid;position:sticky;top:0}.work-pin-item{box-sizing:border-box;width:100%;padding:0 var(--route-gutter) 0 var(--editorial-axis);text-align:left;opacity:0;transition:opacity var(--motion-caption) ease, transform var(--motion-caption) ease;grid-area:1/1;grid-template-rows:auto auto auto;grid-template-columns:1fr auto;align-self:start;align-items:start;gap:.85rem 1.5rem;margin-top:calc(50svh - 4.5rem);display:grid;transform:translateY(.75rem)}.work-pin-item[data-on=true]{opacity:1;transform:none}.work-pin-text{display:contents}.work-pin-number,.work-pin-title,.work-pin-role{grid-column:1;justify-self:start}.work-pin-number,.work-pin-stack{font-family:var(--font-mono);letter-spacing:.04em;font-size:clamp(.75rem,1.1vw,.875rem)}.work-pin-number{letter-spacing:.12em;text-transform:uppercase}.work-pin-title{font-size:clamp(2.75rem,5.5vw,5.75rem);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);overflow-wrap:anywhere;grid-area:2/1/auto/-1;line-height:1}.work-pin-role{grid-row:3;align-self:baseline;max-width:34ch;font-size:clamp(1rem,1.3vw,1.1875rem);font-weight:500;line-height:1.5}.work-pin-stack{text-align:right;opacity:1;grid-area:3/2;align-self:baseline;max-width:18rem}.work-entry{height:auto;padding:0;text-decoration:none;display:block;position:relative}.work-entry-media{isolation:isolate;background:var(--color-ink);height:auto;position:relative;overflow:hidden}.work-entry-media:after{content:"";z-index:2;background:linear-gradient(180deg, rgb(0 0 0/var(--reel-shade-top,.56)) 0%, rgb(0 0 0/var(--reel-shade-bottom,.6)) 100%);pointer-events:none;position:absolute;inset:0}.work-entry[data-project=nodal]{--reel-shade-top:.72;--reel-shade-bottom:.76}.work-entry[data-project=grimoire],.work-entry[data-project=argus]{--reel-shade-top:.54;--reel-shade-bottom:.58}.work-entry[data-project=verso]{--reel-shade-top:.56;--reel-shade-bottom:.6}.work-pin-number,.work-pin-role,.work-pin-stack,.work-entry-caption>p{text-shadow:0 1px 3px #00000040}a.work-entry:hover{opacity:1}a.work-entry:focus-visible{outline-offset:-4px}.work-entry .media-frame{height:100svh}.work-entry .media-video{aspect-ratio:8/5;object-fit:cover;height:auto}.work-entries{position:relative}.work-list[data-scroll-eased]{padding-bottom:var(--work-end-travel,calc(var(--work-entry-count) * 16svh))}.media-video{object-fit:cover;background:var(--color-ink);width:100%;height:100%;display:block}.media-frame{box-sizing:border-box;color:#ffffff8c;width:100%;height:100%;font-family:var(--font-mono);background:linear-gradient(#ffffff0f 1px, transparent 1px) 0 0 / 100% 4rem, linear-gradient(90deg, #ffffff0f 1px, transparent 1px) 0 0 / 4rem 100%, radial-gradient(120% 90% at 20% 10%, #2a2d32 0%, var(--color-ink) 70%);flex-direction:column;justify-content:space-between;margin:0;padding:clamp(1rem,3vw,2rem);display:flex;position:relative}.media-frame-number{letter-spacing:.12em;text-transform:uppercase;font-size:clamp(.75rem,1.6vw,.95rem)}.media-frame-still{background:#101213;padding:0;overflow:hidden}.media-frame-still>img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.media-frame-label{letter-spacing:.14em;text-transform:uppercase;border-top:1px solid;align-self:flex-start;padding-top:.6rem;font-size:.7rem}.project-stage{position:relative}.project-hero{box-sizing:border-box;height:100svh;padding:0;position:relative}@media (aspect-ratio<=1){.project-hero .media-video{object-position:var(--hero-focus,50% 50%)}}.project-hero-nav-zone{pointer-events:none;visibility:hidden;width:1px;height:100svh;position:absolute;top:0;left:0}.project-stage~*{background:var(--color-paper);position:relative}@media (prefers-reduced-motion:no-preference){.project-stage{margin-bottom:-100svh}.project-stage:after{content:"";height:100svh;display:block}.project-hero{position:sticky;top:0}.project-hero-nav-zone{height:50svh}}.project-exploring .project-stage{margin-bottom:0}.project-exploring .project-stage:after{display:none}.project-exploring .project-hero{position:relative}.project-hero:not(:has(.loader,.verso-loading)):after{content:"";z-index:3;height:calc(var(--navbar-height) + 2rem);pointer-events:none;background:linear-gradient(to bottom, #000000a3, #0009 var(--navbar-height), transparent);position:absolute;top:0;left:0;right:0}.project-hero:has(.verso-hero[data-fixed]):after{position:fixed}.project-hero>*{height:100%}.project-head,.case-section,.project>.project-nav,.project>.next-page{max-width:none;padding-left:var(--route-gutter);padding-right:var(--route-gutter);box-sizing:border-box;margin-left:auto;margin-right:auto}.project-head{padding-top:calc(var(--section-space) + 2rem);padding-bottom:var(--section-space)}.project-number{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-muted);margin:0 0 1rem;font-size:.75rem;font-weight:400}.project-quote,.project-stats dd{font-size:clamp(3rem,11vw,8rem);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);overflow-wrap:anywhere;margin:0;line-height:1}.project-tagline{width:66.6667%;margin:calc(max(3rem, var(--section-space)) + .75rem) 0;font-size:var(--lead-size);letter-spacing:-.01em;line-height:1.3}.project-meta{flex-wrap:wrap;gap:1rem 3rem;margin:0;display:flex}.project-meta dt{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-muted);font-size:.7rem}.project-meta dd{margin:.3rem 0 0;line-height:1.4}.case-section{padding-top:var(--section-row-space);padding-bottom:var(--section-row-space);grid-template-columns:minmax(8rem,1fr) 3fr;gap:1rem 2rem;display:grid;position:relative}.case-section:before{content:"";top:0;left:var(--route-gutter);right:var(--route-gutter);border-top:1px solid var(--color-rule);position:absolute}.case-section h2{font-family:var(--font-mono);font-size:var(--metadata-size);letter-spacing:var(--metadata-tracking);text-transform:uppercase;color:var(--color-ink-muted);margin:0;font-weight:400}.case-body{gap:1rem;max-width:44rem;line-height:1.55;display:grid}.case-body p{margin:0}.project-stack{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.project-stack li,.project-stats dt,.project-stats-note{font-family:var(--font-mono);font-size:.8rem;line-height:1.6}.project-stack li:not(:last-child):after{content:" /";color:var(--color-ink-muted);margin-left:.5rem}.project-nav{grid-template-columns:minmax(0, var(--editorial-axis)) minmax(0, 1fr) minmax(0, 1fr);font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-ink);background:var(--color-paper);align-items:start;row-gap:1rem;padding-top:3rem;font-size:.85rem;display:grid}.project-nav[data-theme=dark]{color:var(--color-paper);background:var(--color-ink)}.project-nav a{overflow-wrap:anywhere;min-width:0;color:inherit;text-decoration:none}.project-nav a:focus-visible{outline-offset:3px;outline:1px solid}.project-nav-prev{grid-column:1;justify-self:start;padding-right:1rem}.project-nav-all{grid-column:2;justify-self:start;padding-right:.75rem}.project-nav-next{text-align:right;grid-column:3;justify-self:end}.project-nav-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.project-nav-pair .project-nav-next{grid-area:1/2}.work>.project-nav{padding:3rem var(--route-gutter)}.work-entry-caption{display:none}.project-view-cue{pointer-events:none;display:none}@media (width<=1100px){.work-pin-item{grid-template-columns:1fr}.work-pin-stack{text-align:left;grid-area:4/1;max-width:none}}@media (width<=700px){.work-list{background:var(--color-black);padding-bottom:0;overflow:visible}.project-view-cue{z-index:3;color:#fff;box-shadow:none;text-shadow:none;filter:none;-webkit-backdrop-filter:none;backdrop-filter:none;font-family:var(--font-mono);letter-spacing:.08em;white-space:nowrap;background:0 0;border:0;border-radius:0;padding:0;font-size:.75rem;font-weight:400;line-height:1;display:inline-flex;position:absolute;bottom:.75rem;right:1rem}.project-view-cue[data-tone=light]{color:#111}.project-nav-next{grid-area:2/2/auto/-1}.work-pin-item{display:none}.work-entry-media{--preview-scrim-x:50%}.work-entry-caption{z-index:1;top:50%;left:var(--site-gutter);right:var(--site-gutter);color:#fff;padding:0;display:block;position:absolute;transform:translateY(-50%)}.work-entry-caption h2{font-size:clamp(1.75rem,7vw,2.75rem);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);margin:0;line-height:1.2}.work-entry-caption>p,.work-entry-caption .work-pin-stack{display:none}.work-entry .media-frame{aspect-ratio:8/5;height:auto}.work-entry .media-frame-number{visibility:hidden}.case-section{grid-template-columns:1fr}.project-tagline{width:100%}.work-pin-item{padding-left:var(--route-gutter);grid-template-columns:1fr;gap:1rem}.work-pin-stack{text-align:left;grid-area:4/1;max-width:none}}@media (prefers-reduced-motion:reduce){.work-pin-item,.work-entry .media-video,.work-entry .media-frame{transition:none}.work-entry:hover .media-video,.work-entry:hover .media-frame{transform:none}}.case-performance{--performance-gap:clamp(3rem, 6vw, 5rem);gap:var(--performance-gap);grid-template-columns:1fr}.case-body:has(.project-stats){gap:1rem;max-width:none}.project-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 0;margin:0;display:grid}.project-stats>div{padding-bottom:calc(var(--performance-gap) - 1.25rem);text-align:left;flex-direction:column;gap:1.25rem;display:flex}.project-stats dd{color:var(--color-ink);order:-1}.project-stats dt{text-transform:uppercase;color:var(--color-ink-muted)}.project-stats-note{color:var(--color-ink-muted)}@media (width<=700px){:is(.project:has(#nodal-content) .hero-case-indicator,.project:has(#nodal-content) .hero-project-navigation){color:var(--color-black);text-shadow:none}.project-stats{grid-template-columns:1fr}}.project-hero>.live-demo{color:var(--color-paper);display:block;position:relative}.route a.live-demo:hover{opacity:1}.route a.live-demo:focus-visible{outline:2px solid var(--color-ink);outline-offset:-4px}.live-demo:focus-visible:after{content:"";border:2px solid var(--color-paper);pointer-events:none;position:absolute;inset:5px}.live-demo-explore{left:var(--route-gutter);pointer-events:none;mix-blend-mode:difference;align-items:center;display:inline-flex;position:absolute;bottom:1.75rem}@media (hover:hover) and (pointer:fine){.live-demo-explore{opacity:0}.live-demo:focus-visible .live-demo-explore{opacity:1}}@media (hover:none),(pointer:coarse){.live-demo-explore{bottom:5.5rem;left:50%;transform:translate(-50%)}}@font-face{font-family:Geist;src:url(/fonts/geist/Geist-latin.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2116,U+2122,U+2190-2199,U+2212,U+2215}@font-face{font-family:Geist Mono;src:url(/fonts/geist/GeistMono-latin.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2116,U+2122,U+2190-2199,U+2212,U+2215}:root{--site-gutter:clamp(1.5rem, 3vw, 2.75rem);--interactive-hover-opacity:.6;--font-sans:"Geist", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, Menlo, monospace;--display-title-size:clamp(2rem, 12.35vw, 16rem);--display-weight:700;--display-tracking:0;--lead-size:clamp(1.6rem, 3.2vw, 3rem);--project-title-size:clamp(1.8rem, 4vw, 3.5rem);--action-size:clamp(2rem, 6vw, 4.5rem);--metadata-size:.75rem;--metadata-tracking:.1em;--section-space:12svh;--section-row-space:2rem;--editorial-row-gap:clamp(.75rem, 2svh, 1.5rem);--editorial-axis:calc(50% - var(--nav-menu-width,44px) / 2);--editorial-columns:minmax(0, var(--editorial-axis)) minmax(0, 1fr);--motion-feedback:.18s;--motion-caption:.3s;--color-paper:#f1f3f5;--color-ink:#16181b;--color-ink-muted:#5d6168;--color-on-dark:var(--color-paper);--color-on-dark-muted:#a7a9ac;--color-ink-decorative:#7a7f86;--color-rule:color-mix(in srgb, var(--color-ink) 14%, transparent);--color-rule-strong:var(--color-ink);--color-black:#000}html,body,#root{background:var(--color-black);height:100%;margin:0}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.journey-spacer{pointer-events:none}.stage{position:fixed;inset:0}.stage:focus-visible{outline-offset:-4px;outline:1px solid #fff9}.overlay{pointer-events:none;color:var(--color-paper);position:fixed;inset:0}.overlay:before{content:"";pointer-events:none;background-image:linear-gradient(#00000073,#0000);height:170px;position:absolute;top:0;left:0;right:0}.overlay a{pointer-events:auto;color:inherit}.overlay a:focus-visible{outline-offset:4px;outline:1px solid}.project-link{letter-spacing:.08em;white-space:nowrap;border-bottom:1px solid color-mix(in srgb, var(--color-paper) 40%, transparent);padding-bottom:2px;font-size:.75rem;text-decoration:none;position:absolute;bottom:4.5rem;transform:translate(-50%)}.project-link:hover{border-bottom-color:currentColor}.project-link[data-side=left]{left:32%}.project-link[data-side=right]{left:68%}.spread-label{letter-spacing:.12em;white-space:nowrap;color:color-mix(in srgb, var(--color-paper) 80%, transparent);margin:0;font-size:.75rem;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.spread-label[hidden]{display:none}.spread-texts{--text-scale:1;--text-gap:18px}.spread-text{bottom:calc(100% - var(--spread-top) + var(--text-gap));box-sizing:border-box;width:calc((var(--book-right) - var(--book-left)) / 2 - 1.5rem);opacity:0;visibility:hidden;isolation:isolate;will-change:transform, opacity;color:var(--color-paper);text-shadow:0 0 6px #00000080,0 1px 18px #00000073;pointer-events:none;will-change:opacity, transform;position:absolute}.spread-text[data-side=left]{bottom:calc(100% - var(--text-floor-left) + var(--text-gap));left:var(--book-left);text-align:left}.spread-text[data-side=right]{bottom:calc(100% - var(--text-floor-right) + var(--text-gap));right:calc(100% - var(--book-right));text-align:right}.spread-text:before{content:"";z-index:-1;background:radial-gradient(closest-side at 50% 55%,#0c08046b,#0c080433 60%,#0c080400 100%);position:absolute;inset:-1.25rem -1.5rem -1rem}.spread-text p,.spread-text h2{margin:0}.spread-text-number{font-family:var(--font-mono);font-size:calc(clamp(.7rem, 1.4vw, .85rem) * var(--text-scale));letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--color-paper) 88%, transparent);align-items:center;gap:.6rem;display:flex}.spread-text[data-side=right] .spread-text-number{justify-content:flex-end}.spread-text-title{font-size:calc(clamp(1.8rem, 4vw, 3.5rem) * var(--text-scale));letter-spacing:-.03em;white-space:nowrap;font-weight:500;line-height:1;margin-top:.3em!important}.spread-text-line{max-width:28rem;font-size:calc(clamp(.9rem, 1.3vw, 1.05rem) * var(--text-scale));text-wrap:balance;color:color-mix(in srgb, var(--color-paper) 92%, transparent);line-height:1.35;margin-top:.55em!important}.spread-text[data-side=right] .spread-text-line{margin-left:auto}.spread-text-cue{background:var(--color-paper);width:.45rem;height:.45rem;box-shadow:0 0 0 0 color-mix(in srgb, var(--color-paper) 60%, transparent);opacity:0;border-radius:50%;transition:opacity .25s}.spread-text[data-side=right] .spread-text-cue{order:-1}.spread-text[data-playing=true] .spread-text-cue{opacity:1;animation:1.8s ease-out infinite spread-cue}@keyframes spread-cue{to{box-shadow:0 0 0 .5rem #0000}}@media (prefers-reduced-motion:reduce){.spread-text-cue{transition:none;animation:none!important}}.caption{box-sizing:border-box;isolation:isolate;opacity:0;text-shadow:0 0 6px #0000008c,0 1px 18px #00000073;pointer-events:none;transition:opacity .6s;position:absolute;top:0;left:0}.caption:before{content:"";z-index:-1;background:radial-gradient(closest-side,#0c080480,#0c080447 55%,#0c080400 100%);position:absolute;inset:-1.5rem -2rem -1.5rem -1.25rem}.caption[data-visible=true]{opacity:1}.caption p{margin:0}.caption[data-layout=below]{text-align:center}.caption-title{font-family:var(--font-sans);letter-spacing:.04em;margin:.2rem 0 .35rem;font-size:2rem;font-weight:500;line-height:1.1}.caption-text{font-family:var(--font-sans);color:color-mix(in srgb, var(--color-paper) 90%, transparent);font-size:.8125rem;line-height:1.5}@media (prefers-reduced-motion:reduce){.caption{transition:none}}html[data-loader],html[data-loader] body,html[data-loader] #root{background:var(--color-paper)}html[data-loader]{--loader-chrome:0}.loader{background:var(--color-paper);color:var(--color-ink);pointer-events:auto;position:fixed;inset:0}.loader-text{letter-spacing:.02em;text-shadow:none;justify-content:space-between;font-size:clamp(12px,1.5vw,16px);font-weight:600;line-height:1;display:flex;position:absolute;top:50%;left:.75rem;right:.75rem;transform:translateY(-50%)}.loader-percent{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.overlay:before{opacity:var(--loader-chrome,1)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.expand{top:calc(var(--spread-top) - 48px);width:44px;height:44px;color:inherit;pointer-events:auto;cursor:pointer;background:0 0;border:0;padding:10px;display:none;position:absolute}.expand[data-side=left]{left:calc(var(--spread-far-left) - 10px)}.expand[data-side=right]{right:calc(100% - var(--spread-far-right) - 10px)}.expand svg,.artwork-view-close svg{width:100%;height:100%;display:block}.expand:focus-visible,.artwork-view-close:focus-visible{outline:1px solid}.artwork-view{box-sizing:border-box;background:var(--color-black);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--color-paper);font-family:var(--font-sans);pointer-events:auto;border:0;margin:0;padding:64px 16px}html:has(.artwork-view[open]){overflow:hidden}.artwork-view[open]{flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.artwork-view::backdrop{background:var(--color-black)}.artwork-view picture{display:contents}.artwork-view-art{object-fit:contain;max-width:100%;max-height:calc(100% - 3rem);display:block}.artwork-view-title{letter-spacing:.12em;text-align:center;color:color-mix(in srgb, var(--color-paper) 80%, transparent);margin:0;font-size:.75rem}.artwork-view-close{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;padding:12px;position:absolute;top:12px;right:12px}@media (hover:none),(pointer:coarse){.expand{display:block}.project-link:after{content:"";position:absolute;inset:-14px -8px}}@media (orientation:portrait){.project-link{bottom:auto;top:calc(var(--spread-bottom) + 20px)}.project-link[data-side=left]{left:calc((var(--spread-near-left) + 50%) / 2)}.project-link[data-side=right]{left:calc((var(--spread-near-right) + 50%) / 2)}.spread-label{white-space:normal;text-align:center;width:calc(100% - 15rem);line-height:1.6}}
