:root{--bg:#0c0d0f;--bg-raise:#141518;--ink:#eceae4;--ink-muted:#98958c;--line:#26272b;--serif:"Iowan Old Style", "Palatino Linotype", "URW Palladio L", P052, Palatino, Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--pad:clamp(1rem, 3vw, 2.5rem)}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-text-size-adjust:100%;font-size:16px}body{flex-direction:column;min-height:100vh;margin:0;line-height:1.6;display:flex}a{color:inherit;text-decoration:none}img{-webkit-user-drag:none;user-select:none;max-width:100%;height:auto;display:block}.site-header{padding:calc(var(--pad) * .9) var(--pad);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.brand{font-family:var(--serif);letter-spacing:.02em;font-size:1.35rem}.brand span{color:var(--ink-muted)}.site-nav{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);gap:1.6rem;font-size:.78rem;display:flex}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink)}main{padding:0 var(--pad) var(--pad);flex:1;width:100%;max-width:1600px;margin:0 auto}.page-title{font-family:var(--serif);letter-spacing:.01em;margin:.5rem 0 1.8rem;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:400}.gallery-index{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.gallery-card{background:var(--bg-raise);position:relative;overflow:hidden}.gallery-card img{aspect-ratio:3/2;object-fit:cover;width:100%;transition:transform .6s}.gallery-card:hover img{transform:scale(1.03)}.gallery-card .card-label{font-family:var(--serif);letter-spacing:.03em;background:linear-gradient(#0000,#050608d1);padding:2.2rem .9rem .7rem;font-size:1.05rem;position:absolute;inset:auto 0 0}.card-label small{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);font-size:.68rem;display:block}.photo-grid{columns:3 340px;column-gap:14px}.photo-grid figure{break-inside:avoid;background:var(--bg-raise);margin:0 0 14px}.photo-grid img{cursor:zoom-in;width:100%;transition:opacity .3s}.photo-grid img:hover{opacity:.88}.gallery-nav{border-top:1px solid var(--line);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.2rem;font-size:.8rem;display:flex}.gallery-nav a:hover{color:var(--ink)}.lightbox{z-index:50;background:#050608f5;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.lightbox.open{display:flex}.lightbox img{width:auto;max-width:94vw;height:auto;max-height:92vh}.lightbox button{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding:1rem;font-size:2rem;line-height:1;position:absolute}.lightbox button:hover{color:var(--ink)}.lb-close{top:.4rem;right:.6rem}.lb-prev{top:50%;left:.3rem;transform:translateY(-50%)}.lb-next{top:50%;right:.3rem;transform:translateY(-50%)}.prose{max-width:44rem}.prose p{margin:0 0 1.2rem}.prose blockquote{font-family:var(--serif);border-left:2px solid var(--line);margin:2rem 0;padding:.2rem 0 .2rem 1.4rem;font-size:1.15rem;font-style:italic}.prose blockquote footer{font-family:var(--sans);color:var(--ink-muted);margin-top:.5rem;font-size:.8rem;font-style:normal}.prose h2{font-family:var(--serif);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin:2.4rem 0 .8rem;font-size:1.15rem;font-weight:400}.contact-form{gap:1rem;max-width:34rem;margin-top:1.5rem;display:grid}.contact-form label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);font-size:.75rem}.contact-form input,.contact-form textarea{background:var(--bg-raise);border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;margin-top:.4rem;padding:.7rem .8rem}.contact-form input:focus,.contact-form textarea:focus{outline:1px solid var(--ink-muted)}.contact-form button{background:var(--ink);color:var(--bg);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border:0;justify-self:start;padding:.7rem 1.8rem;font-size:.78rem}.contact-form button:hover{opacity:.85}.site-footer{padding:1.2rem var(--pad) 1.6rem;border-top:1px solid var(--line);letter-spacing:.06em;color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.75rem;display:flex}.site-footer a:hover{color:var(--ink)}.footer-social{gap:1.2rem;display:flex}@media (prefers-reduced-motion:reduce){.gallery-card img,.photo-grid img{transition:none}}
