:root{--bg:#f7f6f3;--fg:#1d1d1b;--muted:#6b6963;--line:#e2dfd8;--chip:#edebe6;--serif:"Cormorant Garamond", "Iowan Old Style", Georgia, serif;--sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--gutter:clamp(16px, 4vw, 48px);--max:1600px;--row-h:300px;--gap:10px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg:#121211;--fg:#e9e7e2;--muted:#9b988f;--line:#2a2926;--chip:#1f1e1c}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:300 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}main{flex:1;width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}a{color:inherit;text-decoration-color:var(--line);text-underline-offset:3px}a:hover{text-decoration-color:initial}img{display:block;max-width:100%;height:auto}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0}h1{font-size:clamp(2rem,4vw,3rem)}h2{font-size:clamp(1.5rem,2.5vw,2rem)}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:var(--bg);padding:8px 12px;z-index:10}.site-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px 32px;flex-wrap:wrap;max-width:var(--max);width:100%;margin:0 auto;padding:28px var(--gutter)}.site-name{font-family:var(--serif);font-size:1.6rem;letter-spacing:.02em;text-decoration:none}.site-nav{display:flex;flex-wrap:wrap;gap:6px 26px}.site-nav a{font-size:.78rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--muted);padding:4px 0;border-bottom:1px solid transparent}.site-nav a:hover,.site-nav a[aria-current]{color:var(--fg);border-bottom-color:initial}@media(max-width:720px){.site-header{flex-direction:column;align-items:center;text-align:center;padding-top:22px;padding-bottom:18px}.site-nav{justify-content:center;gap:4px 18px}}.site-footer{max-width:var(--max);width:100%;margin:96px auto 0;padding:32px var(--gutter)40px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px}.site-footer nav{display:flex;flex-wrap:wrap;gap:6px 22px}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--fg)}.site-footer p{margin:0}.page-head{max-width:46rem;margin:40px auto 48px;text-align:center}.eyebrow{margin:0 0 10px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.lede{color:var(--muted);font-size:1.05rem;margin:14px auto 0;max-width:38rem}.prose{text-align:left}.page-head.prose h1{text-align:center;margin-bottom:32px}.prose h2{margin:2.2em 0 .6em}.prose p{margin:0 0 1.1em}.hero{display:block;margin:0 calc(var(--gutter) * -1)}.hero img{width:100%;height:auto;max-height:78vh;object-fit:cover}.intro{text-align:center;margin:56px auto;max-width:36rem}.intro p{font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.7rem);line-height:1.4;margin:0}.section{margin-top:72px}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px}.section-head a,.photo-print a{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none}.section-head a:hover,.photo-print a:hover{color:var(--fg)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}.card{position:relative;display:block;overflow:hidden;text-decoration:none;color:#fff;background:var(--chip)}.card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s ease,filter .8s ease}.card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgb(0 0 0/.45),transparent 55%)}.card-title{position:absolute;left:22px;bottom:18px;z-index:1;font-family:var(--serif);font-size:1.8rem;letter-spacing:.02em}.card:hover img{transform:scale(1.03)}.grid{display:flex;flex-wrap:wrap;gap:var(--gap)}.grid::after{content:"";flex:999 1 0}.grid-item{position:relative;flex:var(--ar)1 calc(var(--ar) * var(--row-h));background:var(--chip);overflow:hidden}.grid-item img{width:100%;height:auto;aspect-ratio:var(--ar);object-fit:cover;transition:opacity .3s ease}.grid-caption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 10px;color:#fff;font-size:.85rem;font-weight:400;background:linear-gradient(to top,rgb(0 0 0/.5),transparent);opacity:0;transition:opacity .3s ease}.grid-item:hover .grid-caption,.grid-item:focus-visible .grid-caption{opacity:1}@media(max-width:1100px){:root{--row-h:240px}}@media(max-width:640px){:root{--row-h:170px;--gap:6px}}@media(hover:none){.grid-caption{display:none}}.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.chips a{display:inline-block;padding:6px 14px;border-radius:999px;background:var(--chip);text-decoration:none;font-size:.85rem;font-weight:400}.chips a:hover{background:var(--line)}.chips span{color:var(--muted);margin-left:4px}.chips-lg{justify-content:center;max-width:52rem;margin:0 auto}.chips-lg a{font-size:.95rem;padding:8px 18px}.chips-sm{margin-top:18px}.chips-sm a{font-size:.78rem;padding:4px 12px}.photo-page main{max-width:none}.photo-figure{margin:8px 0 0;display:flex;justify-content:center}.photo-expand{border:0;padding:0;background:0 0;cursor:zoom-in;max-width:100%}.photo-expand img{max-height:82vh;width:auto;max-width:100%;aspect-ratio:var(--ar);margin:0 auto}.photo-info{max-width:1100px;margin:36px auto 0;display:grid;grid-template-columns:1fr auto;gap:24px 48px;align-items:start}.photo-meta{color:var(--muted);font-size:.9rem;margin:8px 0 0}.photo-meta a{text-decoration:none}.photo-meta a:hover{color:var(--fg)}.photo-info .prose{margin-top:18px;max-width:40rem}.photo-print{margin:22px 0 0}.photo-nav{display:flex;gap:22px;white-space:nowrap;padding-top:14px;font-size:.9rem}.photo-nav a{text-decoration:none;color:var(--muted)}.photo-nav a:hover{color:var(--fg)}.photo-nav-all{font-family:var(--serif);font-size:1.1rem;color:var(--fg)!important}@media(max-width:720px){.photo-page main{padding:0}.photo-expand img{max-height:none}.photo-info{grid-template-columns:1fr;padding:0 var(--gutter);margin-top:22px}.photo-nav{order:-1;justify-content:space-between;padding:0 0 18px;border-bottom:1px solid var(--line)}}.is-full{overflow:hidden}.is-full .photo-figure{position:fixed;inset:0;z-index:20;margin:0;background:#0b0b0a;align-items:center}.is-full .photo-expand{cursor:zoom-out;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.is-full .photo-expand img{max-height:100vh;max-height:100dvh;max-width:100vw;width:auto;height:auto;object-fit:contain}.contact-form{display:grid;gap:18px;margin-top:36px}.contact-form label{display:grid;gap:6px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.contact-form input,.contact-form select,.contact-form textarea{font:300 1rem/1.5 var(--sans);letter-spacing:normal;text-transform:none;color:var(--fg);background:0 0;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 0;width:100%}.contact-form select{appearance:none;cursor:pointer;padding-right:24px;background:no-repeat right 4px center/12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23888' stroke-width='1.5'/%3E%3C/svg%3E")}.contact-form option{color:#1d1d1b;background:#fff}.contact-form textarea{resize:vertical;border:1px solid var(--line);padding:10px 12px}.contact-form :is(input,select,textarea):focus{outline:none;border-color:var(--fg)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}@media(max-width:640px){.field-row{grid-template-columns:1fr}}.contact-form .hp{position:absolute;left:-9999px}.contact-form .button{justify-self:start;cursor:pointer;font:.95rem var(--sans);color:var(--fg);background:0 0}.contact-form .button:disabled{opacity:.5;cursor:default}.form-status{margin:0;min-height:1.6em;font-size:.95rem}.form-status[data-state=error]{color:#c0503a}.button{display:inline-block;padding:10px 22px;border:1px solid var(--fg);text-decoration:none;font-weight:400}.button:hover{background:var(--fg);color:var(--bg)}:focus-visible{outline:2px solid var(--fg);outline-offset:3px}@media(prefers-reduced-motion:reduce){*{transition:none!important}}