@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-opsz-normal.Czevyj-6.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-opsz-normal.CJcjJNj7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-opsz-normal.DihXLNYH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-sans-latin-ext-400-normal.BtiwyxMk.woff2) format("woff2"),url(/_astro/dm-sans-latin-ext-400-normal.BjWJ59Pq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-sans-latin-400-normal.CW0RaeGs.woff2) format("woff2"),url(/_astro/dm-sans-latin-400-normal.BwCSEQnW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/dm-sans-latin-ext-500-normal.BJfUCQsA.woff2) format("woff2"),url(/_astro/dm-sans-latin-ext-500-normal.DR84L5F-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/dm-sans-latin-500-normal.B9HHJjqV.woff2) format("woff2"),url(/_astro/dm-sans-latin-500-normal.Dr3UlScf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0c0c0c;--bg-elev: #131313;--text: #ececec;--text-muted: #8a8a8a;--text-dim: #555;--border: #1f1f1f;--accent: #ffffff;--rail: 15rem;--rail-pad: clamp(1.25rem, 2vw, 1.75rem);--page-pad: clamp(1.5rem, 4vw, 3.5rem);--measure: 38rem;--feed-max: 72rem;--grid-max: 80rem;--font-display: "Fraunces Variable", "Iowan Old Style", Georgia, serif;--font-ui: "DM Sans", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, monospace;--space-xs: .35rem;--space-sm: .75rem;--space-md: 1.25rem;--space-lg: 2rem;--space-xl: 3.5rem;--space-2xl: 5rem;--radius-sm: 2px;--ease-out: cubic-bezier(.22, .61, .36, 1);--dur-fast: .15s;--dur-base: .24s;--dur-slow: .32s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-gutter:stable;overflow-y:scroll}body{margin:0;min-height:100vh;font-family:var(--font-ui);font-size:.9375rem;line-height:1.6;color:var(--text);background:var(--bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto}body.rail-open{overflow:hidden}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em;transition:opacity var(--dur-fast) ease,color var(--dur-fast) ease}a:hover{opacity:.7}a:focus-visible,button:focus-visible{outline:1px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}img{max-width:100%;height:auto;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{margin:0;font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.eyebrow__link{color:inherit;text-decoration:none}.eyebrow__link:hover{color:var(--text);opacity:1}.page-head{margin:0 0 var(--space-xl);display:flex;flex-direction:column;gap:var(--space-sm)}.page-title{margin:0;font-family:var(--font-display);font-size:clamp(2.25rem,5vw,3.5rem);font-weight:400;line-height:1.05;letter-spacing:-.01em}.page-lead{margin:0 0 var(--space-lg);color:var(--text-muted);line-height:1.65;max-width:var(--measure)}.prose p{margin:0 0 var(--space-md);color:var(--text);line-height:1.7}.prose p:last-child{margin-bottom:0}.prose a{color:var(--text)}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:1rem var(--page-pad);background:#0c0c0cd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.topbar__wordmark{font-family:var(--font-display);font-size:1.125rem;letter-spacing:.04em;text-decoration:none;color:var(--text)}.nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:2.25rem;height:2.25rem;padding:0;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text)}.nav-toggle__bar{display:block;width:1.125rem;height:1px;margin:0 auto;background:currentColor;transition:transform .2s ease,opacity .2s ease}.nav-toggle[aria-expanded=true] .nav-toggle__bar:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle__bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle__bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.rail{position:fixed;inset:0 auto 0 0;z-index:40;width:min(85vw,18rem);padding:var(--space-xl) var(--rail-pad);background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-xl);transform:translate(-100%);transition:transform .28s var(--ease-out);overflow-y:auto}.rail[data-open=true]{transform:translate(0)}.rail-scrim{position:fixed;inset:0;z-index:35;display:none;width:100%;height:100%;padding:0;background:#0009;border:0;cursor:pointer}body.rail-open .rail-scrim{display:block}.rail__brand{display:flex;flex-direction:column;gap:var(--space-xs)}.rail__wordmark{font-family:var(--font-display);font-size:1.5rem;line-height:1.1;letter-spacing:.01em;text-decoration:none;color:var(--text)}.rail__wordmark:hover{opacity:.85}.rail__role{margin:0;font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.rail-nav{flex:1 1 auto}.nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.nav-item{display:flex;flex-direction:column}.nav-link{display:inline-block;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--text);opacity:.55;transition:opacity var(--dur-fast) ease}.nav-link:hover,.nav-link[data-active=true],.nav-link[aria-current=page]{opacity:1}.nav-sublist-wrap{display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;transition:grid-template-rows var(--dur-slow) var(--ease-out),opacity var(--dur-base) ease,margin-top var(--dur-slow) var(--ease-out)}.nav-item[data-expanded=true]>.nav-sublist-wrap{grid-template-rows:1fr;opacity:1;margin-top:var(--space-sm)}.nav-sublist{min-height:0;overflow:hidden;list-style:none;margin:0;padding:0 0 0 var(--space-sm);display:flex;flex-direction:column;gap:var(--space-sm);border-left:1px solid var(--border)}.nav-sublink{display:inline-block;padding-left:var(--space-sm);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--text);opacity:.4;transition:opacity var(--dur-fast) ease}.nav-sublink:hover,.nav-sublink[aria-current=page]{opacity:1}.rail__footer{margin-top:auto;font-size:.6875rem;letter-spacing:.06em;color:var(--text-dim)}.rail__footer p{margin:0 0 var(--space-xs)}.rail__footer a{color:var(--text-muted);text-decoration:none}.rail__footer a:hover{color:var(--text);opacity:1}.main{min-height:100svh;padding:var(--space-2xl) var(--page-pad) var(--space-2xl)}.page{max-width:var(--grid-max);margin:0 auto}.page--narrow{max-width:var(--measure)}.page--about{max-width:var(--grid-max)}.home-more{margin:var(--space-xl) 0 0;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);text-align:center}.home-more a{text-decoration:none}.home-more a:hover{color:var(--text);opacity:1}.photo-gallery{display:flex;flex-direction:column;gap:var(--space-lg)}.photo-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-lg) var(--space-xl)}.photo-filters__group{margin:0;padding:0;border:0;min-width:0}.photo-filters__legend{padding:0;margin:0 0 var(--space-sm);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.photo-filters__pills{display:flex;flex-wrap:wrap;gap:.5rem}.photo-filters__pill{padding:.35rem .75rem;font-family:inherit;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:color var(--dur-base) ease,border-color var(--dur-base) ease,background var(--dur-base) ease}.photo-filters__pill:hover{color:var(--text);border-color:var(--text-muted)}.photo-filters__pill[data-active=true]{color:var(--text);border-color:var(--text);background:color-mix(in srgb,var(--text) 8%,transparent)}.photo-filters__empty{width:100%;margin:0;font-size:.875rem;color:var(--text-muted)}.photo-filters__empty[hidden],.photo-grid__item[hidden]{display:none}.photo-section{margin:0 auto var(--space-2xl)}.photo-section:last-child{margin-bottom:0}.photo-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);padding-bottom:var(--space-md);margin-bottom:var(--space-xl);border-bottom:1px solid var(--border)}.photo-section__heading{margin:0;font-family:var(--font-display);font-size:clamp(1.25rem,2.4vw,1.875rem);font-weight:400;line-height:1.1;letter-spacing:-.005em}.photo-section__heading a{text-decoration:none;color:inherit}.photo-section__heading a:hover{opacity:1;text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}.photo-section__count{margin:0;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.photo-grid{column-count:1;column-gap:clamp(.75rem,1.5vw,1.25rem)}.photo-grid__item{break-inside:avoid;margin:0 0 clamp(.75rem,1.5vw,1.25rem);display:block}.photo-grid__image{width:100%;height:auto;display:block}.img-trigger{display:block;width:100%;padding:0;margin:0;background:transparent;border:0;color:inherit;font:inherit;cursor:zoom-in;transition:opacity var(--dur-base) ease}.img-trigger:hover{opacity:.92}.img-trigger:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.img-trigger img{width:100%;height:auto;display:block}.about-grid{display:grid;gap:clamp(2rem,4vw,3.5rem)}.about-portrait{margin:0}.about-portrait__image{width:100%;height:auto;display:block}@media(min-width:720px){.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start}}.contact-email{margin:0 0 var(--space-xl);font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.2}.contact-email a{text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:1px}.contact-social{list-style:none;margin:0;padding:0}.contact-social li{margin-bottom:var(--space-sm)}.contact-social a{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--text-muted)}.contact-social a:hover{color:var(--text);opacity:1}.lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:clamp(.5rem,1.5vw,1.25rem);background:#000000f7;opacity:0;pointer-events:none;transition:opacity var(--dur-base) ease;cursor:zoom-out}.lightbox[hidden]{display:none}.lightbox[data-open=true]{opacity:1;pointer-events:auto}.lightbox__figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:clamp(.75rem,2vw,1.25rem);width:100%;height:100%;min-height:0;min-width:0}.lightbox__image-wrap{flex:1 1 0;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}.lightbox__image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform:scale(.985);transition:transform var(--dur-slow) var(--ease-out)}.lightbox[data-open=true] .lightbox__image{transform:scale(1)}.lightbox__close{position:absolute;top:clamp(.75rem,2vw,1.5rem);right:clamp(.75rem,2vw,1.5rem);width:2.5rem;height:2.5rem;padding:0;font-size:1.5rem;line-height:1;color:var(--text);background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:50%;cursor:pointer;transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease}.lightbox__close:hover{background:#ffffff14;border-color:#ffffff59}.lightbox__meta{flex:0 0 auto;margin:0;padding:0;max-width:min(100%,64rem);cursor:default}.lightbox__meta[hidden]{display:none}.lightbox__meta-list{margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(.75rem,2vw,1.5rem) clamp(1.25rem,3vw,2.5rem)}.lightbox__meta-row{display:flex;flex-direction:column;gap:var(--space-xs);text-align:center}.lightbox__meta-row[hidden]{display:none}.lightbox__meta-row dt{font-family:var(--font-ui);font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}.lightbox__meta-row dd{margin:0;font-family:var(--font-display);font-size:.95rem;line-height:1.2;color:var(--text);font-feature-settings:"tnum" on,"lnum" on}.lightbox__meta-row dd a{color:inherit}body.lightbox-open{overflow:hidden}@media(prefers-reduced-motion:no-preference){::view-transition-old(root),::view-transition-new(root){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-out)}::view-transition-old(root){animation-name:feather-out}::view-transition-new(root){animation-name:feather-in}@keyframes feather-out{0%{opacity:1}to{opacity:0}}@keyframes feather-in{0%{opacity:0}to{opacity:1}}}::view-transition-group(rail),::view-transition-old(rail),::view-transition-new(rail),::view-transition-image-pair(rail),::view-transition-group(topbar),::view-transition-old(topbar),::view-transition-new(topbar),::view-transition-image-pair(topbar),::view-transition-group(rail-scrim),::view-transition-old(rail-scrim),::view-transition-new(rail-scrim),::view-transition-image-pair(rail-scrim),::view-transition-group(lightbox),::view-transition-old(lightbox),::view-transition-new(lightbox),::view-transition-image-pair(lightbox){animation:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(min-width:900px){.topbar{display:none}.rail{width:var(--rail);transform:none;transition:none}.rail-scrim{display:none!important}body.rail-open{overflow:auto}.main{padding-left:calc(var(--rail) + var(--page-pad))}}@media(min-width:600px){.photo-grid{column-count:2}}@media(min-width:900px){.photo-grid{column-count:3}}@media(min-width:1200px){.photo-grid{column-count:4}}@media(min-width:1600px){.photo-grid{column-count:5}}.photo-grid--home{column-count:1}@media(min-width:600px){.photo-grid--home{column-count:2}}@media(min-width:900px){.photo-grid--home{column-count:3}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@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(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
