@font-face{font-family:Noto Sans;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/d0daeb77ad486505-s.3e69tg4c48nn6.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:Noto Sans;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/13c8bea787795a91-s.2v19e1tj9utm9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Noto Sans;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/fb34704f4f4f68ab-s.10xp3ztz64-x5.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Noto Sans;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/26229c3b890d5b41-s.27k1jrsqo381m.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Noto Sans;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/ec173da4e4ac482c-s.3f00j5la6zyv3.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:Noto Sans;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/eca1cc1e672884b5-s.0iudtydy6ujc_.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:Noto Sans;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/05ce0245cbf07d46-s.04pt35s93a97i.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/dc6d2a64e9dbf3bc-s.p.3yrvj83qsyboh.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:Noto Sans Fallback;src:local(Arial);ascent-override:100.54%;descent-override:27.56%;line-gap-override:0.0%;size-adjust:106.33%}.noto_sans_73cee7c5-module__6zmPqq__className{font-family:Noto Sans,Noto Sans Fallback;font-style:normal}.noto_sans_73cee7c5-module__6zmPqq__variable{--font-sans-face:"Noto Sans", "Noto Sans Fallback"}
:root{--neutral-100:#fff;--neutral-200:#f5f5f5;--neutral-300:#ebebeb;--neutral-400:#d4d4d4;--neutral-600:#8e8e8e;--neutral-900:#0d0d0d;--mint-200:#c5f2de;--bg-canvas:var(--neutral-100);--bg-surface:var(--neutral-200);--bg-accent:var(--mint-200);--bg-inverse:var(--neutral-900);--text-primary:var(--neutral-900);--text-muted:var(--neutral-600);--text-on-inverse:var(--neutral-100);--text-on-accent:var(--neutral-900);--border-subtle:var(--neutral-300);--border-default:var(--neutral-400);--border-strong:var(--neutral-900);--border-media:color-mix(in srgb, var(--neutral-900) 5%, transparent);--underline-rest:var(--neutral-400);--underline-active:var(--neutral-900)}
:root{--font-sans:"Inter", system-ui, sans-serif;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--type-display-size:60px;--type-display-line:1.08;--type-display-track:-.036em;--type-h1-size:44px;--type-h1-line:1.12;--type-h1-track:-.03em;--type-h2-size:32px;--type-h2-line:1.18;--type-h2-track:-.022em;--type-h3-size:23px;--type-h3-line:1.28;--type-h3-track:-.016em;--type-title-size:17px;--type-title-line:1.35;--type-title-track:-.008em;--type-lead-size:20px;--type-lead-line:1.55;--type-body-size:17px;--type-body-line:1.6;--type-body-measure:640px;--type-body-sm-size:15px;--type-body-sm-line:1.55;--type-wordmark-size:18px;--type-wordmark-track:.11em;--type-nav-size:14px;--type-nav-track:.06em;--type-button-size:16px;--type-label-size:12px;--type-label-track:.09em;--type-caption-size:13px;--type-caption-line:1.45}
:root{--space-1:8px;--space-2:16px;--space-3:24px;--space-4:40px;--space-5:64px;--space-6:120px;--layout-max:1240px;--layout-columns:12;--layout-gutter:24px;--prose-measure:640px}
:root{--radius-none:0;--radius-md:12px;--radius-full:999px;--control-height:46px;--icon-stroke:1.75;--icon-size:24px}
:root{--ease-standard:cubic-bezier(.2, 0, 0, 1);--duration-arrow:.3s;--duration-underline:.32s;--duration-hover:.16s;--arrow-travel:17px;--arrow-gap:10px}

:root{--font-sans:var(--font-sans-face), system-ui, sans-serif;--grain-opacity:.045;--grain-tile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");--radius-lg:20px;--radius-xl:28px;--page-inset:max(var(--space-4), calc((100vw - var(--layout-max)) / 2));--sheet-duration-enter:.64s;--sheet-duration-exit:.48s;--ease-sheet:cubic-bezier(.65, 0, .35, 1)}.sheet__panel:has(.project){--bg-canvas:#fff;--bg-surface:color-mix(in srgb, var(--neutral-900) 4%, var(--bg-canvas));--border-subtle:color-mix(in srgb, var(--neutral-900) 8%, var(--bg-canvas));--border-default:color-mix(in srgb, var(--neutral-900) 17%, var(--bg-canvas));--text-muted:color-mix(in srgb, var(--neutral-900) 57%, var(--bg-canvas))}*{box-sizing:border-box}:root{--highlight-ink:var(--text-primary);--highlight-fill:#d8e2c9;--home-band:clamp(var(--space-3), 6.5vh, var(--space-6))}::selection{color:var(--highlight-ink);background:var(--highlight-fill);text-shadow:none}.is-highlighted,.hl.is-highlighted{color:var(--highlight-ink);background:var(--highlight-fill);transition:color var(--duration-hover) var(--ease-standard), background-color var(--duration-hover) var(--ease-standard)}.hl{color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:color var(--duration-hover) var(--ease-standard), background-color var(--duration-hover) var(--ease-standard);background:0 0}@media (prefers-reduced-motion:reduce){.is-highlighted,.hl{transition:none}}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;isolation:isolate;position:relative}body:before{content:"";z-index:-1;pointer-events:none;background-image:var(--grain-tile);opacity:var(--grain-opacity);background-size:160px 160px;position:fixed;inset:0}body{flex-direction:column;min-height:100dvh;display:flex}.site-nav,.site-footer{flex:none}main{flex:auto;min-height:0}.site-nav{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--page-inset);background:var(--bg-canvas);border-bottom:1px solid var(--border-subtle);will-change:transform;transition:transform .38s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0}.site-nav--hidden{transform:translateY(-100%)}.site-nav__name{font-size:var(--type-wordmark-size);font-weight:var(--weight-semibold);letter-spacing:var(--type-wordmark-track);text-transform:uppercase;color:var(--text-primary);text-decoration:none}.site-nav__links{align-items:center;gap:var(--space-4);display:flex}.nav-link{font-family:var(--font-sans);font-size:var(--type-nav-size);font-weight:var(--weight-medium);letter-spacing:var(--type-nav-track);text-transform:uppercase;color:var(--text-primary);align-items:center;gap:7px;padding-bottom:5px;text-decoration:none;display:inline-flex;position:relative}.nav-link:after{content:"";background:var(--underline-active);transform-origin:100%;height:1.5px;transition:transform var(--duration-underline) var(--ease-standard);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link:hover:after,.nav-link:focus-visible:after{transform-origin:0;transform:scaleX(1)}.nav-link:focus-visible{outline:none}.site-footer{justify-content:center;align-items:center;column-gap:var(--space-2);row-gap:var(--space-1);padding:var(--space-3) var(--page-inset);background:0 0;flex-wrap:wrap;display:flex}.site-footer__copy{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);color:var(--text-primary)}.site-footer__place{align-items:center;gap:var(--space-1);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);color:var(--text-muted);white-space:nowrap;padding-left:var(--space-2);display:inline-flex;position:relative}.site-footer__place:before{content:"";background:var(--border-default);width:1px;height:.75em;position:absolute;top:50%;left:0;transform:translateY(-50%)}.site-footer__dot{opacity:.6;background:currentColor;border-radius:50%;width:3px;height:3px}.site-footer__time{font-variant-numeric:tabular-nums;min-width:5.5em}body:has(.home){--type-display-size:clamp(26px, min(4.6vh, 9vw), 60px);--card-pad:clamp(var(--space-2), 2.2vh, var(--space-3));min-height:100dvh}body:has(.home) main{flex-direction:column;min-height:0;display:flex}.home{flex-direction:column;flex:auto;justify-content:flex-start;min-height:0;display:flex}.hero{padding:var(--home-band) var(--page-inset) 0;align-items:stretch;gap:var(--space-4);flex:none;grid-template-columns:minmax(0,1fr) auto;display:grid}.hero__portrait{aspect-ratio:16/9;background:var(--bg-surface);color:var(--text-muted);border-radius:var(--radius-lg);border:1px solid var(--border-media);flex:none;justify-content:center;align-self:stretch;align-items:center;display:flex;position:relative;overflow:hidden}.hero__slide{visibility:hidden;position:absolute;inset:0}.hero__slide img,.hero__slide video{object-fit:cover;width:100%;height:100%;display:block}.hero__slide.is-current{visibility:visible}.hero__slide.is-in{visibility:visible;z-index:2;animation:hero-slide-in var(--hero-slide-ms,.64s) var(--ease-standard) both}.hero__slide.is-out{visibility:visible;z-index:1;animation:hero-slide-out var(--hero-slide-ms,.64s) var(--ease-standard) both}@keyframes hero-slide-in{0%{transform:translateY(-100%)}}@keyframes hero-slide-out{to{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.hero__slide.is-in,.hero__slide.is-out{animation:none}}.hero__title{font-size:var(--type-h1-size);line-height:var(--type-h1-line);letter-spacing:var(--type-h1-track);font-weight:var(--weight-semibold);max-width:19ch;margin:0}.hero__desc{margin:clamp(var(--space-2), 2.2vh, var(--space-3)) 0 0;max-width:calc(var(--type-body-measure) + 4em);font-size:var(--type-lead-size);line-height:var(--type-lead-line);color:var(--text-primary)}.hero__role{margin:var(--space-1) 0 0;font-size:var(--type-lead-size);line-height:var(--type-lead-line);color:var(--text-primary)}.hero__company{white-space:nowrap}.hero__chip{vertical-align:middle;color:inherit;border-radius:var(--radius-full);transition:transform var(--duration-hover) var(--ease-standard);background:#fff;border:1px solid #0000;align-items:baseline;gap:8px;margin-inline-start:.25em;padding:4px 12px;line-height:1;text-decoration:none;display:inline-flex;position:relative;top:.02em;transform:rotate(2deg);box-shadow:0 1px 2px #0000000f,0 1px 6px #0000000d}.hero__chip>span{font-size:.9em}.hero__chip:hover,.hero__chip:focus-visible{transform:rotate(0)}@media (prefers-reduced-motion:reduce){.hero__chip{transition:none}}.hero__chip-logo{width:auto;height:.85em;font-size:.9em;display:block}.hero__cta{margin-top:clamp(var(--space-3), 3.4vh, 32px);align-items:center;gap:var(--space-2);display:flex}.works{flex-direction:column;flex:1 0 auto;justify-content:center;min-height:0;display:flex}.works__title{padding:var(--home-band) var(--page-inset) var(--space-1);font-size:var(--type-h3-size);line-height:var(--type-h3-line);letter-spacing:var(--type-h3-track);font-weight:var(--weight-semibold);flex:none;margin:0}.carousel{--carousel-gap:var(--space-2);--carousel-bleed:var(--space-1);--card-strip:164px;--card-line-h3:calc(var(--type-h3-size) * var(--type-h3-line));--card-line-sm:calc(var(--type-body-sm-size) * var(--type-body-sm-line));--card-foot:calc(var(--type-label-size) + 12px + var(--space-2) + 2 * var(--card-line-h3) + 3px + 2 * var(--card-line-sm) + var(--card-pad));--card-copy:calc(var(--card-foot) - var(--card-line-h3));--card-ratio:588 / 634;--card-size:588px;align-items:flex-start;gap:var(--carousel-gap);min-height:0;margin:0 calc(var(--page-inset) - var(--carousel-bleed));padding:var(--space-1) var(--carousel-bleed) var(--space-3);scroll-snap-type:x mandatory;scroll-padding-left:var(--carousel-bleed);scrollbar-width:none;flex:0 auto;display:flex;overflow:auto hidden}.carousel::-webkit-scrollbar{display:none}.card{--card-fg:var(--text-primary);--card-media:var(--neutral-300);--card-veil:var(--neutral-200);scroll-snap-align:start;scroll-snap-stop:always;width:var(--card-size);flex:none;display:flex}.card__link{min-width:0;aspect-ratio:var(--card-ratio);background:var(--card-veil);border-radius:var(--radius-xl);color:var(--card-fg);flex-direction:column;flex:auto;text-decoration:none;display:flex;position:relative;overflow:hidden}.card__link:focus-visible{outline:2px solid var(--text-primary);outline-offset:3px}.card__media{background:var(--card-media);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.card__media:has(.card__media-el){background:var(--card-veil)}.card__media-el{object-fit:contain;width:100%;height:100%;transform-origin:var(--art-origin,50% 100%);transform:translateY(var(--art-y-open,0px)) scale(var(--art-k-open,1));display:block}.card__media-empty{flex-direction:column;align-items:center;gap:8px;display:flex}.card__media-label{font-size:var(--type-label-size);font-weight:var(--weight-medium);letter-spacing:var(--type-label-track);text-transform:uppercase}.card__content{z-index:1;height:var(--card-strip);padding:var(--card-pad) calc(var(--card-pad) + 1px) calc(var(--card-pad) + 1px);flex-direction:column;justify-content:flex-end;align-items:flex-start;display:flex;position:absolute;inset:auto -1px -1px}.home .card__tags{margin:0 0 var(--space-1);font-size:var(--type-label-size);font-weight:var(--weight-medium);letter-spacing:.06em;flex-wrap:wrap;align-items:center;gap:6px;padding:0;line-height:1;list-style:none;display:flex}.home .card__chip{background:var(--card-chip-bg,#ffffff80);color:var(--card-chip-fg,#000000b3);border:0;border-radius:999px;align-items:center;margin:0;padding:3px 8px;display:inline-flex}.card__title{font-size:var(--type-h3-size);line-height:var(--type-h3-line);letter-spacing:var(--type-h3-track);font-weight:var(--weight-semibold);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 4px;padding-bottom:4px;display:-webkit-box;overflow:hidden}.card__copy{flex-direction:column;align-items:flex-start;display:flex}.card__summary{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);color:inherit;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 -4px;padding-bottom:4px;display:-webkit-box;overflow:hidden}@media (hover:hover){.card__copy{--card-copy-shift:calc(2 * var(--card-line-sm) + 8px);transform:translateY(var(--card-copy-shift));transition:transform var(--duration-underline) var(--ease-standard)}.card__summary{opacity:0;transition:opacity calc(var(--duration-underline) * .6) var(--ease-standard)}.card__link:hover .card__copy,.card__link:focus-visible .card__copy{transform:none}.card__link:hover .card__summary,.card__link:focus-visible .card__summary{opacity:1}.card__tags{transition:opacity calc(var(--duration-underline) * .6) var(--ease-standard)}.card__link:hover .card__tags,.card__link:focus-visible .card__tags{opacity:0}.card__media-el{transform:translateY(var(--art-y-rest,0px)) scale(var(--art-k-rest,1));transition:transform var(--duration-underline) var(--ease-standard)}.card__link:hover .card__media-el,.card__link:focus-visible .card__media-el{transform:translateY(var(--art-y-open,0px)) scale(var(--art-k-open,1))}}@media (prefers-reduced-motion:reduce){.card,.card__link,.card__link:hover{transition:none;transform:none}.card:has(.card__link:hover)~.card{transition:none;transform:none}.card:has(~.card .card__link:hover){transition:none;transform:none}.card__media-el,.card__copy,.card__summary{transition:none}}@media (max-height:720px) and (min-width:768px){body:has(.home) .site-nav{padding-top:var(--space-1);padding-bottom:var(--space-1)}body:has(.home) .site-footer{padding-top:var(--space-2);padding-bottom:var(--space-2)}}@media (max-height:480px) and (min-width:768px){body:has(.home){--type-display-size:clamp(20px, 5.2vh, 26px)}body:has(.home) .hero__title{max-width:none}body:has(.home) .hero__desc{display:none}body:has(.home) .hero__cta{display:none}body:has(.home) .hero__portrait{display:none}body:has(.home) .card__media-label{display:none}}@media (max-width:767px){body{--page-inset:var(--space-3);--type-display-size:40px;--type-h1-size:32px;--type-h2-size:26px;--type-h3-size:20px;--type-lead-size:18px;--type-body-size:16px;--type-wordmark-size:15px;--type-nav-size:12px}.site-nav{gap:var(--space-2)}body:has(.home){height:auto;min-height:100dvh;overflow:visible}body:has(.home) main{display:block}.home{justify-content:flex-start}.hero{display:block}.hero__portrait{width:120px;margin-top:var(--space-3)}.works{flex:none}.carousel{--card-size:100%;--carousel-bleed:0px;align-items:stretch;gap:var(--space-3);padding-bottom:var(--space-4);scroll-snap-type:none;flex-direction:column;overflow:visible}.card{width:100%}}.project{--prose-measure:740px;--project-measure:var(--prose-measure);--header-measure:900px;padding:var(--space-6) var(--page-inset)}.project__head,.project__intro,.project__cover{max-width:var(--header-measure);margin-inline:auto}.project__head,.project__intro{text-align:center}.project__company,.project__tags,.project__meta{justify-content:center}.project__masthead{gap:var(--space-4);margin-bottom:calc(var(--space-4) * 2);grid-template-columns:1fr;display:grid}.project__masthead-info{min-width:0}.project__masthead-media{aspect-ratio:7/8;background:var(--bg-surface);border-radius:var(--radius-none);margin:0;position:relative;overflow:hidden}.project__masthead-media img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.project__masthead-media--placeholder{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}@media (min-width:1000px){.project__masthead{gap:var(--space-5);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:stretch}.project__masthead-media{aspect-ratio:auto}}.project__kicker{font-size:var(--type-label-size);font-weight:var(--weight-medium);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text-muted)}.project__title{max-width:900px;font-size:var(--type-h1-size);line-height:var(--type-h1-line);letter-spacing:var(--type-h1-track);font-weight:var(--weight-semibold);margin:0 auto}.project__deck{margin:var(--space-2) auto 0;max-width:var(--prose-measure);font-size:var(--type-lead-size);line-height:var(--type-lead-line);color:var(--text-muted)}.project__intro{margin-top:var(--space-3);margin-bottom:calc(var(--space-4) * 2);gap:var(--space-4);flex-direction:column;display:flex}.project__summary{max-width:var(--prose-measure);font-size:var(--type-lead-size);line-height:var(--type-lead-line);color:var(--text-primary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.project__company{align-items:center;gap:12px;display:flex}.project__company-logo{border-radius:var(--radius-full);background:var(--bg-surface);width:36px;height:36px;color:var(--text-muted);font-size:var(--type-body-sm-size);font-weight:var(--weight-semibold);flex:none;justify-content:center;align-items:center;display:inline-flex}.project__company-logo--image{object-fit:contain;border:1px solid var(--border-media);background:var(--bg-surface);display:block}.project__company-mark{border-radius:var(--radius-full);flex:none;line-height:0;text-decoration:none;display:inline-flex}.project__company-mark:focus-visible{outline:2px solid var(--underline-active);outline-offset:2px}.project__company-name{font-size:var(--type-body-size);font-weight:var(--weight-medium);color:var(--text-primary)}.project__company-link{color:inherit;text-decoration:none;position:relative}.project__company-link:after{content:"";background:var(--underline-active);transform-origin:100%;height:1.5px;transition:transform var(--duration-underline) var(--ease-standard);position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.project__company-link:hover:after,.project__company-link:focus-visible:after{transform-origin:0;transform:scaleX(1)}.project__meta{width:auto;max-width:100%;padding-top:var(--space-4);border-top:1px solid var(--border-subtle);row-gap:var(--space-2);column-gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,max-content));margin:0;display:grid}@media (max-width:600px){.project__meta{grid-template-columns:minmax(0,max-content)}}.project__meta-item{text-align:left}.project__meta-item dt{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);font-weight:var(--weight-semibold);color:var(--text-primary)}.project__meta-item dd{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);color:var(--text-primary);margin:4px 0 0}.project__sep{color:var(--text-muted);margin:0 .1em;display:inline-block}.project__tags{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.project__tag{border:1px solid var(--border-subtle);border-radius:var(--radius-full);font-size:var(--type-label-size);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);align-items:center;padding:5px 10px;line-height:1;display:inline-flex}.project__composition-figure{width:100%;margin:0}.project__composition{--crop-x:84;--crop-y:45.52;--crop-w:1718.53;--crop-h:988.96;aspect-ratio:var(--crop-w) / var(--crop-h);position:relative;overflow:hidden}.project__composition-frame{top:calc(var(--crop-y) / var(--crop-h) * -100%);left:calc(var(--crop-x) / var(--crop-w) * -100%);width:calc(1920 / var(--crop-w) * 100%);aspect-ratio:16/9;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:0 0;border:0;height:auto;position:absolute}.project__cover{margin:calc(var(--space-4) * 2) auto;aspect-ratio:16/9;background:var(--bg-surface);color:var(--text-muted);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.project__cover-label{font-size:var(--type-label-size);font-weight:var(--weight-medium);letter-spacing:var(--type-label-track);text-transform:uppercase}.project__cover--image{border-radius:var(--radius-lg);padding:0;overflow:hidden}.project__cover-img,.project__body img,.project__body video{object-fit:cover;border-radius:var(--radius-lg);width:100%;height:auto;display:block}.project__cover-img{height:100%}.project__cover,.project__body img,.project__body video,.project__masthead-media,.card__link,.rcard__media,.animedia{border:1px solid var(--border-media)}.card__link{border-color:var(--card-border,var(--border-media))}.project__body img.is-bare,.project__body video.is-bare{background:0 0;border:0;border-radius:0}.project__quote{max-width:var(--project-measure);margin:0 auto var(--space-5);padding-left:var(--space-3);border-left:2px solid var(--text-primary);font-size:var(--type-h3-size);line-height:var(--type-h3-line);font-weight:var(--weight-medium);color:var(--text-primary)}.project__note{max-width:var(--project-measure);margin:0 auto var(--space-5);font-size:var(--type-body-size);line-height:var(--type-body-line);color:var(--text-primary)}.project__note-label{font-weight:var(--weight-semibold)}.project__body{max-width:var(--project-measure);gap:var(--space-6);flex-direction:column;margin-inline:auto;display:flex}.project__section-title{margin:0 0 var(--space-3);font-size:var(--type-h2-size);line-height:var(--type-h2-line);letter-spacing:var(--type-h2-track);font-weight:var(--weight-semibold)}.project__prose{max-width:var(--prose-measure);font-size:var(--type-body-size);line-height:var(--type-body-line);color:var(--text-primary)}.project__prose p{margin:0}.project__prose p+p{margin-top:var(--space-2)}.project__subhead{margin:var(--space-4) 0 var(--space-2);font-size:var(--type-h3-size);line-height:var(--type-h3-line);font-weight:var(--weight-semibold);color:var(--text-primary)}.project__prose>.project__subhead:first-child{margin-top:0}.project__em{font-weight:var(--weight-semibold)}.project__list{margin:var(--space-2) 0 0;flex-direction:column;gap:6px;padding-left:1.25em;display:flex}.project__list li{padding-left:4px}ol.project__list{list-style:decimal}.project__prose p+.project__list,.project__list+p{margin-top:var(--space-2)}.project__figures{margin:var(--space-4) 0}.project__figrow{grid-template-columns:var(--figrow-columns,repeat(2, minmax(0, 1fr)));align-items:center;gap:8px;display:grid}.project__figrow[data-count="1"]{grid-template-columns:1fr}.project__figrow img,.project__figrow video{object-fit:cover;background:var(--bg-surface);width:100%;height:auto;display:block}@media (min-width:768px){.project__figrow:not([data-count="1"]) img:not(.is-bare),.project__figrow:not([data-count="1"]) video:not(.is-bare){height:calc(var(--prose-measure) * 9 / 16)}}.project__figrow img.is-bare,.project__figrow video.is-bare{object-fit:contain;height:auto}.project__figrow:not([data-count="1"]):has(.is-bare){--figrow-air:var(--space-4);gap:var(--figrow-air);padding-inline:var(--figrow-air)}.project__figcaption{--figcaption-measure:min(450px, calc(100vw - 2 * var(--page-inset)));width:var(--figcaption-measure);margin-top:var(--space-2);margin-inline:calc((100% - var(--figcaption-measure)) / 2);text-align:center;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);color:var(--text-muted)}.project__figcaption--action{justify-content:center;align-items:center;gap:var(--space-1);display:flex}.project__figcaption--action svg{width:1.2em;height:1.2em}.project__figures--margin .project__figcaption{width:100%;margin-inline:0}.project__figures--center{max-width:var(--figures-center-width,300px);margin-inline:auto}.project__figures--wide{--figures-wide-pull:max(0px, ( min(var(--header-measure), 100vw - var(--page-inset) * 2) - var(--project-measure) ) / 2);margin-inline:calc(var(--figures-wide-pull) * -1)}.project__figures--margin{margin:var(--space-4) auto;max-width:260px}@media (min-width:1280px){.project__marginfig{margin:var(--space-2) 0;position:relative}.project__figures--margin{max-width:none;margin:0 var(--space-5) 0 0;width:min(260px, calc(50vw - var(--project-measure) / 2 - var(--space-5) - var(--space-4)));position:absolute;top:0;right:100%}.project__marginfig--bottom{padding-bottom:var(--space-4);margin:0}.project__figures--margin-bottom{top:auto;bottom:0}.project__marginfig--center{margin:0}.project__figures--margin-center{top:50%;transform:translateY(-50%)}.project__marginfig--top{margin:0}.project__figures--margin-end{margin:0 0 0 var(--space-5);left:100%;right:auto}.project__marginfig--last-line{margin:0}.project__marginfig--last-line+p{margin-top:var(--space-2)}.project__figures--margin-last-line{top:-1lh}.project__marginfig--first-line{padding-bottom:var(--space-2);margin:0}.project__figures--margin-first-line{top:100%}}.project__marginfig--bottom+.project__subhead{margin-top:0}.animedia{background:var(--bg-surface);cursor:pointer;width:100%;display:block;position:relative;overflow:hidden}.animedia__video{width:100%;height:auto;display:block}.animedia__cover{object-fit:cover;opacity:1;width:100%;height:100%;transition:opacity var(--duration-underline) var(--ease-standard);position:absolute;inset:0}.animedia__cover[data-hidden]{opacity:0}.animedia__replay{right:var(--space-3);bottom:var(--space-3);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:44px;height:44px;color:var(--text-primary);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--duration-underline) var(--ease-standard), background var(--duration-hover) var(--ease-standard);background:#ffffff80;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.animedia__replay svg{width:22px;height:22px}.animedia__replay[data-visible]{opacity:1;pointer-events:auto}.animedia__replay:hover{background:#ffffffb3}.project__figures--margin .animedia__replay,.project__figures--center .animedia__replay{right:var(--space-2);bottom:var(--space-2);width:34px;height:34px}.project__figures--margin .animedia__replay svg,.project__figures--center .animedia__replay svg{width:17px;height:17px}.phone{zoom:.9;cursor:url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%3E%3Ccircle%20cx='16'%20cy='16'%20r='13.25'%20fill='black'%20fill-opacity='.14'%20stroke='black'%20stroke-opacity='.3'%20stroke-width='1.5'/%3E%3C/svg%3E") 16 16,pointer;width:355px;height:716.106px;margin-inline:auto;position:relative}.phone__shadow{background:#000;border-radius:65.418px;position:absolute;inset:.17% 1% .33%}.phone__screen{-webkit-user-select:none;user-select:none;background:var(--background,#fff);border-radius:38px;height:696.916px;position:absolute;top:18.315px;left:5.65%;right:5.9%;overflow:hidden}.phone__scroll{overscroll-behavior:contain;position:absolute;inset:102.68px 0 73.23px;overflow:hidden auto}.phone__scroll.is-dragging,.phone__scroll.is-dragging .phone__rail{scroll-behavior:auto}.phone__rail{overscroll-behavior-x:contain;gap:10.4667px;padding:13.956px;display:flex;overflow:auto hidden}.phone__band{padding-block:13.956px}.phone__tint{background:var(--phone-tint)}.phone__scroll,.phone__rail{scrollbar-width:none;-ms-overflow-style:none}.phone__scroll::-webkit-scrollbar{display:none}.phone__rail::-webkit-scrollbar{display:none}.phone img,.phone video{-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:0;display:block}.phone__scroll img,.phone__scroll video,.phone__rail img{flex:none}.phone__statusbar,.phone__searchbar,.phone__bottomnav{width:314px;position:absolute;left:0}.phone__statusbar{top:.39px}.phone__searchbar{top:46.74px}.phone__bottomnav{bottom:18.24px}.phone__frame{object-fit:cover;pointer-events:none;border:0;border-radius:0;width:100%;max-width:none;height:100%;position:absolute;inset:0}@media (max-width:767px){.phone{zoom:.8}}.stack{transition:transform .45s cubic-bezier(.22,1,.36,1);position:relative}.stack:hover{transform:translateY(-2px)}.stack__back{--tilt:-1.5deg;width:100%;height:100%;transform:rotate(var(--tilt));transform-origin:0 100%;pointer-events:none;position:absolute;inset:0}.stack__back[data-depth="2"]{--tilt:-3deg}.stack__front{position:relative}.stack__front img{box-shadow:0 1px 3px #00000012,0 4px 12px #0000000d}.stack img{border:1px solid var(--border-media);border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;height:auto;display:block}.zoomable{width:100%;font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block}.zoomable>img{width:100%;display:block}.project__figrow .zoomable{transition:transform .45s cubic-bezier(.22,1,.36,1)}.project__figrow .zoomable:hover{transform:translateY(-2px)}.zoomable.is-static{cursor:default}.project__figrow .zoomable.is-static:hover{transform:none}.zoomable__thumb{display:block;position:relative}.zoomable__play{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-full);background:var(--bg-inverse);color:var(--text-on-inverse);justify-content:center;align-items:center;margin:auto;padding-left:3px;display:flex;position:absolute;inset:0}.lightbox{z-index:1000;padding:var(--space-4) var(--page-inset);background:color-mix(in srgb, var(--neutral-900) 72%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:lightbox-fade var(--duration-underline) var(--ease-standard) both;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox.is-closing{pointer-events:none;animation-name:lightbox-fade-out}.lightbox__frame{--lightbox-max-w:min(1100px, calc(100vw - 2 * var(--page-inset)));--lightbox-max-h:min(700px, 72vh);width:min(var(--lightbox-max-w), calc(var(--lightbox-max-h) * var(--lightbox-ratio,999)));max-width:100%;animation:lightbox-rise var(--duration-underline) var(--ease-standard) both;flex-direction:column;margin:0;display:flex;position:relative}.lightbox.is-closing .lightbox__frame{animation-name:lightbox-fall}.lightbox__media{width:100%;height:auto;max-width:var(--lightbox-max-w);max-height:var(--lightbox-max-h);object-fit:contain;border-radius:var(--radius-none);background:var(--bg-canvas);display:block}.lightbox__caption{margin-top:var(--space-3);gap:var(--space-1);flex-direction:column;display:flex}.lightbox__caption-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.lightbox__kicker,.lightbox__category{font-size:var(--type-nav-size);letter-spacing:var(--type-nav-track);text-transform:uppercase;color:color-mix(in srgb, var(--text-on-inverse) 60%, transparent)}.lightbox__title{text-align:center;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);font-weight:var(--weight-regular);color:var(--text-on-inverse);margin:0}.lightbox__subtitle{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);color:color-mix(in srgb, var(--text-on-inverse) 72%, transparent);margin:0}.lightbox__close{margin-bottom:var(--space-1);margin-right:calc((var(--icon-size) - var(--control-height)) / 2);width:var(--control-height);height:var(--control-height);color:var(--neutral-400);cursor:pointer;transition:color var(--duration-hover) var(--ease-standard);background:0 0;border:0;justify-content:center;align-self:flex-end;align-items:center;display:flex}.lightbox__close:hover,.lightbox__close:active,.lightbox__close:focus-visible{color:var(--text-on-inverse)}.lightbox__nav{width:var(--control-height);height:var(--control-height);color:var(--neutral-400);cursor:pointer;transition:color var(--duration-hover) var(--ease-standard);background:0 0;border:0;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav:hover,.lightbox__nav:active,.lightbox__nav:focus-visible{color:var(--text-on-inverse)}.lightbox__nav--prev{margin-right:var(--space-1);right:100%}.lightbox__nav--next{margin-left:var(--space-1);left:100%}@keyframes lightbox-fade{0%{opacity:0}}@keyframes lightbox-fade-out{to{opacity:0}}@keyframes lightbox-rise{0%{opacity:0;transform:translateY(var(--space-1)) scale(.99)}}@keyframes lightbox-fall{to{opacity:0;transform:translateY(var(--space-1)) scale(.99)}}@media (prefers-reduced-motion:reduce){.lightbox,.lightbox__frame{animation:none}}.project__related{margin-top:calc(var(--space-6) + var(--space-3));padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.project__related-title{width:fit-content;margin:0 0 var(--space-4);font-size:var(--type-h2-size);line-height:var(--type-h2-line);letter-spacing:var(--type-h2-track);font-weight:var(--weight-semibold);padding-bottom:10px;position:relative}.project__related-title:after{content:"";background:var(--underline-active);transform-origin:100%;height:2px;transition:transform var(--duration-underline) var(--ease-standard);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.project__related-title:hover:after{transform-origin:0;transform:scaleX(1)}.project__related-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.rcard{gap:var(--space-2);color:var(--text-primary);flex-direction:column;text-decoration:none;display:flex}.rcard__media{aspect-ratio:16/9;margin-bottom:var(--space-1);background:var(--bg-surface);color:var(--text-muted);border-radius:var(--radius-lg);justify-content:center;align-items:center;display:flex}.rcard__title{width:fit-content;max-width:100%;font-size:var(--type-h3-size);line-height:var(--type-h3-line);letter-spacing:var(--type-h3-track);font-weight:var(--weight-semibold);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;padding-bottom:4px;display:-webkit-box;position:relative;overflow:hidden}.rcard__title:after{content:"";background:var(--underline-active);transform-origin:100%;height:1.5px;transition:transform var(--duration-underline) var(--ease-standard);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.rcard:hover .rcard__title:after,.rcard:focus-visible .rcard__title:after{transform-origin:0;transform:scaleX(1)}.rcard__date{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);color:var(--text-muted)}.rcard__desc{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);color:var(--text-primary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.rcard__chip{margin-top:var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-full);font-size:var(--type-label-size);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);align-self:flex-start;padding:5px 10px;line-height:1}@media (max-width:900px){.project__related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.project__intro{gap:var(--space-4);grid-template-columns:1fr}.project__body{gap:var(--space-5)}.project__figrow{grid-template-columns:1fr}.project__figrow:not([data-count="1"]){grid-template-columns:min(260px,100%);justify-content:center}.project__figrow:not([data-count="1"]):has(.is-bare){grid-template-columns:1fr;padding-inline:0}.project__figrow:not([data-count="1"]):has(.is-bare)>*{width:min(100%, calc(300px * var(--figcell-scale,1)));margin-inline:auto}.project__related-grid{grid-template-columns:1fr}}.about{--prose-measure:800px;padding:var(--home-band) var(--page-inset) var(--space-6)}.about__grid,.about__intro{max-width:none}.about__header{position:relative}.about__copy{max-width:620px}.about__quad{--grid-n:3;aspect-ratio:1;grid-template:repeat(var(--grid-n), 1fr) / repeat(var(--grid-n), 1fr);gap:var(--space-2);margin:0;padding:0;display:grid;position:absolute;inset:0 0 0 auto}.about__quad-cell{background:var(--bg-surface);border-radius:clamp(8px, 12%, var(--radius-lg));border:1px solid var(--border-media);min-height:0;list-style:none;overflow:hidden}.about__quad-img{object-fit:cover;width:100%;height:100%;display:block}.about__quad-cell{--track:calc(100% + var(--space-2));--unfold-delay:calc(var(--ring,0) * 60ms);--fan-tilt:calc(var(--slot,0) * 2.5deg);--fan-scale:calc(1.12 * var(--fit,1));--fan-x:calc(var(--slot,0) * 12%);z-index:calc(5 - var(--aslot,0));transform:translate(calc(var(--dx,0) * -1 * var(--track) + var(--fan-x)), calc(var(--dy,0) * -1 * var(--track))) rotate(var(--fan-tilt)) scale(var(--fan-scale));transition:transform calc(var(--duration-underline) * 2) var(--ease-standard) var(--unfold-delay);will-change:transform;position:relative}.about__quad:hover .about__quad-cell{transform:none}.about__quad:not(:hover) .about__quad-cell{--unfold-delay:calc((2 - var(--ring,0)) * 60ms)}@media (max-width:1359px){.about__quad{margin-top:var(--space-5);max-width:var(--type-body-measure);position:static}.about__quad.is-inview .about__quad-cell{--unfold-delay:calc(var(--ring,0) * 60ms);transform:none}}@media (prefers-reduced-motion:reduce){.about__quad-cell{will-change:auto;transition:none;transform:none}}.about__title{margin:0 0 var(--space-4);font-size:var(--type-h1-size);line-height:var(--type-h1-line);letter-spacing:var(--type-h1-track);font-weight:var(--weight-semibold);color:var(--text-primary)}.about__text{font-size:var(--type-body-size);line-height:var(--type-body-line);color:var(--text-primary);margin:0}.about__text+.about__text{margin-top:var(--space-2)}.btn{min-height:var(--control-height);font-family:inherit;font-size:14px;line-height:20px;font-weight:var(--weight-medium);color:var(--text-on-inverse);background:var(--bg-inverse);border-radius:var(--radius-md);white-space:nowrap;cursor:pointer;border:1px solid #0000;align-items:center;padding:12px 20px;text-decoration:none;display:inline-flex}.btn__arrow{opacity:0;width:0;transition:width var(--duration-arrow) var(--ease-standard), margin-left var(--duration-arrow) var(--ease-standard), opacity var(--duration-arrow) var(--ease-standard);flex-shrink:0;align-items:center;margin-left:0;display:inline-flex;overflow:hidden}.btn:hover .btn__arrow,.btn:focus-visible .btn__arrow{width:var(--arrow-travel);margin-left:var(--arrow-gap);opacity:1}.btn__lead{opacity:0;width:0;transition:width var(--duration-arrow) var(--ease-standard), margin-right var(--duration-arrow) var(--ease-standard), opacity var(--duration-arrow) var(--ease-standard);flex-shrink:0;align-items:center;margin-right:0;display:inline-flex;overflow:hidden}.btn:hover .btn__lead,.btn:focus-visible .btn__lead,.btn.is-copied .btn__lead{width:var(--arrow-travel);margin-right:var(--arrow-gap);opacity:1}.copy-email__swap{width:var(--arrow-travel);height:var(--arrow-travel);flex-shrink:0;position:relative}.copy-email__glyph{transition:opacity var(--duration-arrow) var(--ease-standard), transform var(--duration-arrow) var(--ease-standard);justify-content:center;align-items:center;display:inline-flex;position:absolute;inset:0}.copy-email__glyph--check{opacity:0;transform:translateY(5px)}.copy-email.is-copied .copy-email__glyph--copy{opacity:0;transform:translateY(-5px)}.copy-email.is-copied .copy-email__glyph--check{opacity:1;transform:translateY(0)}.icon-btn{width:var(--control-height);height:var(--control-height);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--duration-hover) var(--ease-standard);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover,.icon-btn:focus-visible{background:color-mix(in srgb, var(--neutral-900) 5%, transparent)}.btn--outline{color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-default);transition:background-color var(--duration-hover) var(--ease-standard);background:0 0}.btn--outline:hover,.btn--outline:focus-visible{background:color-mix(in srgb, var(--neutral-900) 5%, transparent)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.about__cta{margin-top:var(--space-4);align-items:center;gap:var(--space-2);display:flex}.about__quad-figure{margin:0}.project--about .project__intro{margin-bottom:var(--space-4)}.project--about .about__quad--row{aspect-ratio:auto;grid-template:1fr / repeat(var(--grid-n), 1fr);width:100%;max-width:none;margin:0;position:static}.project--about .about__quad--row .about__quad-cell{aspect-ratio:1}.about__gallery{aspect-ratio:1/1.15;position:relative}.about__shot{transform-origin:50%;transition:transform .38s var(--ease-standard);will-change:transform;margin:0;position:absolute}.about__shot:hover,.about__shot:focus-within{z-index:5;transform:scale(1.3)}.about__shot-media{background:var(--bg-surface);width:100%;color:var(--text-muted);border-radius:var(--radius-lg);border:1px solid var(--border-media);box-shadow:none;justify-content:center;align-items:center;display:flex}.about__shot-cap{white-space:nowrap;font-size:var(--type-label-size);letter-spacing:var(--type-label-track);color:var(--text-muted);opacity:0;transition:opacity .26s var(--ease-standard);pointer-events:none;margin-top:8px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.about__shot:hover .about__shot-cap,.about__shot:focus-within .about__shot-cap{opacity:1}.about__resume{max-width:var(--prose-measure);margin:var(--space-6) auto 0}.about__sign{margin-top:calc(var(--space-5) - 120px);justify-content:center;display:flex}.about__sign-mark,.project__body .about__sign-mark{object-fit:contain;border-radius:0;width:56px;height:56px;display:block}.resume{--dot-size:7px;--dot-gap:8px;--dot-top:calc(var(--type-title-size) * var(--type-title-line) / 2 - var(--dot-size) / 2);margin:0;padding:0;list-style:none}.resume__item{padding:0 0 var(--space-5) var(--space-4);position:relative}.resume__item:last-child{padding-bottom:0}.resume__item:before{content:"";left:calc(.5px - var(--dot-size) / 2);top:var(--dot-top);width:var(--dot-size);height:var(--dot-size);border-radius:var(--radius-full);background:var(--text-muted);position:absolute}.resume__item:after{content:"";width:1px;left:0;top:calc(var(--dot-top) + var(--dot-size) + var(--dot-gap));bottom:calc(var(--dot-gap) - var(--dot-top));background:var(--border-default);position:absolute}.resume__item:last-child:after{display:none}.resume__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.resume__org{font-size:var(--type-title-size);line-height:var(--type-title-line);letter-spacing:var(--type-title-track);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0}.resume__period{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);color:var(--text-muted);white-space:nowrap;flex:none}.resume__role{margin:calc(var(--space-1) / 2) 0 0;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);font-weight:var(--weight-medium);color:var(--text-primary)}.resume__desc{margin:var(--space-2) 0 0;font-size:var(--type-body-size);line-height:var(--type-body-line);color:var(--text-primary)}@media (max-width:767px){.about{padding:var(--home-band) var(--page-inset) var(--space-5)}.about__resume{margin-top:var(--space-5)}.resume__head{display:block}.resume__period{margin-top:2px;display:block}.resume__item{padding-left:var(--space-3)}.about__intro{max-width:none}}.reveal{opacity:0}.reveal.is-visible{animation:.52s cubic-bezier(.22,.61,.36,1) forwards reveal-in}@keyframes reveal-in{0%{opacity:.5;clip-path:inset(0 0 100%)}to{opacity:1;clip-path:inset(0)}}@keyframes header-fade-in{0%{opacity:0}to{opacity:1}}@keyframes header-rise-in{0%{transform:translateY(28px)}to{transform:translateY(0)}}.project__head,.project__lead,.project__tags,.about__grid{animation:.17s linear both header-fade-in,.6s cubic-bezier(.8,.1,.2,.9) both header-rise-in}@keyframes content-fade-in{0%{opacity:0}to{opacity:1}}.works__title,.carousel .card,.project__composition-figure,.project__meta,.project__note,.project__body,.project__related,.resume__item{animation:.24s ease-out backwards content-fade-in;animation-delay:calc(var(--enter-step,0) * 40ms)}.hero__title,.hero__role,.hero__desc,.hero__cta,.hero__portrait{animation:.17s linear backwards header-fade-in,.6s cubic-bezier(.8,.1,.2,.9) backwards header-rise-in;animation-delay:calc(var(--enter-step,0) * 40ms)}.hero__role{--enter-step:1}.hero__desc{--enter-step:2}.hero__cta,.hero__portrait{--enter-step:3}.works__title{--enter-step:4}.carousel .card:first-child{--enter-step:5}.carousel .card:nth-child(2){--enter-step:6}.carousel .card:nth-child(3){--enter-step:7}.project__composition-figure{--enter-step:1}.project__meta{--enter-step:2}.project__note{--enter-step:3}.project__body{--enter-step:4}.project__related{--enter-step:5}.resume__item{--enter-step:4}.resume__item:first-child{--enter-step:1}.resume__item:nth-child(2){--enter-step:2}.resume__item:nth-child(3){--enter-step:3}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;animation:none}.hero__title,.hero__role,.hero__desc,.hero__cta,.hero__portrait,.works__title,.carousel .card,.project__composition-figure,.project__meta,.project__note,.project__body,.project__related,.resume__item,.project,.about,.about__grid,.project__head,.project__lead,.project__tags{animation:none}}.sheet{z-index:900;animation:sheet-scrim-in var(--sheet-duration-enter) var(--ease-sheet) both;background:#0000004d;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet.is-closing{pointer-events:none;animation:sheet-scrim-out var(--sheet-duration-exit) var(--ease-sheet) both}@keyframes sheet-scrim-in{0%{background-color:#0000}}@keyframes sheet-scrim-out{to{background-color:#0000}}.sheet__panel{background:var(--bg-canvas);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;height:100%;animation:sheet-rise var(--sheet-duration-enter) var(--ease-sheet) both;flex-direction:column;display:flex;position:relative;overflow:hidden}.sheet.is-closing .sheet__panel{animation:sheet-fall var(--sheet-duration-exit) var(--ease-sheet) both}.sheet__scroller{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.sheet__header{padding:var(--space-1) var(--space-2);background:var(--bg-canvas);border-bottom:1px solid var(--border-subtle);flex:none;justify-content:flex-end;align-items:center;display:flex}.sheet__close{margin:0}.sheet__close:hover,.sheet__close:active,.sheet__close:focus-visible{color:var(--text-primary)}@keyframes sheet-rise{0%{transform:translateY(100%)}}@keyframes sheet-fall{to{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.sheet,.sheet__panel{animation:none}}
