@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,700;1,500;1,700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--ink:#242424;--muted:#8d8d8d;--soft:#f6f6f4;--line:#d9d9d6;--line-strong:#9b9b96;--sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif:"Playfair Display", "Times New Roman", serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);min-width:320px;color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}body.no-scroll{overflow:hidden}button,a{color:inherit;font:inherit}a{text-decoration:none}button{background:0 0;border:0}img{max-width:100%;display:block}::selection{color:#fff;background:#242424}.site-shell{background:var(--bg);min-height:100vh}.site-header{z-index:50;color:#666;background:linear-gradient(#ffffffeb,#fff0);grid-template-columns:1fr auto;align-items:center;gap:2rem;padding:clamp(1rem,2vw,1.8rem) clamp(1rem,3vw,2rem);display:grid;position:fixed;top:0;left:0;right:0}.brand{color:#111;font-family:var(--serif);letter-spacing:.01em;justify-self:start;font-size:clamp(1.35rem,2vw,2rem);font-weight:500;line-height:1}.nav-links{color:#8a8a8a;align-items:center;gap:clamp(.9rem,1.5vw,1.4rem);font-size:.78rem;font-weight:700;display:flex}.nav-links a,.brand{transition:color .18s,opacity .18s}.nav-links a:hover,.nav-links a:focus-visible,.brand:hover,.brand:focus-visible{color:#222}.icon-link{justify-content:center;align-items:center;width:1.25rem;height:1.25rem;display:inline-flex}.photo-grid{column-count:4;column-gap:clamp(1rem,2vw,1.75rem);max-width:90rem;margin:0 auto;padding:clamp(5rem,8vw,7rem) clamp(1rem,3vw,2.5rem) clamp(4rem,8vw,8rem)}.photo-cell{break-inside:avoid;margin:0 0 clamp(1rem,2vw,1.75rem)}.photo-open{cursor:zoom-in;width:100%;padding:0;display:block}.photo-open img{background:var(--soft);width:100%;height:auto;transition:opacity .2s}.photo-open:hover img,.photo-open:focus-visible img{opacity:.82}.contact-section{color:#333;gap:1.1rem;max-width:90rem;margin:0 auto;padding:clamp(2.5rem,5vw,4rem) clamp(1rem,3vw,2.5rem) clamp(2rem,4vw,3rem);scroll-margin-top:3rem;display:grid}.contact-section p{color:#999;letter-spacing:.04em;margin:0;font-size:.78rem}.contact-links{flex-wrap:wrap;gap:1.8rem;display:flex}.contact-links a{border-bottom:1px solid var(--line-strong);color:#666;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.35rem;padding-bottom:.2rem;font-size:.74rem;font-weight:600;transition:color .16s,border-color .16s;display:inline-flex}.contact-links a:hover,.contact-links a:focus-visible{color:#111;border-color:#111}.contact-links a svg{flex:none;width:.8rem;height:.8rem;transition:transform .18s}.contact-links a:hover svg,.contact-links a:focus-visible svg{transform:translate(.15rem,-.15rem)}.contact-section small{color:#9a9a9a;font-size:.78rem}.lightbox{z-index:100;place-items:center;padding:clamp(1rem,3vw,2rem);display:grid;position:fixed;inset:0}.lightbox-backdrop{cursor:zoom-out;background:#fffffff5;position:absolute;inset:0}.lightbox-panel{z-index:2;max-width:min(72rem,100vw - clamp(5rem,12vw,9rem));max-height:88vh;margin:0;position:relative}.lightbox-panel img{object-fit:contain;background:var(--soft);max-width:100%;max-height:88vh}.lightbox-close{z-index:3;color:#555;cursor:pointer;place-items:center;width:2.6rem;height:2.6rem;transition:color .16s;display:grid;position:fixed;top:clamp(.9rem,2vw,1.5rem);right:clamp(.9rem,2vw,1.5rem)}.lightbox-arrow{z-index:3;color:#777;cursor:pointer;place-items:center;width:2.8rem;height:2.8rem;transition:color .16s;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.lightbox-prev{left:clamp(.4rem,1.5vw,1.4rem)}.lightbox-next{right:clamp(.4rem,1.5vw,1.4rem)}.lightbox-close:hover,.lightbox-close:focus-visible,.lightbox-arrow:hover,.lightbox-arrow:focus-visible{color:#111}@media (width<=1100px){.photo-grid{column-count:3}}@media (width<=780px){.site-header{align-items:start}.brand{font-size:1.1rem}.nav-links{gap:.85rem;font-size:.7rem}.photo-grid{column-count:2}}@media (width<=520px){.nav-links a:not(.icon-link){display:none}.photo-grid{column-count:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
