.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}:root{--font:"Helvetica Neue", Helvetica, Arial, sans-serif;--ink:#111;--muted:#6b6b6b;--faint:#9b9b9b;--link:#153ad6;--link-hover:#0a2088;--counter:#58e06a;--rule:#e6e4dd;--frame:#0000001f;--fs-display:clamp(28px, 4.5vw, 44px);--fs-body:clamp(16px, 1rem + .25vw, 18px);--fs-small:clamp(14px, .9rem + .1vw, 15px);--fs-meta:13px;--w-regular:400;--w-bold:600;--lh-tight:1.15;--lh-body:1.6;--maxw:860px;--pad:clamp(20px, 4vw, 36px)}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}a,button{-webkit-tap-highlight-color:transparent}body{color:var(--ink);font-family:var(--font);font-size:var(--fs-body);font-weight:var(--w-regular);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#fff;margin:0;padding-bottom:96px}a{color:var(--link)}.wrap{max-width:var(--maxw);padding:0 var(--pad);margin:0 auto}h1{font-weight:var(--w-bold);font-size:var(--fs-display);letter-spacing:-.01em;line-height:var(--lh-tight);margin:0 0 8px}.tagline{font-size:var(--fs-small);color:var(--muted);margin:0 0 34px}.nav{font-size:var(--fs-body);gap:clamp(18px,3vw,28px);display:flex}.nav a{color:var(--faint);text-decoration:none}.nav a[aria-current=page]{color:var(--ink);font-weight:var(--w-bold)}.worklink{color:var(--link);padding:5px 0;text-decoration:underline;transition:color .25s;display:inline-block}.worklink:hover{color:var(--link-hover)}.section-label{font-size:var(--fs-meta);color:var(--faint);letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px}.gallery{flex-direction:column;gap:clamp(40px,6vw,64px);margin:0 0 56px;display:flex}figure.work{margin:0}.carousel{border:1px solid var(--frame);touch-action:pan-y;border-radius:14px;max-width:600px;position:relative;overflow:hidden}.carousel .track{will-change:transform;width:100%;transition:transform .5s cubic-bezier(.16,1,.3,1);display:flex}@media (prefers-reduced-motion:reduce){.carousel .track{transition:none}}.carousel .slide{box-sizing:border-box;width:100%;min-width:0;max-width:100%;aspect-ratio:var(--aspect,.8);background:#fff;flex:0 0 100%;overflow:hidden}.carousel .slide img{object-fit:contain;-webkit-user-drag:none;user-select:none;width:100%;height:100%;display:block}.car-nav{backdrop-filter:blur(6px);color:var(--ink);cursor:pointer;opacity:0;z-index:2;background:#ffffffb8;border:none;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;transition:opacity .22s,transform .18s,background .18s;display:flex;position:absolute;top:50%;transform:translateY(-50%)scale(1);box-shadow:0 1px 6px #00000024,0 0 0 1px #0000000a}.carousel:hover .car-nav,.car-nav:focus-visible{opacity:1}.car-nav:hover{background:#fff;transform:translateY(-50%)scale(1.08)}.car-nav:active{transform:translateY(-50%)scale(.94)}.car-nav.disabled{pointer-events:none;opacity:0!important}.car-prev{left:12px}.car-next{right:12px}@media (hover:none){.car-nav{opacity:.92}.car-nav.disabled{opacity:0!important}}.dots{z-index:2;backdrop-filter:blur(6px);background:#00000042;border-radius:999px;justify-content:center;gap:7px;width:fit-content;margin:0 auto;padding:6px 9px;display:flex;position:absolute;bottom:12px;left:0;right:0}.dots .dot{cursor:pointer;background:#ffffff8c;border:none;border-radius:999px;width:6px;height:6px;padding:0;transition:width .25s,background .25s}.dots .dot.active{background:#fff;width:18px}.carousel:not(.is-multi) .car-nav,.carousel:not(.is-multi) .dots{display:none}figure.work{max-width:600px}.w-cap{flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px;display:flex}.w-drop,.w-bead{backdrop-filter:blur(20px)saturate(170%);color:var(--ink);background:linear-gradient(#fffc,#ffffffa8);border:1px solid #ffffffb3;border-radius:999px;box-shadow:0 12px 38px #00000024,inset 0 1px #ffffffe6}.w-drop{max-width:100%;font-size:var(--fs-meta);font-weight:var(--w-bold);text-align:left;padding:6px 16px}.w-beads{flex-wrap:wrap;justify-content:flex-start;gap:8px;margin:0;padding:0;list-style:none;display:flex}.w-bead{height:28px;font-size:var(--fs-meta);color:var(--faint);white-space:nowrap;align-items:center;padding:0 13px;display:flex}@keyframes sharpen{0%{filter:blur(12px)}to{filter:blur()}}img.blurup{animation:.7s ease-out both sharpen}@keyframes fadeup{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}figure.work{animation:.6s both fadeup}figure.work:nth-child(2){animation-delay:60ms}figure.work:nth-child(3){animation-delay:.12s}figure.work:nth-child(4){animation-delay:.18s}figure.work:nth-child(n+5){animation-delay:.22s}.footer{font-size:var(--fs-meta);color:var(--faint);border-top:1px solid var(--rule);padding:16px 0 44px}.years{font-size:var(--fs-body);flex-wrap:wrap;gap:clamp(16px,3vw,24px);margin:0 0 32px;display:flex}.years a{color:var(--faint);text-decoration:none}.years a[aria-current=page],.years a:hover{color:var(--ink)}.bottombar{z-index:80;pointer-events:none;justify-content:center;padding:0 16px 18px;transition:transform .3s cubic-bezier(.22,1,.3,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(130%)}.bottombar.show{transform:none}.bottombar.show .bb-inner{pointer-events:auto}.bb-inner{justify-content:center;align-items:center;max-width:calc(100vw - 32px);padding:13px 25px;display:inline-flex;position:relative}.bb-inner:before{content:"";backdrop-filter:blur(20px)saturate(170%);background:linear-gradient(#fffc,#ffffffa8);border:1px solid #ffffffb3;border-radius:999px;transition:top .36s cubic-bezier(.22,1,.3,1),right .36s cubic-bezier(.22,1,.3,1),bottom .36s cubic-bezier(.22,1,.3,1),left .36s cubic-bezier(.22,1,.3,1);position:absolute;inset:0;box-shadow:0 12px 38px #00000024,inset 0 1px #ffffffe6}.bb-full{opacity:1;flex-wrap:nowrap;align-items:center;gap:16px;transition:opacity .2s .14s;display:flex;position:relative}.bb-name{font-size:var(--fs-small);font-weight:var(--w-bold);color:var(--ink);white-space:nowrap;text-decoration:none}.bb-link{font-size:var(--fs-small);color:var(--faint);white-space:nowrap;align-items:center;text-decoration:none;transition:color .15s;display:inline-flex}.bb-link:hover,.bb-link.active{color:var(--ink)}.bb-star{color:var(--faint);opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .1s;display:flex;position:absolute;inset:0}.bottombar.compact .bb-inner{pointer-events:none}.bottombar.compact .bb-inner:before{inset:calc(50% - 27px)}.bottombar.compact .bb-full{opacity:0;transition:opacity .12s}.bottombar.compact .bb-star{opacity:1;transition:opacity .2s .16s}@media (prefers-reduced-motion:reduce){.bottombar{transition:none;transform:none}.bb-inner:before,.bb-full,.bb-star,.bottombar.compact .bb-full,.bottombar.compact .bb-star{transition:none}}.bb-yearwrap{position:relative}.bb-yeartrigger{cursor:pointer;font:inherit;font-size:var(--fs-small);color:var(--faint);white-space:nowrap;background:0 0;border:none;align-items:center;gap:5px;padding:0;display:inline-flex}.bb-yeartrigger:hover,.bb-yeartrigger[aria-expanded=true]{color:var(--ink)}.bb-caret{transition:transform .2s}.bb-yeartrigger[aria-expanded=true] .bb-caret{transform:rotate(180deg)}.bb-yearmenu{transform-origin:bottom;z-index:2;backdrop-filter:blur(20px)saturate(180%);opacity:0;background:linear-gradient(#ffffffeb,#ffffffd6);border:1px solid #ffffffb3;border-radius:16px;flex-direction:column;min-width:110px;padding:6px;transition:opacity .16s,transform .18s cubic-bezier(.18,.89,.32,1.1);display:flex;position:absolute;bottom:calc(100% + 16px);left:50%;transform:translate(-50%)translateY(6px)scale(.97);box-shadow:0 14px 40px #0000002e,inset 0 1px #ffffffe6}.bb-yearmenu.open{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.bb-year{color:var(--muted);font-size:var(--fs-small);text-align:center;white-space:nowrap;border-radius:10px;padding:7px 14px;text-decoration:none}.bb-year:hover{color:var(--ink);background:#0000000d}.bb-year.active{color:var(--ink);font-weight:var(--w-bold)}@media (width<=560px){.bb-full{gap:12px}.bb-name{display:none}}.prose{max-width:620px}.prose p{margin:0 0 18px}.show-photo{border:1px solid var(--frame);border-radius:14px;overflow:hidden}.show-photo img{width:100%;height:auto;display:block}.show-entry{max-width:600px;color:var(--ink);text-decoration:none;display:block}.show-entry .show-photo{margin-bottom:8px}.show-entry .show-photo.portrait{max-width:420px}.show-title{font-size:var(--fs-body);font-weight:var(--w-bold);color:var(--ink);display:block}.show-entry:hover .show-title{color:var(--link-hover)}.show-meta{font-size:var(--fs-small);color:var(--muted);margin:0;display:block}h1+.show-meta{margin-top:4px}.show-back{color:inherit;text-decoration:none}.show-back:hover{color:var(--ink)}.show-photos{flex-direction:column;gap:clamp(40px,6vw,64px);margin:34px 0 56px;display:flex}.show-figure{max-width:600px;margin:0}.show-caption{font-size:var(--fs-small);color:var(--muted);margin-top:8px}.show-text{margin:0 0 56px}.about-grid{grid-template-columns:320px 1fr;align-items:start;gap:clamp(24px,4vw,48px);display:grid}.about-photo{border:1px solid var(--frame);border-radius:14px;overflow:hidden}.about-photo img{width:100%;height:auto;display:block}@media (width<=700px){.about-grid{grid-template-columns:1fr}.about-photo{max-width:70%}}@media (prefers-reduced-motion:reduce){img.blurup,figure.work{animation:none!important}.worklink{transition:none}}
