@font-face{font-family:Oranienbaum;src:url('./assets/Oranienbaum-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:Liberation;src:url('./assets/LiberationSans-Regular.ttf') format('truetype');font-display:swap}
:root{--paper:#f6f4f0;--ink:#141414;--muted:#77736e;--line:#dcd8d2;--gutter:24px;--header:68px;--ease:cubic-bezier(.22,.68,.2,1)}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font:14px/1.5 Liberation,Arial,sans-serif;overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;border:0;padding:0;background:none;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Oranienbaum,serif;font-weight:400}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:1px solid currentColor;outline-offset:6px}button:disabled{cursor:default}a:hover,button:hover{text-decoration-color:currentColor}button{-webkit-user-select:none;user-select:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:24px;z-index:50;background:var(--paper);padding:12px}.skip-link:focus{top:12px}
.site-header{position:fixed;inset:0 0 auto;z-index:5;height:var(--header);padding:env(safe-area-inset-top) var(--gutter) 0;display:flex;align-items:center;justify-content:space-between;pointer-events:none;transition:color .3s}.site-header a,.site-header button{pointer-events:auto}.brand{font:23px/1 Oranienbaum,serif;transition:opacity .2s}.site-header nav{display:flex;align-items:center;gap:25px;font-size:12px}.on-cover .brand{visibility:hidden}.on-dark .site-header,.on-dark .page-position{color:#f6f4f0}.page-position{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));right:var(--gutter);color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;pointer-events:none;z-index:4;transition:color .3s}
.folio{height:100%;height:100dvh;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;touch-action:pan-y pinch-zoom;scrollbar-width:none;overscroll-behavior-y:contain;outline:none}.folio::-webkit-scrollbar{display:none}.sheet{position:relative;height:100%;height:100dvh;min-height:360px;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;isolation:isolate}.hero{color:var(--paper);background:#090b08}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0003,#0000 38%,#0007);z-index:-1}.hero-content{height:100%;padding:var(--header) var(--gutter) 76px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}.hero h1{font-size:clamp(76px,22vw,180px);line-height:.87;letter-spacing:-.03em}.hero-enter{font-size:12px;margin-top:40px;padding:10px 0}.hero-enter:after{content:"";display:block;width:36px;height:1px;background:currentColor;margin-top:14px;transition:width .3s}.hero-enter:hover:after{width:100%}
.work{display:grid;grid-template-rows:minmax(0,1fr) 104px;gap:26px;padding:calc(var(--header) + 26px) var(--gutter) 60px}.image-stage{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;width:100%;max-width:1320px;margin:0 auto}.image-open{width:100%;height:100%;cursor:zoom-in;touch-action:pan-y pinch-zoom;outline-offset:8px}.image-open img{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.work-caption{width:100%;max-width:1320px;margin:0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-top:5px}.work-caption h2{font-size:clamp(28px,6.9vw,36px);line-height:1.06;max-width:650px;text-wrap:balance}.work-caption p{color:var(--muted);font-size:11px;margin-top:14px}.work-tools{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:16px;font-size:11px;padding-top:5px;color:var(--muted)}.work-tools button{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--line)}.frame-count{font-variant-numeric:tabular-nums}.author-sheet .image-stage{max-width:680px}
.recognition-sheet{padding:calc(var(--header) + 26px) var(--gutter) 68px;display:flex;align-items:center}.recognition-content{width:100%;max-width:1040px;margin:0 auto}.section-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:34px}.section-heading h2{font-size:42px;line-height:1}.section-heading p{font-size:11px;color:var(--muted)}.recognition-list{border-top:1px solid var(--line)}.recognition-row{width:100%;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;min-height:56px;padding:12px 0;border-bottom:1px solid var(--line);text-align:left}.recognition-row span:first-child{font:22px/1.08 Oranienbaum,serif}.recognition-row span:last-child{color:var(--muted);font-size:10px;white-space:nowrap}.recognition-row:hover span:first-child{opacity:.65}
.contact-sheet{background:#000;color:var(--paper);display:flex;align-items:center;padding:var(--header) var(--gutter) 70px}.contact-emblem{position:absolute;z-index:-1;right:0;bottom:0;height:88%;width:auto;max-width:none;opacity:.6;object-fit:contain;pointer-events:none}.contact-content{position:relative;align-self:flex-start;margin-top:12vh}.contact-content h2{font-size:clamp(40px,11vw,90px);line-height:1.05;margin-bottom:28px}.contact-email{font-size:clamp(14px,4vw,20px);padding:10px 0;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:#696969;text-underline-offset:8px;white-space:nowrap}
dialog{color:var(--ink);border:0;padding:0}dialog::backdrop{background:#0005}dialog[open]{animation:dialog-in .25s var(--ease)}dialog.closing{animation:dialog-out .18s ease both}dialog.closing::backdrop{opacity:0;transition:opacity .18s}.panel-dialog{background:var(--paper);width:min(720px,100%);max-width:100%;max-height:100%;max-height:100dvh;margin:auto 0 auto auto;padding:30px var(--gutter) 50px;overflow-y:auto;overscroll-behavior:contain}.panel-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:42px}.panel-bar h2{font-size:35px;line-height:1.1}.panel-bar button{font-size:12px;flex-shrink:0;padding-top:8px;color:var(--muted)}.panel-copy{max-width:580px}.panel-copy p{font-size:14px;line-height:1.8;margin:0 0 24px}.panel-copy h3{font:12px Liberation,Arial,sans-serif;color:var(--muted);margin:36px 0 14px}.panel-copy ul{list-style:none;margin:0 0 28px;padding:0}.panel-copy li{margin-bottom:14px;font-size:13px}.panel-copy li span{display:block;color:var(--muted);font-size:12px}.panel-copy a,.panel-copy [data-document]{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px}.source-links{display:flex;flex-wrap:wrap;gap:20px;font-size:12px}.menu-primary{display:flex;flex-wrap:wrap;gap:20px;font-size:13px;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:18px}.menu-projects a{display:flex;align-items:baseline;gap:20px;padding:12px 0;font:25px/1.1 Oranienbaum,serif}.menu-projects a span{font:10px Liberation,Arial,sans-serif;color:var(--muted)}
.image-dialog{background:#000;color:#eee;width:100%;max-width:100%;height:100%;height:100dvh;max-height:100%;max-height:100dvh;margin:0;overflow:hidden;touch-action:pinch-zoom}.image-dialog::backdrop{background:#000}.image-canvas{width:100%;height:100%;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.image-canvas img{width:100%;height:100%;max-width:100%;object-fit:contain;transition:opacity .15s ease,transform .25s var(--ease);user-select:none;-webkit-user-drag:none}.image-canvas img.changing{opacity:0;transform:scale(.985)}.image-close{position:absolute;top:max(22px,env(safe-area-inset-top));right:var(--gutter);z-index:2;font-size:12px;padding:6px 12px;background:#0009;border-radius:2px}.image-position{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);font-size:11px;background:#0009;padding:4px 10px;pointer-events:none;font-variant-numeric:tabular-nums}
@keyframes dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes dialog-out{to{opacity:0;transform:translateY(4px)}}
@media(min-width:760px){:root{--gutter:48px;--header:92px}.site-header nav{gap:34px;font-size:13px}.brand{font-size:27px}.hero-content{padding-bottom:80px}.hero h1{font-size:clamp(130px,13vw,240px)}.hero-enter{margin-top:44px;font-size:13px}.work{padding-top:calc(var(--header) + 16px);padding-bottom:52px;grid-template-rows:minmax(0,1fr) 86px;gap:34px}.work-caption h2{font-size:38px}.work-caption p,.work-tools{font-size:12px}.work-tools{flex-direction:row;gap:28px}.recognition-row{min-height:68px}.recognition-row span:first-child{font-size:30px}.recognition-row span:last-child,.section-heading p{font-size:12px}.section-heading{margin-bottom:44px}.section-heading h2{font-size:62px}.contact-content{align-self:center;margin:0 0 0 max(0px,calc((100vw - 1320px)/2 - var(--gutter)))}.contact-emblem{height:96%;bottom:0;right:3%;opacity:.75}.panel-dialog{padding:42px 48px 60px}.page-position{bottom:22px}}
@media(max-height:700px){.work{padding-top:calc(var(--header) + 6px);padding-bottom:42px;gap:18px;grid-template-rows:minmax(0,1fr) 82px}.work-caption h2{font-size:28px}.work-caption p{margin-top:10px}.recognition-sheet{padding-top:calc(var(--header) + 8px);padding-bottom:42px}.section-heading{margin-bottom:18px}.section-heading h2{font-size:34px}.recognition-row{min-height:45px;padding:10px 0}.recognition-row span:first-child{font-size:20px}.hero-content{padding-bottom:54px}.hero h1{font-size:clamp(64px,20vw,125px)}.contact-content{margin-top:7vh}}
@media(max-height:480px) and (min-width:600px){:root{--header:56px;--gutter:28px}.work{grid-template-columns:minmax(0,1fr) 230px;grid-template-rows:minmax(0,1fr);gap:30px;padding-bottom:38px}.work-caption{align-self:end;flex-direction:column}.work-caption h2{font-size:27px}.work-tools{flex-direction:row}.recognition-content{max-width:900px}.recognition-list{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.recognition-row{min-height:48px}.section-heading{margin-bottom:15px}.recognition-sheet{padding-bottom:38px}.hero h1{font-size:105px}.hero-enter{margin-top:18px}.contact-content{align-self:center;margin-top:0}.contact-content h2{font-size:55px;margin-bottom:16px}.contact-emblem{height:140%;right:8%;bottom:-42%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
