@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/a2947afc6a06879b-s.138s14ivx2xer.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/651aaf1801011892-s.3b2emle-7szv-.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/75affa71d1e2f6a7-s.p.13rul5q9jl2r0.woff2)format("woff2");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+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.archivo_8d384f10-module__Qarjca__className{font-family:Archivo,Archivo Fallback;font-style:normal}.archivo_8d384f10-module__Qarjca__variable{--font-display-loaded:"Archivo", "Archivo Fallback"}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.woff2)format("woff2");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+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_4bb9fdf3-module__GM4SKG__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_4bb9fdf3-module__GM4SKG__variable{--font-body-loaded:"Manrope", "Manrope Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-paper:#040403;--color-paper-2:#0a0906;--color-sheet:#13110e;--color-sheet-raised:#1a1814;--color-ink:#efeeeb;--color-ink-2:#c6c4bf;--color-muted:#9e9b94;--color-rule:#282622;--color-rule-strong:#4f4d47;--color-accent:#eed059;--color-accent-strong:#cfaf1d;--color-accent-ink:#0b0905;--color-focus:#5eb9ff;--font-display:var(--font-display-loaded), Arial, Helvetica, sans-serif;--font-body:var(--font-body-loaded), "Segoe UI", Arial, Helvetica, sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.953rem;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--dur-micro:.1s;--dur-short:.16s;--dur-page:.18s;--rule-hair:1px;--radius-control:0;--z-base:1;--z-raised:10}@supports (color:lab(0% 0 0)){:root{--color-paper:lab(1.05149% .0123307 .459513);--color-paper-2:lab(2.49298% .0328198 1.13996);--color-sheet:lab(5.29564% .0526831 2.17004);--color-sheet-raised:lab(8.40121% .074029 3.31846);--color-ink:lab(94.2209% -.0106394 1.52533);--color-ink-2:lab(79.1561% -.00989437 2.67502);--color-muted:lab(64.0905% .00286102 3.83301);--color-rule:lab(15.3584% .0364035 3.09166);--color-rule-strong:lab(32.7689% .0291616 3.85207);--color-accent:lab(84.2961% 1.16038 60.9532);--color-accent-strong:lab(72.6618% 2.4367 69.8582);--color-accent-ink:lab(2.49755% .0737831 1.5812);--color-focus:lab(71.8423% -11.6804 -45.8755)}}.studio-page{--color-paper:#f6f6f0;--color-paper-2:#eeeee6;--color-sheet:#e7e8df;--color-sheet-raised:#dddfd3;--color-ink:#25291f;--color-ink-2:#505448;--color-muted:#626658;--color-rule:#d5d8cb;--color-rule-strong:#89917d;--color-accent:#4d5c3d;--color-accent-strong:#36452b;--color-accent-ink:#f6f6f0;--color-focus:#4a672e}.experience{--color-paper:#141719;--color-paper-2:#1c2022;--color-sheet:#252a2c;--color-sheet-raised:#32383a;--color-ink:#f0f0e9;--color-ink-2:#c3c8c7;--color-muted:#a0a8a8;--color-rule:#343b3d;--color-rule-strong:#667272;--color-accent:#d8ee9e;--color-accent-strong:#c0dc7e;--color-accent-ink:#20251a;--color-focus:#d8ee9e}
*{box-sizing:border-box}html,body{min-height:100%;overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}button,select,a{font:inherit}button,select,.text-link,.site-name{min-height:44px}button,select,a{-webkit-tap-highlight-color:transparent}button:focus-visible,select:focus-visible,a:focus-visible,.reader-surface:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}h1,p{overflow-wrap:anywhere;min-width:0}h1,strong{font-family:var(--font-display);font-style:normal}.viewer-page,.work-page{width:100%;min-height:100svh;padding:0 clamp(var(--space-3), 2vw, var(--space-5)) var(--space-3);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.site-header,.site-footer{align-items:center;gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto;display:grid}.visitor-counter{padding:var(--space-1) var(--space-2);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-2);color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;pointer-events:none;justify-self:start;margin-block-start:var(--space-2);line-height:1;position:static}.site-header{border-bottom:var(--rule-hair) solid var(--color-rule);min-height:60px}.site-name{width:max-content;color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.04em;white-space:nowrap;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.site-discipline{color:var(--color-muted);font-size:var(--text-sm);display:none}.text-link{width:max-content;color:var(--color-ink-2);-webkit-text-decoration-color:var(--color-rule-strong);text-decoration-color:var(--color-rule-strong);text-underline-offset:.28em;white-space:nowrap;justify-content:flex-end;align-items:center;display:inline-flex}.site-name:active{color:var(--color-ink)}.text-link:active{color:var(--color-accent);transform:translateY(1px)}.viewer-layout{gap:var(--space-4);min-width:0;padding-block:var(--space-3);display:grid}.document-rail{gap:var(--space-4);order:2;min-width:0;display:grid}.profile-intro{min-width:0;padding-bottom:var(--space-3);border-bottom:var(--rule-hair) solid var(--color-rule)}.profile-identity{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.profile-identity>div{min-width:0}.profile-photo{width:var(--space-9);height:var(--space-9);border:var(--rule-hair) solid var(--color-rule-strong);object-fit:cover;display:block}.profile-intro h2{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md);text-wrap:balance;margin:0;line-height:1.1}.profile-role,.profile-summary{color:var(--color-muted);font-size:var(--text-sm);text-wrap:pretty;line-height:1.5}.profile-role{max-width:28ch;margin:var(--space-1) auto 0}.profile-summary{max-width:65ch;margin:var(--space-4) auto 0;text-align:start}.profile-links{align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.profile-icon-link{width:44px;height:44px;color:var(--color-ink-2);transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.profile-icon-link svg{fill:currentColor;width:1rem;height:1rem;display:block}.profile-icon-link:active{background:var(--color-sheet-raised);color:var(--color-ink);transform:translateY(1px)}.archive-panel{display:none}.viewer-workspace,.detail-workspace{align-content:start;gap:var(--space-3);min-width:0;display:grid}.viewer-workspace{order:1}.workspace-tabs{align-items:center;gap:var(--space-2);min-width:0;padding-bottom:var(--space-2);border-bottom:var(--rule-hair) solid var(--color-rule);display:flex}.workspace-tabs button{border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-paper-2);min-height:44px;color:var(--color-muted);padding-inline:var(--space-4);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);font-weight:700;box-shadow:inset 0 -2px #0000}.workspace-tabs button[aria-selected=true]{border-color:var(--color-rule-strong);background:var(--color-sheet);color:var(--color-ink);box-shadow:inset 0 -2px 0 var(--color-accent)}.workspace-tabs button:active{color:var(--color-ink);transform:translateY(1px)}.workspace-tabs button:disabled{cursor:not-allowed;opacity:.5}.project-gallery,.documents-panel{gap:var(--space-3);min-width:0;display:grid}.gallery-heading{gap:var(--space-3);min-width:0;padding-block:var(--space-2) var(--space-3);display:grid}.gallery-heading h1{color:var(--color-ink);letter-spacing:-.05em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,5vw,3rem);font-weight:700;line-height:1}.gallery-heading p,.gallery-heading>span{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.5}.gallery-heading>span{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.gallery-grid{gap:var(--space-3);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.gallery-grid li{min-width:0}.gallery-item{border-radius:var(--radius-control);width:100%;min-width:0;height:100%;color:var(--color-ink);text-align:start;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);background:0 0;border:0;padding:0;text-decoration:none;display:grid}.gallery-item:active{background:var(--color-paper-2);transform:translateY(1px)}.gallery-item:disabled{cursor:not-allowed;opacity:.5}.gallery-placeholder{aspect-ratio:16/10;border:var(--rule-hair) solid var(--color-rule-strong);background:var(--color-sheet);min-width:0;color:var(--color-ink-2);display:block;position:relative;overflow:hidden}.gallery-placeholder img{object-fit:cover;width:100%;height:100%;display:block}.project-hero img,.project-visuals img{background:var(--color-sheet);width:100%;height:auto;display:block}.gallery-copy{gap:var(--space-1) var(--space-3);min-width:0;padding:var(--space-3) var(--space-2) var(--space-4);border-bottom:var(--rule-hair) solid var(--color-rule);grid-template-columns:minmax(0,1fr) auto;display:grid}.gallery-copy small{color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;grid-column:1/-1;font-weight:700}.gallery-copy strong{min-width:0;color:var(--color-ink);font-size:var(--text-md);letter-spacing:-.03em;overflow-wrap:anywhere;line-height:1.1}.gallery-copy>span:not(.gallery-action){color:var(--color-muted);font-size:var(--text-sm);grid-column:1/-1;line-height:1.5}.gallery-action{color:var(--color-ink-2);font-size:var(--text-xs);white-space:nowrap;align-self:start;font-weight:700}.mobile-document-picker{display:block}.document-picker{gap:var(--space-1);color:var(--color-muted);font-size:var(--text-sm);display:grid}.document-picker select{border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-control);outline-offset:1px;background:var(--color-sheet);width:100%;min-height:44px;color:var(--color-ink);padding-inline:var(--space-3);cursor:pointer;outline:3px solid #0000}.document-picker select:active{background:var(--color-sheet-raised);color:var(--color-ink)}.document-picker select:disabled{cursor:not-allowed;opacity:.55}.document-bar{justify-content:space-between;align-items:end;gap:var(--space-4);min-width:0;padding-bottom:var(--space-3);border-bottom:var(--rule-hair) solid var(--color-rule);display:flex}.document-heading{min-width:0}.document-heading h1{color:var(--color-ink);letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:700;line-height:1.08}.document-heading p{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.45}.document-meta{align-items:center;gap:var(--space-3);color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;display:flex}.document-category{border:var(--rule-hair) solid var(--color-rule-strong);color:var(--color-ink-2);padding:var(--space-1) var(--space-2);font-weight:700;line-height:1}.detail-workspace{padding-block:var(--space-3)}.project-post{gap:var(--space-7);width:min(100%,76rem);min-width:0;padding-block:var(--space-5);margin-inline:auto;display:grid}.project-post-header{gap:var(--space-6);padding-bottom:var(--space-5);border-bottom:var(--rule-hair) solid var(--color-rule);display:grid}.project-post-title{min-width:0}.project-post-title h1{letter-spacing:-.06em;text-wrap:balance;margin:0;font-size:clamp(2.5rem,9vw,6rem);line-height:1}.project-post-title p{max-width:65ch;margin:var(--space-3) 0 0;color:var(--color-muted);line-height:1.5}.project-facts{gap:var(--space-3);margin:0;display:grid}.project-facts div{gap:var(--space-3);padding-top:var(--space-3);border-top:var(--rule-hair) solid var(--color-rule);grid-template-columns:minmax(7rem,.35fr) minmax(0,1fr);display:grid}.project-facts dt{color:var(--color-muted);font-size:var(--text-sm)}.project-facts dd{color:var(--color-ink-2);font-size:var(--text-sm);margin:0}.project-hero,.project-visuals figure{min-width:0;margin:0}.project-hero figcaption,.project-visuals figcaption{padding-top:var(--space-2);color:var(--color-muted);font-size:var(--text-xs)}.project-overview{gap:var(--space-4);max-width:70ch;display:grid}.project-overview h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(1.5rem,4vw,2.5rem);line-height:1.05}.project-overview p{color:var(--color-ink-2);margin:0;line-height:1.7}.project-visuals{column-count:1;column-gap:var(--space-4)}.project-visuals figure{break-inside:avoid;margin-bottom:var(--space-4)}.reader{gap:var(--space-3);min-width:0;animation:reader-enter .24s var(--ease-out) both;display:grid}.reader-surface{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;min-width:0;height:clamp(28rem,66svh,52rem);color:var(--color-ink);touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--color-rule-strong) transparent;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.reader-surface[data-zoomed=true]{padding:clamp(var(--space-4), 5vw, var(--space-8));overflow:auto}.reader-surface::-webkit-scrollbar{width:8px;height:8px}.reader-surface::-webkit-scrollbar-track{background:0 0}.reader-surface::-webkit-scrollbar-thumb{background:var(--color-rule-strong);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.reader-surface::-webkit-scrollbar-thumb:hover{background-color:var(--color-muted)}.reader-surface:fullscreen{height:100svh;padding:var(--space-4);background:var(--color-paper);color:var(--color-ink);overflow:auto}.reader-surface::backdrop{background:var(--color-paper)}.reader-surface:fullscreen .react-pdf__Page{max-height:calc(100svh - var(--space-8))}.react-pdf__Document,.react-pdf__Page{max-width:100%}.reader-surface>.react-pdf__Document{width:100%}.react-pdf__Page canvas{object-fit:contain;display:block;width:100%!important;height:auto!important}.book-page{max-width:min(100%,72rem)}.flip-book-scale{zoom:var(--book-zoom);place-items:start center;width:100%;min-width:0;max-width:34rem;margin:auto;display:grid}.flip-book{justify-self:stretch;width:100%;max-width:75rem;margin:auto}.flip-page,.flip-page-sheet{background:var(--color-sheet);width:100%;height:100%;color:var(--color-ink)}.flip-page-sheet{place-items:center;display:grid;overflow:hidden}.flip-page .react-pdf__Page{width:100%}.flip-page .react-pdf__Page canvas{position:static;inset:auto}.flip-page-placeholder{width:100%;height:100%;display:block}.reader-message{color:var(--color-ink-2);margin:auto}.document-loading{gap:var(--space-3);width:min(28rem, calc(100% - var(--space-6)));margin:auto;display:grid}.document-loading-copy{justify-content:space-between;align-items:baseline;gap:var(--space-3);color:var(--color-muted);font-size:var(--text-sm);display:flex}.document-loading-copy strong{color:var(--color-ink);font-variant-numeric:tabular-nums}.document-loading-track{background:var(--color-rule);height:2px;overflow:hidden}.document-loading-track span{background:var(--color-accent);transform-origin:0;width:100%;height:100%;transition:transform .18s linear;display:block}.zoom-gesture-hint{z-index:var(--z-raised);top:var(--space-3);right:var(--space-3);background:var(--color-ink);color:var(--color-paper);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);pointer-events:none;opacity:0;transition:opacity var(--dur-short) var(--ease-out) .8s, transform var(--dur-short) var(--ease-out) .8s;margin:0;position:absolute;transform:translateY(-4px)}.zoom-gesture-hint[data-visible=true]{opacity:1;transform:none}.reader-controls{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);min-width:0;padding-top:var(--space-3);border-top:var(--rule-hair) solid var(--color-rule);flex-wrap:wrap;display:flex}.control-label{margin-inline:var(--space-1)}.action-icon{font-size:var(--text-md);line-height:1;display:none}.control-group{align-items:center;gap:var(--space-2);min-width:0;display:flex}.reader-controls button,.reader-controls a{border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-control);min-height:44px;color:var(--color-ink-2);padding-inline:var(--space-3);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);background:0 0;justify-content:center;align-items:center;line-height:1;text-decoration:none;display:inline-flex}.reader-controls button:active,.reader-controls a:active{background:var(--color-sheet-raised);color:var(--color-ink);transform:translateY(1px)}.reader-controls button:disabled{cursor:not-allowed;opacity:.38;color:var(--color-muted)}.reader-controls output{color:var(--color-muted);text-align:center;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.page-controls output{min-width:7rem}.zoom-controls output{min-width:3.5rem}.zoom-controls button{width:44px;font-size:var(--text-md);padding-inline:0}.action-controls{margin-inline-start:auto}.action-controls a{border-color:var(--color-accent-strong);box-shadow:inset 0 -2px 0 var(--color-accent);color:var(--color-ink)}.site-footer{margin-top:var(--space-3);padding-top:var(--space-3);border-top:var(--rule-hair) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}@keyframes reader-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (hover:hover) and (pointer:fine){.text-link:hover{color:var(--color-ink);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.profile-icon-link:hover{background:var(--color-sheet-raised);color:var(--color-ink);transform:translateY(-1px)}.site-name:hover{color:var(--color-ink)}.workspace-tabs button:hover{border-color:var(--color-rule-strong);background:var(--color-sheet-raised);color:var(--color-ink)}.gallery-item:hover{background:var(--color-paper-2)}.document-picker select:hover{background:var(--color-sheet-raised);color:var(--color-ink)}.document-index-item:not([data-active=true]):hover{background:var(--color-paper-2);color:var(--color-ink-2)}.reader-controls button:not(:disabled):hover,.reader-controls a:hover{background:var(--color-sheet-raised);color:var(--color-ink);transform:translateY(-1px)}}@media (min-width:40rem){.site-header,.site-footer{grid-template-columns:minmax(10rem,1fr) auto minmax(10rem,1fr)}.site-discipline{text-align:center;display:block}.site-header .text-link,.site-footer>:last-child{justify-self:end}.gallery-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-heading p{max-width:65ch}.project-visuals{column-count:2}}@media (min-width:60rem){.visitor-counter{right:max(var(--space-3), env(safe-area-inset-right));bottom:max(var(--space-3), env(safe-area-inset-bottom));z-index:var(--z-raised);justify-self:auto;margin-block-start:0;position:fixed}.viewer-layout{gap:clamp(var(--space-5), 3vw, var(--space-7));padding-block:var(--space-4);grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);display:grid}.document-rail{align-content:start;gap:var(--space-5);min-width:0;border-inline-end:var(--rule-hair) solid var(--color-rule);order:0;padding-inline-end:var(--space-4);display:grid}.viewer-workspace{order:0}.profile-intro{padding-bottom:var(--space-4);display:block}.profile-identity{gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.profile-photo{width:var(--space-9);height:var(--space-9)}.profile-role{max-width:24ch;margin:var(--space-1) auto 0}.profile-summary{margin-top:var(--space-4)}.profile-links{margin-top:var(--space-3);justify-content:flex-start}.archive-panel{display:block}.rail-heading{gap:var(--space-1);padding-bottom:var(--space-4);display:grid}.rail-heading strong{font-size:var(--text-md);letter-spacing:-.03em}.rail-heading span{color:var(--color-muted);font-size:var(--text-sm)}.document-index{border-top:var(--rule-hair) solid var(--color-rule);display:grid}.document-index-item{grid-template-columns:var(--space-9) minmax(0, 1fr);gap:var(--space-4);border:0;border-bottom:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);width:100%;min-height:64px;color:var(--color-muted);padding:var(--space-4) var(--space-2);text-align:start;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);background:0 0;align-items:center;text-decoration:none;display:grid;position:relative}.document-index-item:active{transform:translateY(1px)}.document-index-item:disabled{cursor:not-allowed;opacity:.5}.document-index-item[data-active=true]{background:var(--color-paper-2);color:var(--color-ink);box-shadow:inset 2px 0 0 var(--color-accent)}.index-category{color:inherit;font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.index-copy{gap:var(--space-1);min-width:0;display:grid}.index-copy strong{color:inherit;font-size:var(--text-sm);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.index-copy small{color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.mobile-document-picker{display:none}.viewer-workspace{min-width:0}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reader-surface{height:clamp(34rem,70svh,56rem)}.flip-book-scale{zoom:var(--book-zoom-desktop)}.detail-workspace{width:min(100%,76rem);padding-block:var(--space-5);margin-inline:auto}.project-post-header{grid-template-columns:minmax(0,1.6fr) minmax(16rem,.7fr);align-items:end}}@media (min-width:90rem){.flip-book-scale{zoom:var(--book-zoom-wide)}}@media (max-width:39.99rem){.document-bar{align-items:end;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.document-heading p,.document-meta{display:none}.reader-surface{height:clamp(24rem,58svh,38rem)}.reader-controls{background:var(--color-paper);padding-bottom:max(var(--space-2), env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);align-items:center;display:grid}.control-group{justify-content:center}.page-controls{grid-area:1/1/auto/-1;grid-template-columns:44px minmax(0,1fr) 44px;width:100%;display:grid}.page-controls button{width:44px;padding-inline:0}.page-controls .control-label{display:none}.page-controls output{min-width:0}.zoom-controls{grid-area:2/1;justify-self:start;margin-inline-end:0}.action-controls{grid-area:2/1;justify-self:end;width:max-content;margin-inline-start:0}.action-controls>*{width:44px;padding-inline:0}.action-controls .control-label{display:none}.action-icon{display:inline}.site-footer{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}.book-page{opacity:1;transform:none}}.analytics-page,.analytics-login-shell{width:min(100%,80rem);min-height:100svh;padding:clamp(var(--space-4), 4vw, var(--space-7));margin-inline:auto}.analytics-login-shell{place-items:center;display:grid}.analytics-login{gap:var(--space-4);width:min(100%,28rem);padding-block:var(--space-7);border-block:var(--rule-hair) solid var(--color-rule);display:grid}.analytics-login h1,.analytics-header h1{letter-spacing:-.04em;margin:0;font-size:clamp(1.75rem,5vw,3rem);line-height:1}.analytics-login>p,.analytics-note{color:var(--color-muted);margin:0;line-height:1.6}.analytics-kicker{color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.analytics-login form{gap:var(--space-3);display:grid}.analytics-login label{color:var(--color-ink-2);font-size:var(--text-sm)}.analytics-login input{border:var(--rule-hair) solid var(--color-rule-strong);background:var(--color-paper-2);width:100%;min-height:48px;color:var(--color-ink);padding-inline:var(--space-3);font:inherit;border-radius:0}.analytics-login input:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.analytics-login button,.analytics-actions a,.analytics-actions button{border:var(--rule-hair) solid var(--color-rule-strong);min-height:44px;color:var(--color-ink);padding-inline:var(--space-4);cursor:pointer;background:0 0;border-radius:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.analytics-login button{border-color:var(--color-accent-strong);box-shadow:inset 0 -2px 0 var(--color-accent)}.analytics-login>a{width:max-content;color:var(--color-muted);text-underline-offset:.3em}.analytics-error{color:var(--color-accent);font-size:var(--text-sm);margin:0}.analytics-page{align-content:start;gap:var(--space-7);display:grid}.analytics-header{justify-content:space-between;align-items:end;gap:var(--space-5);padding-bottom:var(--space-5);border-bottom:var(--rule-hair) solid var(--color-rule);flex-wrap:wrap;display:flex}.analytics-header>div:first-child{gap:var(--space-3);display:grid}.analytics-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.analytics-actions form{display:contents}.analytics-total{gap:var(--space-2);display:grid}.analytics-total span{color:var(--color-muted);font-size:var(--text-sm)}.analytics-total strong{letter-spacing:-.07em;font-size:clamp(3rem,12vw,7rem);line-height:.85}.analytics-total small{color:var(--color-muted)}.analytics-grid{gap:var(--space-6);display:grid}.analytics-grid>section{min-width:0}.analytics-grid h2{margin:0 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:var(--rule-hair) solid var(--color-rule);font-family:var(--font-display);font-size:var(--text-md)}.analytics-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.analytics-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.analytics-row span{overflow-wrap:anywhere;min-width:0;color:var(--color-ink-2)}.analytics-row strong{font-variant-numeric:tabular-nums;flex:none}.analytics-bar{height:2px;margin-block:var(--space-2);background:var(--color-rule);display:block}.analytics-bar i{background:var(--color-accent);height:100%;display:block}.analytics-list small,.analytics-empty{color:var(--color-muted);font-size:var(--text-xs)}.analytics-empty{margin:0}.analytics-note{padding-top:var(--space-5);border-top:var(--rule-hair) solid var(--color-rule);font-size:var(--text-sm)}.analytics-timeline{min-width:0;padding-block:var(--space-5);border-block:var(--rule-hair) solid var(--color-rule)}.analytics-section-heading{justify-content:space-between;align-items:end;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.analytics-section-heading>div{gap:var(--space-1);display:grid}.analytics-section-heading h2{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.03em;margin:0}.analytics-section-heading p,.analytics-section-heading>span{color:var(--color-muted);font-size:var(--text-xs);margin:0}.analytics-chart-frame{height:15rem;position:relative}.analytics-chart-rules{inset:0 0 var(--space-6);pointer-events:none;grid-template-rows:repeat(3,minmax(0,1fr));display:grid;position:absolute}.analytics-chart-rules i{border-top:var(--rule-hair) solid var(--color-rule)}.analytics-chart{gap:clamp(2px, .5vw, var(--space-2));grid-template-columns:repeat(30,minmax(0,1fr));height:100%;margin:0;padding:0;list-style:none;display:grid;position:relative}.analytics-chart li{grid-template-rows:minmax(0, 1fr) var(--space-6);outline:0;min-width:0;display:grid;position:relative}.analytics-chart-column{align-items:end;min-height:0;display:flex}.analytics-chart-column i{background:var(--color-ink-2);transform-origin:bottom;width:100%;min-height:0;animation:analytics-bar-in .24s var(--ease-out);transition:background-color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);display:block}.analytics-chart li:hover .analytics-chart-column i,.analytics-chart li:focus .analytics-chart-column i{background:var(--color-accent);transform:scaleX(1.12)}.analytics-chart li:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.analytics-chart time{color:var(--color-muted);font-size:clamp(.55rem, 1vw, var(--text-xs));font-variant-numeric:tabular-nums;white-space:nowrap;align-self:end;overflow:visible}.analytics-chart li:last-child time{justify-self:end}.analytics-chart-tooltip{z-index:var(--z-raised);left:50%;bottom:calc(100% - var(--space-4));width:max-content;max-width:13rem;padding:var(--space-2) var(--space-3);border:var(--rule-hair) solid var(--color-rule-strong);background:var(--color-sheet-raised);color:var(--color-ink);font-size:var(--text-xs);opacity:0;pointer-events:none;transform:translate(-50%, var(--space-1));transition:opacity var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);line-height:1.5;position:absolute}.analytics-chart-tooltip strong{color:var(--color-accent);font-size:var(--text-md);font-variant-numeric:tabular-nums}.analytics-chart-tooltip small{color:var(--color-ink-2)}.analytics-chart li:hover .analytics-chart-tooltip,.analytics-chart li:focus .analytics-chart-tooltip{opacity:1;transform:translate(-50%)}.analytics-chart li:focus .analytics-chart-tooltip{transition-delay:0s}.analytics-chart li:first-child .analytics-chart-tooltip{transform:translate(0, var(--space-1));left:0}.analytics-chart li:first-child:hover .analytics-chart-tooltip,.analytics-chart li:first-child:focus .analytics-chart-tooltip{transform:translate(0)}.analytics-chart li:last-child .analytics-chart-tooltip{transform:translate(0, var(--space-1));left:auto;right:0}.analytics-chart li:last-child:hover .analytics-chart-tooltip,.analytics-chart li:last-child:focus .analytics-chart-tooltip{transform:translate(0)}@keyframes analytics-bar-in{0%{opacity:0;transform:scaleY(.2)}to{opacity:1;transform:scaleY(1)}}@media (min-width:48rem){.analytics-grid{gap:var(--space-7);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:39.99rem){.analytics-section-heading{grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.analytics-chart-frame{height:12rem}.analytics-chart{gap:2px}.analytics-chart time{writing-mode:vertical-rl;transform:rotate(180deg)}}@media (hover:hover) and (pointer:fine){.analytics-login button:hover,.analytics-actions a:hover,.analytics-actions button:hover{background:var(--color-sheet-raised)}}
