@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.1wwzpfhzaj2r0.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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.2rlzm4mj5kw8e.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:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_dbdfc722-module__u-m7bG__className{font-family:Instrument Serif,Instrument Serif Fallback;font-style:normal;font-weight:400}.instrument_serif_dbdfc722-module__u-m7bG__variable{--font-instrument-serif:"Instrument Serif", "Instrument Serif Fallback"}
:root{--bg:#1a1917;--fg:#fff7f0;--muted:color-mix(in srgb, var(--fg) 62%, transparent);--quiet:color-mix(in srgb, var(--fg) 45%, transparent);--line:color-mix(in srgb, var(--fg) 12%, transparent);--surface:#242220;--surface-2:#2c2b28;--accent:#d97843;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mono:var(--sans);--serif:var(--font-instrument-serif), Georgia, serif;--container:56rem;--page:20vw;--radius:6px;--ease:cubic-bezier(.22, 1, .36, 1)}html[data-theme=light]{--bg:#f5f4f1;--fg:#262523;--muted:color-mix(in srgb, var(--fg) 66%, transparent);--quiet:color-mix(in srgb, var(--fg) 48%, transparent);--line:color-mix(in srgb, var(--fg) 13%, transparent);--surface:#eae8e2;--surface-2:#e2dfd8;--accent:#a94d23}*,:before,:after{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth;overscroll-behavior-y:none}body{background:var(--bg);min-height:100dvh;color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6;overflow-x:clip}::selection{background:var(--accent);color:#fff7f0}@keyframes page-in{0%{opacity:0}to{opacity:1}}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}img,video,svg{max-width:100%;display:block}h1,h2,h3,p,blockquote,figure,dl,dd{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.skip-link{z-index:200;background:var(--fg);color:var(--bg);font-family:var(--mono);padding:.6rem .9rem;font-size:12px;transition:transform .16s;position:fixed;top:1rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.dim{color:var(--quiet)}.slash{opacity:.35}.blink{background:currentColor;width:.55em;height:1em;margin-left:.3rem;animation:1.1s step-end infinite blink;display:inline-block;transform:translateY(.15em)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.site-nav{z-index:60;font-family:var(--mono);color:var(--fg);justify-content:center;align-items:center;gap:2rem;padding-top:2rem;font-size:19px;line-height:1.5;transition:color .18s;display:flex;position:fixed;inset:0 0 auto}.site-nav a{opacity:.58;transition:opacity .15s}.site-nav a:hover,.site-nav a:focus-visible,.site-nav a.is-active{opacity:1}.site-nav__toggle{margin:-1rem;padding:1rem;display:flex}.site-nav--over{color:#fff7f0}body[data-lightbox=true] .site-nav,body[data-lightbox=true] .mobile-bar{opacity:0;pointer-events:none}.site-nav,.mobile-bar{transition:color .18s,opacity .18s,background .2s}body:has(.project-hero .cover--paper) .site-nav--over{color:#262523}.theme-toggle{opacity:.5;width:15px;height:15px;transition:opacity .15s ease, transform .3s var(--ease);place-items:center;display:grid}.theme-toggle:hover,.theme-toggle:focus-visible{opacity:1}.theme-toggle svg{transition:transform .3s var(--ease);overflow:visible}html[data-theme=light] .theme-toggle svg{transform:rotate(90deg)}.mobile-bar,.mobile-menu{display:none}.home-main{height:100dvh;overflow:hidden}.home{background:var(--bg);width:100%;height:100dvh;position:relative;overflow:hidden}.home__field{background:#062956;position:absolute;inset:0}.home__field:after{content:"";background:radial-gradient(90% 70% at 78% 26%, color-mix(in srgb, var(--fg) 2.4%, transparent), transparent 62%);pointer-events:none;position:absolute;inset:0}.home__header{z-index:2;height:100%;padding:8rem var(--page) 8rem;color:var(--fg);flex-direction:column;justify-content:flex-end;gap:2.6rem;display:flex;position:relative}.home__tagline{letter-spacing:.02em;max-width:46rem;color:color-mix(in srgb, var(--fg) 62%, transparent);font-size:14px;line-height:1.65}.home__intro{max-width:46rem;font-family:var(--mono);font-size:15px;line-height:max(22px,3vh)}.home__intro h1{font-size:16px;font-style:italic;font-weight:700;line-height:inherit;letter-spacing:-.01em;margin-bottom:.55rem}.home__intro p+p{margin-top:.55rem}.home__intro .ink-link,.home__socials a{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 32%, transparent);text-decoration-color:color-mix(in srgb, var(--fg) 32%, transparent);transition:text-decoration-color .15s,opacity .15s}.home__intro .ink-link:hover,.home__intro .ink-link:focus-visible,.home__socials a:hover,.home__socials a:focus-visible{text-decoration-color:currentColor}.home__intro .quiet-link{color:color-mix(in srgb, var(--fg) 76%, transparent)}.home__socials{opacity:.6;margin-top:1.5vh;font-size:15px}.home__socials a{transition:opacity .15s,text-decoration-color .15s}.home__socials a:hover,.home__socials a:focus-visible{opacity:1}.cover{color:#fff7f0;isolation:isolate;background:#171513;border-radius:3px;width:100%;height:100%;position:relative;overflow:hidden}.cover--ink{background:radial-gradient(80% 90% at 88% 10%, color-mix(in srgb, var(--cover-accent) 42%, transparent), transparent 58%), linear-gradient(145deg, #1d1a17, #0f0e0d 58%, #1b1713)}.cover--sand{background:radial-gradient(80% 80% at 82% 16%,#d07e4847,#0000 58%),linear-gradient(150deg,#2c241e,#171310 62%,#241b16)}.cover--forest{background:radial-gradient(80% 90% at 86% 8%,#8ee0a829,#0000 55%),linear-gradient(145deg,#132019,#0a0f0c 60%,#101812)}.cover__bg{object-fit:cover;object-position:top center;opacity:.24;filter:blur(26px)saturate(.7);z-index:0;transform:scale(1.12)}.cover--paper .cover__bg{opacity:.18}.cover--paper{color:#262523;background:radial-gradient(90% 90% at 84% 10%,#233b8f1f,#0000 60%),linear-gradient(150deg,#f5f0e6,#e7e0d3 65%,#ded5c6)}.cover--full{background:#0c0c0c}.cover__grain{z-index:4;pointer-events:none;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");position:absolute;inset:0}.cover--paper .cover__grain{opacity:.1;mix-blend-mode:multiply}.cover__top{z-index:5;letter-spacing:.1em;text-transform:uppercase;opacity:.72;justify-content:space-between;gap:1rem;font-size:10px;display:flex;position:absolute;top:1.15rem;left:1.25rem;right:1.25rem}.cover__title{z-index:5;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 2px 28px #0000006b;max-width:58%;font-size:clamp(1.5rem,2.35vw,2.7rem);font-weight:500;line-height:.98;position:absolute;bottom:1.1rem;left:1.25rem;right:1.25rem}.cover--paper .cover__title{text-shadow:0 2px 24px #f5f0e673}.cover--card .cover__title{max-width:52%;font-size:clamp(1.5rem,2.35vw,2.7rem);top:2.5rem;bottom:auto}.cover--card .cover__top{justify-content:flex-start;gap:1.5rem;top:auto;bottom:1.15rem}.cover--card .cover__top span:last-child{margin-left:auto}.cover__frame{z-index:2;width:62%;aspect-ratio:var(--shot-ratio,16 / 10);transition:transform .7s var(--ease);background:#0b0b0a;border:1px solid #fff3;border-radius:7px;position:absolute;bottom:-9%;right:2%;overflow:hidden;transform:rotate(-4deg);box-shadow:0 40px 90px -25px #000000bf,inset 0 2px #ffffff14}.cover--paper .cover__frame{border-color:#26252338;box-shadow:0 40px 90px -32px #2625238c}.cover__chrome{color:#fff7f080;height:21px;font-family:var(--mono);letter-spacing:.02em;background:#171614;border-bottom:1px solid #ffffff1f;align-items:center;gap:5px;padding:0 8px;font-size:7px;display:flex}.cover__chrome i{background:#fff7f052;border-radius:50%;width:4px;height:4px}.cover__chrome span{margin-left:auto;margin-right:auto;padding-right:18px}.cover__shot{background:#f5f3ef;width:100%;height:calc(100% - 21px);position:relative;overflow:hidden}.cover__shot img{object-fit:cover;object-position:top center;width:100%;height:100%}.cover__full{object-fit:cover;z-index:1}.cover__full-label{z-index:5;letter-spacing:-.04em;flex-direction:column;gap:.1rem;font-size:clamp(1.4rem,2.2vw,2.4rem);font-weight:500;line-height:1;display:flex;position:absolute;bottom:1.1rem;left:1.25rem}.cover__full-label .mono{letter-spacing:.1em;opacity:.6;font-size:10px;font-weight:400}.projects-main{flex-direction:column;justify-content:center;min-height:100dvh;padding:6.5rem 0 3.5rem;display:flex;overflow:hidden}.rail-wrap{flex-direction:column;justify-content:center;min-height:0;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rail-heading,.rail-hint{display:none}.rail-progress{width:min(var(--container), calc(100vw - 3rem));letter-spacing:.06em;color:var(--muted);align-items:center;gap:.8rem;margin:1.1rem auto 0;font-size:10px;display:flex}.rail-progress__ticks{gap:4px;display:flex}.rail-progress__ticks i{background:var(--line);width:14px;height:1px;transition:background .2s;display:block}.rail-progress__ticks i.is-active{background:var(--fg)}.rail{width:100%;padding:0 max(1.5rem, calc((100vw - var(--container)) / 2)) 1rem;scrollbar-width:none;cursor:grab;outline:none;gap:12px;display:flex;overflow:auto hidden}.rail::-webkit-scrollbar{display:none}.rail.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.rail:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.rail-card{outline:none;flex:0 0 min(93vh,63rem);width:min(93vh,63rem);min-width:0}.rail-card:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.rail-card__media{aspect-ratio:3/2;background:var(--surface);border-radius:3px;height:min(62vh,42rem);position:relative;overflow:hidden}.rail-card__media :is(.cover__full,.cover__video,.cover__frame){transition:transform .7s var(--ease)}.rail-card:hover :is(.cover__full,.cover__video,.cover__frame),.rail-card:focus-visible :is(.cover__full,.cover__video,.cover__frame){transform:scale(1.025)}.rail-card__view{z-index:6;color:#fff7f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .3s ease, transform .3s var(--ease);background:#00000094;border-radius:999px;padding:.38rem .75rem;font-size:11px;position:absolute;bottom:1rem;left:1rem;transform:translateY(6px)}.rail-card:hover .rail-card__view,.rail-card:focus-visible .rail-card__view{opacity:1;transform:translateY(0)}.rail-card__caption{margin-top:.85rem}.rail-card__caption>p:first-child{align-items:baseline;gap:.75rem;display:flex}.rail-card__title{letter-spacing:-.015em;font-size:17px;font-weight:500}.rail-card__year{color:var(--quiet);font-size:13px}.rail-card__purpose{color:var(--muted);margin-top:.2rem;font-size:15px;line-height:1.45}.rail-card:focus-visible .rail-card__title{text-underline-offset:4px;text-decoration:underline}.gallery-main{padding:9.25rem 0 0}.gallery-inner{width:min(1108px,100vw - 48px);margin:0 auto}.gallery-head{justify-content:space-between;align-items:baseline;gap:2rem;display:flex}.gallery-kicker{color:color-mix(in srgb, var(--fg) 62%, transparent);font-size:14px}.gallery-title{color:color-mix(in srgb, var(--fg) 82%, transparent);margin-top:.9rem;font-size:18px;font-weight:400;line-height:1.3}.gallery-instagram{color:var(--muted);text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 28%, transparent);text-decoration-color:color-mix(in srgb, var(--fg) 28%, transparent);white-space:nowrap;font-size:14px}.gallery-instagram:hover,.gallery-instagram:focus-visible{color:var(--fg);text-decoration-color:currentColor}.gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:96px 24px;margin-top:5.25rem;display:grid}.gallery-item{min-width:0}.gallery-item__button{background:var(--surface);cursor:zoom-in;border-radius:3px;width:100%;display:block;overflow:hidden}.gallery-item__button img{width:100%;height:auto;transition:transform .5s var(--ease), opacity .3s ease}.gallery-item__button:hover img{opacity:.94;transform:scale(1.012)}.gallery-item figcaption{justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1rem;font-size:12px;line-height:1.4;display:flex}.gallery-item figcaption span:first-child{color:var(--fg)}.gallery-item figcaption span:last-child{color:var(--muted);text-align:right}.g1{grid-column:1/span 6}.g2{grid-column:8/span 5;margin-top:112px}.g3{grid-column:1/span 4}.g4{grid-column:6/span 7;margin-top:40px}.g5{grid-column:1/span 4}.g6{grid-column:6/span 4;margin-top:40px}.g7{grid-column:1/span 5}.g8{grid-column:7/span 5;margin-top:40px}.g9{grid-column:1/span 5}.g10{grid-column:7/span 6;margin-top:60px}.g11{grid-column:3/span 8}.lightbox{z-index:100;background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;padding:2.5rem 1.5rem 1.5rem;animation:.18s both lightbox-in;display:flex;position:fixed;inset:0}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox__close{color:var(--muted);padding:.5rem;font-size:12px;position:absolute;top:1.4rem;right:1.6rem}.lightbox__close:hover,.lightbox__close:focus-visible{color:var(--fg)}.lightbox__stage{justify-content:center;align-items:center;max-width:min(90vw,1400px);min-height:0;max-height:72vh;display:flex}.lightbox__image{object-fit:contain;border-radius:4px;width:auto;max-width:90vw;height:auto;max-height:72vh;box-shadow:0 30px 90px -30px #0000008c}.lightbox__bar{width:min(90vw,1400px);font-family:var(--mono);justify-content:space-between;align-items:flex-start;gap:2rem;font-size:13px;display:flex}.lightbox__caption{max-width:34rem}.lightbox__caption p:first-child{color:var(--fg)}.lightbox__note{color:var(--muted);margin-top:.2rem;font-size:12px}.lightbox__controls{font-variant-numeric:tabular-nums;color:var(--muted);align-items:center;gap:1rem;display:flex}.lightbox__controls button{color:var(--muted);padding:.2rem .4rem}.lightbox__controls button:hover,.lightbox__controls button:focus-visible{color:var(--fg)}.lightbox__hint{letter-spacing:.06em;color:var(--quiet);font-size:10px}.project-main{min-height:100dvh}.project-hero{height:clamp(20rem,50vh,38rem);position:relative;overflow:hidden}.project-hero .cover{border-radius:0}.cover--hero .cover__top{display:none}.cover--hero .cover__title{left:max(1.5rem, calc((100vw - var(--container)) / 2));letter-spacing:-.03em;max-width:30%;font-size:1.65rem;top:6.2rem;bottom:auto;right:auto}.cover--hero .cover__frame{width:var(--frame-width,40%);bottom:3%;right:2%;transform:rotate(-2.6deg)}.cover--hero .cover__top span:last-child{display:none}.cover--hero.cover--full .cover__full-label{left:max(1.5rem, calc((100vw - var(--container)) / 2));bottom:2.4rem}.project-body{width:100%;max-width:calc(var(--container) + 3rem);margin:0 auto;padding:0 1.5rem 5rem}.project-back{color:var(--muted);font-size:14px;transition:color .15s;display:inline-block}.project-back:hover,.project-back:focus-visible{color:var(--fg)}.project-head{margin-top:2.5rem}.project-head h1{letter-spacing:-.015em;font-size:28px;font-weight:500;line-height:1.2}.project-purpose{color:var(--muted);margin-top:.3rem;font-size:16px;line-height:1.5}.project-intro{text-wrap:pretty;max-width:46rem;margin-top:2rem;font-size:16px;line-height:1.7}.project-intro a{text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 32%, transparent);text-decoration-color:color-mix(in srgb, var(--fg) 32%, transparent)}.project-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:1.25rem 3rem;margin-top:2.25rem;padding:1rem 0;font-size:12px;display:flex}.project-meta dt{color:var(--muted);text-transform:lowercase}.project-meta dd{color:var(--fg);margin-top:.3rem}.status-dot{background:var(--accent);vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:.45rem;display:inline-block}.project-links{flex-wrap:wrap;gap:.4rem 1rem;display:flex}.project-links a{color:var(--fg);text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 32%, transparent);text-decoration-color:color-mix(in srgb, var(--fg) 32%, transparent)}.project-links a:hover,.project-links a:focus-visible{text-decoration-color:currentColor}.project-sections,.project-section+.project-section{margin-top:5.5rem}.project-section__copy{max-width:46rem}.project-section h2{letter-spacing:-.015em;align-items:baseline;gap:.75rem;font-size:18px;font-weight:600;line-height:1.4;display:flex}.project-section h2 .mono{letter-spacing:.08em;color:var(--quiet);font-size:10px;font-weight:400}.project-section__copy p{color:color-mix(in srgb, var(--fg) 72%, transparent);text-wrap:pretty;margin-top:.7rem;font-size:16px;line-height:1.7}.project-code{border:1px solid var(--line);background:color-mix(in srgb, var(--fg) 4%, transparent);color:color-mix(in srgb, var(--fg) 78%, transparent);tab-size:2;border-radius:6px;margin-top:1.75rem;padding:1.15rem 1.25rem;font-size:12px;line-height:1.7;overflow-x:auto}.project-figure{margin-top:1.75rem}.project-figure__frame{border:1px solid color-mix(in srgb, var(--fg) 10%, transparent);background:var(--surface);border-radius:6px;overflow:hidden}.project-figure__frame img{width:100%;height:auto}.project-figure figcaption{color:var(--muted);margin-top:.75rem;font-size:12px;line-height:1.5}.sequence__head{color:var(--muted);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.9rem;font-size:12px;display:flex}.sequence__track{outline:none;gap:6px;height:26rem;display:flex}.sequence__slide{min-width:0;box-shadow:0 0 0 1px color-mix(in srgb, var(--fg) 10%, transparent);transition:flex-grow .5s var(--ease);text-align:left;background:#0b0b0b;border-radius:8px;flex:1 1 0;position:relative;overflow:hidden}.sequence__slide.is-active{flex-grow:8}.sequence__slide img{object-fit:cover;object-position:top center;opacity:.66;width:100%;height:100%;transition:opacity .3s}.sequence__slide.is-active img{opacity:1}.sequence__caption{max-width:44rem;color:var(--muted);margin-top:.9rem;font-size:14px;line-height:1.55}.sequence__pager{color:var(--muted);align-items:center;gap:1rem;margin-top:1rem;font-size:12px;display:flex}.sequence__pager button{color:var(--muted);padding:.3rem}.sequence__pager button:hover,.sequence__pager button:focus-visible{color:var(--fg)}.project-video{margin-top:6rem}.project-video h2{color:var(--muted);margin-bottom:.9rem;font-size:12px;font-weight:400}.project-video video{border:1px solid var(--line);background:#000;border-radius:6px;width:100%}.project-video p{color:var(--quiet);margin-top:.75rem;font-size:12px}.project-nav{border-top:1px solid var(--line);justify-content:space-between;gap:2rem;margin-top:7rem;padding-top:1.4rem;display:flex}.project-nav>div{flex-direction:column;gap:.4rem;display:flex}.project-nav .mono{color:var(--muted);font-size:12px}.project-nav a{letter-spacing:-.01em;font-size:18px;font-weight:600}.project-nav a:hover,.project-nav a:focus-visible{text-underline-offset:4px;text-decoration:underline}.project-nav__next{text-align:right;align-items:flex-end}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:2rem;margin-top:8rem;padding:2rem 0 3rem;display:flex}.site-footer__name{letter-spacing:-.01em;font-size:16px;font-weight:500}.site-footer__links{color:var(--muted);flex-wrap:wrap;gap:.4rem 1.2rem;font-size:12px;display:flex}.site-footer__links a:hover,.site-footer__links a:focus-visible{color:var(--fg)}.site-footer--compact{margin-top:5rem;padding-bottom:0}@media (max-width:1100px){:root{--page:8vw}.home__header{padding-top:7rem;padding-bottom:5rem}}@media (max-width:900px){.site-nav{display:none}.mobile-bar{z-index:70;background:var(--surface);height:50px;color:var(--fg);border-radius:999px;justify-content:space-between;align-items:center;padding:0 12px 0 20px;transition:background .2s,color .2s;display:flex;position:fixed;top:12px;left:12px;right:12px}.mobile-bar--over{color:#fff7f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#14121080}body:has(.project-hero .cover--paper) .mobile-bar--over{color:#262523;background:#f5f4f1b8}.mobile-bar__mark{letter-spacing:-.02em;font-size:16px;font-weight:500}.mobile-bar__menu{border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.dots{grid-template-columns:repeat(2,4px);gap:4px;transition:transform .2s;display:grid}.dots i{background:currentColor;border-radius:50%;width:4px;height:4px}.dots--close{transform:rotate(45deg)}.mobile-menu{z-index:65;color:var(--fg);opacity:0;pointer-events:none;background:linear-gradient(#00000039 0%,#000000d2 48%,#000 100%);transition:opacity .22s;display:flex;position:fixed;inset:0}.mobile-menu.is-open{opacity:1;pointer-events:auto}.mobile-menu__inner{flex-direction:column;justify-content:flex-end;gap:2.5rem;width:100%;padding:6rem 1.5rem 2rem;display:flex}.mobile-menu__kicker{letter-spacing:.08em;font-size:11px}.mobile-menu nav{flex-direction:column;gap:.7rem;display:flex}.mobile-menu nav a{letter-spacing:-.05em;align-items:baseline;gap:.9rem;font-size:clamp(2.3rem,11vw,4rem);font-weight:500;line-height:1;display:flex}.mobile-menu nav a .mono{letter-spacing:.06em;color:var(--quiet);font-size:11px;font-weight:400}.mobile-menu nav a[aria-current=page]{color:var(--accent)}.mobile-menu__foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding-top:1.2rem;display:flex}.mobile-menu__socials{font-family:var(--mono);color:var(--muted);gap:1.1rem;font-size:12px;display:flex}.home__header{gap:2rem;padding:5.5rem 1.5rem 6.5rem}.home__intro{font-size:15px;line-height:1.65}.home__tagline{font-size:14px}.home__socials{font-size:15px}.projects-main{justify-content:flex-start;min-height:100dvh;padding:6.75rem 0 3rem;overflow:visible}.rail-progress{display:none}.rail{cursor:default;flex-direction:column;gap:4.5rem;padding:0 1.5rem;overflow:visible}.rail-card{flex:none;width:100%}.rail-card__media{aspect-ratio:4/3;border-radius:12px;width:100%;height:auto}.rail-card:hover :is(.cover__full,.cover__video,.cover__frame){transform:none}.rail-card__view{opacity:1;padding:.55rem .9rem;font-size:12px;inset:1rem 1rem auto auto;transform:none}.rail-card__caption{margin-top:1rem}.rail-card__caption>p:first-child{gap:.6rem}.rail-card__title{letter-spacing:-.03em;font-size:24px}.rail-card__year{font-size:13px}.rail-card__purpose{font-size:16px;line-height:1.5}.cover__top{top:1rem;left:1rem;right:1rem}.cover__title{max-width:62%;font-size:1.9rem;line-height:1;inset:2.1rem 1rem auto}.cover__frame{width:64%;bottom:-9%;right:-5%}.cover--card .cover__title{display:none}.cover--card .cover__frame{width:100%;height:100%;box-shadow:none;opacity:.78;border:0;border-radius:0;inset:0;transform:none}.cover--card .cover__chrome{display:none}.cover--card .cover__shot{height:100%}.cover--card .cover__shot img{object-fit:cover;object-position:top center}.cover--card:not(.cover--paper):after{content:"";z-index:3;pointer-events:none;background:linear-gradient(#0000 42%,#0c0b0ab8);position:absolute;inset:0}.cover--card.cover--paper:after{content:"";z-index:3;pointer-events:none;background:linear-gradient(#0000 45%,#f5f0e6cc);position:absolute;inset:0}.cover--card .cover__top{font-size:9px;bottom:.85rem;left:1rem;right:1rem}.project-hero{height:14rem;margin-top:74px}.cover--hero .cover__top,.cover--hero .cover__title{display:none}.cover--hero .cover__frame{width:100%;height:100%;box-shadow:none;opacity:.46;border:0;border-radius:0;inset:0;transform:none}.cover--hero .cover__chrome{display:none}.cover--hero .cover__shot{height:100%}.cover--hero .cover__frame:after{content:"";background:linear-gradient(#0000 35%,#141210b8);position:absolute;inset:0}.project-body{padding:0 1.5rem 3rem}.project-head{margin-top:1.6rem}.project-head h1{font-size:28px}.project-purpose{font-size:15px}.project-intro{margin-top:1.5rem;font-size:15px;line-height:1.7}.project-meta{grid-template-columns:1fr 1fr;gap:1rem 1.5rem;margin-top:1.8rem;display:grid}.project-meta>div:nth-child(3){border-top:1px solid var(--line);grid-column:1/-1;padding-top:.9rem}.project-sections,.project-section+.project-section{margin-top:4rem}.project-section__copy p{font-size:15px;line-height:1.7}.project-figure{margin-top:1.2rem}.project-figure__frame{border-radius:4px}.sequence{margin-top:4rem}.sequence__track{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;height:auto;margin-right:-1.5rem;padding-right:1.5rem;overflow-x:auto}.sequence__track::-webkit-scrollbar{display:none}.sequence__slide,.sequence__slide.is-active{scroll-snap-align:start;flex:0 0 78vw;height:13rem}.sequence__slide img,.sequence__slide.is-active img{opacity:1}.sequence__caption{font-size:13px}.sequence__pager{display:flex}.project-video{margin-top:4rem}.project-nav{gap:1rem;margin-top:4.5rem}.project-nav a{font-size:15px}.site-footer{flex-direction:column;align-items:flex-start;gap:1.2rem;margin-top:5rem}.gallery-main{padding-top:6.75rem}.gallery-inner{width:calc(100vw - 48px)}.gallery-head{flex-direction:column;align-items:flex-start;gap:1.2rem}.gallery-title{font-size:17px}.gallery-grid{flex-direction:column;gap:4.25rem;margin-top:3.5rem;display:flex}.gallery-item,.g1,.g2,.g3,.g4,.g5,.g6,.g7,.g8,.g9,.g10,.g11{margin-top:0}.gallery-item figcaption{font-size:11px}.lightbox{gap:1.2rem;padding:3.5rem 1rem 1.2rem}.lightbox__close{top:.8rem;right:.8rem}.lightbox__stage,.lightbox__image{max-width:96vw;max-height:64vh}.lightbox__bar{flex-direction:column;gap:.9rem;width:96vw;font-size:12px}.lightbox__controls{justify-content:flex-end;width:100%}.lightbox__hint{display:none}}@media (max-height:720px) and (min-width:901px){.home__header{gap:1.5rem;padding-top:5rem;padding-bottom:3rem}.projects-main{padding-top:5rem;padding-bottom:2rem}.rail-card__media{height:56vh}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.blink{opacity:1;animation:none}}.sequence__track{gap:7px}.sequence__slide{border-radius:10px;transition:flex-grow .75s cubic-bezier(.22,1,.36,1)}.sequence__slide-label{writing-mode:vertical-rl;color:#fff7f0;font-family:var(--sans);white-space:nowrap;pointer-events:none;font-size:12px;position:absolute;bottom:1rem;right:50%;transform:translate(50%)rotate(180deg)}.sequence__pager{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.sequence__pager:focus-within{clip-path:none;width:auto;height:auto;position:static;overflow:visible}@media (max-width:900px){.sequence__slide-label{display:none}.sequence__pager{clip-path:none;width:auto;height:auto;position:static;overflow:visible}}.home__field .footer-water{pointer-events:none;position:absolute;inset:0}.home__field .footer-water canvas{width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.home__field .footer-water__sharks{z-index:1}.home__field .footer-water__ascii{z-index:2}.cover__shot video{width:100%;height:auto;display:block}@media (prefers-reduced-motion:reduce){.cover__shot video{display:none}}.cover__reduced-poster{display:none!important}@media (prefers-reduced-motion:reduce){.cover__reduced-poster{display:block!important}}@media (min-width:901px){.gallery-item:nth-child(n+12){grid-column:span 6}}.gallery-main .gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:96px 24px;margin-top:3rem;display:grid}.gallery-main .gallery-item:nth-child(4n+1){grid-column:1/span 6;margin-top:0}.gallery-main .gallery-item:nth-child(4n+2){grid-column:8/span 5;margin-top:112px}.gallery-main .gallery-item:nth-child(4n+3){grid-column:1/span 4;margin-top:0}.gallery-main .gallery-item:nth-child(4n+4){grid-column:6/span 7;margin-top:40px}.gallery-main .gallery-item figcaption{display:none}@media (max-width:900px){.gallery-main .gallery-grid{flex-direction:column;gap:4.25rem;display:flex}.gallery-main .gallery-item:nth-child(n){width:100%;margin-top:0}}.cv-page{width:min(896px,100% - 48px);margin:0 auto;padding:9rem 0 5rem}.cv-page__head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2rem;display:flex}.cv-page h1{font-size:28px;font-weight:500}.cv-page__download{text-underline-offset:4px;text-decoration:underline}.cv-page iframe{border:1px solid var(--line);background:#fff;width:100%;height:min(1200px,120vh);display:block}.cover__video{z-index:1;position:absolute;inset:0}.cover__video video{object-fit:cover;width:100%;height:100%;display:block}.cover--video:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#0009,#0000 75%);position:absolute;inset:0}.cover--video .cover__title,.cover--video .cover__top{color:#fff;text-shadow:0 2px 16px #000000bf}.site-nav,.mobile-menu nav,.mobile-bar__mark,.projects-main .rail-card__title,.projects-main .cover__title,.projects-main .cover__full-label,.project-main h1,.project-main h2,.project-main .cover__title,.project-main .cover__full-label{font-family:var(--serif)}.cv-page__intro{max-width:46rem;color:var(--muted);line-height:1.7}.cv-page__experience{margin-top:4rem}.cv-page__experience h2{margin-bottom:1.5rem;font-size:18px;font-weight:500}.cv-entry{border-top:1px solid var(--line);padding:1.6rem 0}.cv-entry__heading{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.cv-entry h3{font-size:17px;font-weight:600}.cv-entry__meta{color:var(--muted);font-size:14px}.cv-entry ul{color:var(--muted);max-width:48rem;margin:1rem 0 0;padding-left:1.25rem}.cv-entry li+li{margin-top:.4rem}.cover--hero .cover__full{object-fit:cover;object-position:top center}.cover--hero .cover__full-label{color:#fff;text-shadow:0 2px 20px #000000e6}.project-hero .cover:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(to bottom, transparent 20%, #020e1d1f 38%, #020e1d94 68%, var(--bg) 100%);position:absolute;inset:0}.site-nav a{transition:transform .62s cubic-bezier(.18,1.45,.32,1),opacity .3s;transition-delay:var(--nav-delay,0s);transform:translateY(0)}.site-nav a:first-child{--nav-delay:20ms}.site-nav a:nth-child(2){--nav-delay:75ms}.site-nav a:nth-child(3){--nav-delay:35ms}.site-nav a:nth-child(4){--nav-delay:.105s}.site-nav a:nth-child(5){--nav-delay:55ms}.site-nav--hidden a{opacity:0;pointer-events:none;transition-duration:.23s,.18s;transition-timing-function:cubic-bezier(.55,0,1,.35),ease;transform:translateY(-90px)}.site-nav--hidden a:first-child{--nav-delay:50ms}.site-nav--hidden a:nth-child(2){--nav-delay:10ms}.site-nav--hidden a:nth-child(3){--nav-delay:70ms}.site-nav--hidden a:nth-child(4){--nav-delay:25ms}.site-nav--hidden a:nth-child(5){--nav-delay:0s}@media (prefers-reduced-motion:reduce){.site-nav a{transition-delay:0s!important}}.project-body{padding-top:1.5rem}.project-context{border-bottom:1px solid var(--line);margin-top:2rem}.project-context summary{cursor:pointer;color:var(--muted);padding:.9rem 0}.project-context summary:hover,.project-context summary:focus-visible{color:var(--fg)}.project-context__body{max-width:46rem;color:var(--muted);padding:0 0 1.25rem;line-height:1.7}.project-context__body ul{margin:.8rem 0;padding-left:1.25rem}.project-context__body strong{color:var(--fg);font-weight:500}@media (min-width:901px){.projects-main{height:100dvh}.rail-card__purpose{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}body:has(main:not(.home-main)){--bg:#020e1d;background-color:#020e1d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.075'/%3E%3C/svg%3E"),linear-gradient(#020e1d 0%,#11386d 100%);background-repeat:repeat,no-repeat;background-size:240px 240px,100% 100%;background-attachment:fixed}.lightbox__scan{border-radius:4px;position:relative;overflow:hidden}.lightbox__scan .lightbox__image{animation:.6s cubic-bezier(.22,1,.36,1) both gallery-blur-in}.lightbox__image--previous{animation:.6s both gallery-fade-out}@keyframes gallery-blur-in{0%{opacity:0;filter:blur(10px)}to{opacity:1;filter:blur()}}@keyframes gallery-fade-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.lightbox__scan .lightbox__image,.lightbox__image--previous{animation:none}}.lightbox__stage{flex:0 0 72vh;width:min(90vw,1400px);height:72vh;max-height:none;position:relative}.lightbox__scan,.lightbox__image--previous{width:100%;max-width:none;height:100%;max-height:none;position:absolute;inset:0}.lightbox__scan .lightbox__image,.lightbox__image--previous{object-fit:contain;width:100%;max-width:none;height:100%;max-height:none}.lightbox__bar{flex:0 0 4.5rem;height:4.5rem}.lightbox__caption{max-height:4.5rem;overflow-y:auto}@media (max-width:900px){.lightbox__stage{flex-basis:64vh;width:96vw;height:64vh}.lightbox__bar{flex-basis:6rem;height:6rem}.lightbox__caption{max-height:3rem}}@media (min-width:901px){.projects-main{justify-content:flex-start;padding-top:8.5rem}.rail-card{--rail-height:min(62vh, 42rem, calc(100dvh - 15rem));flex-basis:calc(var(--rail-height) * 1.5);width:calc(var(--rail-height) * 1.5)}.rail-card__media{height:var(--rail-height)}.gallery-main{padding-top:8.5rem}.gallery-inner{width:min(var(--container), calc(100% - 3rem))}.gallery-main .gallery-grid{margin-top:0}}@media (max-width:900px){.gallery-main .gallery-grid{margin-top:0}}html:has(body main:not(.home-main)){background:#020e1d}html:has(body .home-main){background:#062956}@media (min-width:901px){.rail-card:hover .cover__frame,.rail-card:focus-visible .cover__frame{transform:rotate(-4deg)scale(1.025)}}.rail-card .cover--full:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(110deg,#000000ad,#0000 72%);position:absolute;inset:0}.rail-card .cover--full .cover__full-label{color:#fff;text-shadow:0 2px 16px #000000bf;top:1.25rem;bottom:auto}.mobile-bar,.mobile-bar--over{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.gallery-columns{display:none}@media (max-width:900px){.gallery-columns{justify-content:flex-end;gap:0;margin-bottom:1rem;display:flex}.gallery-columns button{width:28px;height:44px;color:var(--muted);place-items:center;display:grid}.gallery-columns__icon{justify-content:center;align-items:center;gap:2px;display:flex}.gallery-columns__icon i{background:currentColor;border-radius:999px;width:1px;height:7px;display:block}.gallery-columns button[aria-pressed=true]{color:var(--fg)}.gallery-main .gallery-grid{gap:12px;display:grid}.gallery-main .gallery-grid--columns-1{grid-template-columns:repeat(1,minmax(0,1fr));gap:2.5rem}.gallery-main .gallery-grid--columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-main .gallery-grid--columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-main .gallery-item:nth-child(n){grid-column:auto;width:100%;margin:0}}.project-section .project-figure+.project-figure{margin-top:2rem}body:has(.project-hero .cover--paper) .mobile-bar--over{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.home__projects-link{text-decoration-skip-ink:none;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 70%, transparent);text-decoration-color:color-mix(in srgb, currentColor 70%, transparent);text-underline-offset:3px;white-space:nowrap}.sequence__track--scroll{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:1rem;display:flex;overflow-x:auto}.sequence__track--scroll .sequence__slide{scroll-snap-align:start;flex:0 0 85%;height:auto}.sequence__track--scroll .sequence__slide img{opacity:1;object-fit:contain;width:100%;height:auto}.sequence__track--scroll:focus-visible{outline-offset:4px;outline:2px solid}.site-nav,.mobile-bar{color:#fff;mix-blend-mode:difference}:is(body:has(.project-hero .cover--paper) .site-nav--over,body:has(.project-hero .cover--paper) .mobile-bar--over){color:#fff}body:has(.mobile-menu.is-open) .mobile-bar{mix-blend-mode:normal;color:#fff7f0}.rail-card__media :is(.cover__title,.cover__full-label){color:#fff;letter-spacing:-.045em;max-width:75%;text-shadow:none;font-size:clamp(1.5rem,2.35vw,2.7rem);font-weight:500;line-height:1;display:block;inset:1.25rem 1.25rem auto}.rail-card__caption>p:first-child{display:block}@media (max-width:900px){.rail-card__media :is(.cover__title,.cover__full-label){font-size:1.9rem;top:1rem;left:1rem;right:1rem}}.site-nav,.mobile-bar{mix-blend-mode:normal;color:#fff}.site-nav a,.mobile-bar__mark,.mobile-bar__menu{text-shadow:0 1px 5px #000000bf}.site-nav a{opacity:1}.project-body{--project-section-gap:4.5rem;--project-media-gap:1.5rem;--project-copy-gap:.55rem}.project-sections,.project-section+.project-section,.project-video,.project-nav{margin-top:var(--project-section-gap)}.project-section__copy p{margin-top:var(--project-copy-gap)}.project-figure,.project-code,.project-section .project-figure+.project-figure{margin-top:var(--project-media-gap)}.project-figure figcaption{margin-top:.5rem}.project-context__body p+p,.project-context__body ul+p{margin-top:.65rem}.project-context__body ul{margin:.65rem 0}.sequence{margin-top:var(--project-media-gap)}.project-video h2{margin:0 0 var(--project-media-gap);letter-spacing:-.015em;color:var(--fg);font-size:18px;font-weight:600;line-height:1.4}@media (max-width:900px){.project-body{--project-section-gap:3rem;--project-media-gap:1.1rem}}.rail-card__mobile-title{display:none}@media (max-width:900px){.rail-card__media :is(.cover__title,.cover__full-label){display:none}.rail-card__mobile-title{font-family:var(--serif);letter-spacing:-.045em;font-size:1.9rem;font-weight:500;line-height:1.1;display:block}.rail-card__mobile-title+.rail-card__purpose{margin-top:.45rem}}.gallery-main .gallery-item__button:has(img[alt="Museum Exhibition Graphics 1"]){aspect-ratio:1/1.15}.gallery-main .gallery-item__button img[alt="Museum Exhibition Graphics 1"]{object-fit:cover;height:100%;transform:scale(1.65)}.gallery-main .gallery-item__button:hover img[alt="Museum Exhibition Graphics 1"]{transform:scale(1.68)}.gallery-columns{justify-content:flex-end;gap:0;margin-bottom:1rem;display:flex}.gallery-columns button{width:36px;height:44px;color:var(--muted);place-items:center;display:grid}.gallery-columns__icon{justify-content:center;align-items:center;gap:2px;display:flex}.gallery-columns__icon i{background:currentColor;border-radius:999px;width:1px;height:9px;display:block}.gallery-columns button[aria-pressed=true]{color:var(--fg)}.gallery-columns button:focus-visible,.gallery-to-top:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.gallery-main .gallery-grid{gap:2rem 1.5rem;display:grid}.gallery-main .gallery-grid--columns-1{grid-template-columns:repeat(1,minmax(0,1fr))}.gallery-main .gallery-grid--columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-main .gallery-grid--columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-main .gallery-grid .gallery-item:nth-child(n){grid-column:auto;width:100%;margin:0}.gallery-to-top{right:max(1.25rem, env(safe-area-inset-right));bottom:max(1.25rem, env(safe-area-inset-bottom));z-index:55;border:1px solid var(--line);width:44px;height:44px;color:var(--fg);background:#020e1d;border-radius:50%;place-items:center;font-size:1.25rem;display:grid;position:fixed}@media (max-width:900px){.gallery-columns button{width:28px}.gallery-main .gallery-grid{gap:12px}.gallery-main .gallery-grid--columns-1{gap:2.5rem}}.site-nav:not(.site-nav--hidden) a{opacity:.58}.site-nav:not(.site-nav--hidden) a[aria-current=page],.site-nav:not(.site-nav--hidden) a:hover,.site-nav:not(.site-nav--hidden) a:focus-visible{opacity:1}.gallery-main .gallery-grid{column-gap:clamp(1rem,3vw,2.5rem);display:block}.gallery-main .gallery-grid--columns-2{column-count:2}.gallery-main .gallery-grid--columns-3{column-count:3}.gallery-main .gallery-grid--columns-4{column-count:4}.gallery-main .gallery-grid .gallery-item:nth-child(n){break-inside:avoid;width:100%;margin:0 0 clamp(2.5rem,6vw,5rem);display:inline-block}.gallery-main .gallery-grid .gallery-item:nth-child(4n+2){width:84%;margin-left:16%}.gallery-main .gallery-grid .gallery-item:nth-child(4n+3){width:90%}@media (max-width:900px){.gallery-main .gallery-grid{column-gap:.75rem}.gallery-main .gallery-grid .gallery-item:nth-child(n){margin-bottom:1.5rem}}
