:root{--paper:#f5f0e6;--paper2:#fffaf0;--mat:#e7e0d3;--ink:#1d2d27;--slate:#3a4a43;--sage:#65756d;--seal:#ed634e;--ochre:#e6ad3d;
--serif:"DM Serif Display",Georgia,serif;--mono:"DM Mono",ui-monospace,Menlo,monospace}
*{box-sizing:border-box}
html{background:var(--paper)}
body{margin:0 auto;max-width:1240px;padding:48px 5vw 80px;color:var(--ink);font:15px/1.6 var(--mono);
background:radial-gradient(ellipse at 20% 0%,var(--paper2),transparent 60%),var(--paper)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.35;mix-blend-mode:multiply;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .4 0 0 0 0 .3 0 0 0 .18 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit;text-underline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--ink);color:var(--paper);padding:6px 10px;z-index:9}
.mast{max-width:720px;margin:0 0 56px}
.eyebrow,.count{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin:0}
.eyebrow a{text-decoration:none;color:var(--seal)}
h1{font:400 clamp(2.6rem,7vw,4.6rem)/1.02 var(--serif);letter-spacing:-.02em;margin:.35em 0 .3em}
h1 em{color:var(--slate)}
.lede{color:var(--slate);max-width:36em;margin:0 0 1.2em}
.count{border-top:1px solid #cfc6b5;padding-top:12px;display:inline-block}
.grid{list-style:none;margin:0;padding:0;columns:3 300px;column-gap:40px}
.card{break-inside:avoid;margin:0 0 44px;display:block}
.open{all:unset;cursor:zoom-in;display:block;width:100%;background:var(--mat);padding:10px;
box-shadow:0 1px 0 #d8cfbf,0 12px 26px -18px rgba(29,45,39,.45);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.open:hover{transform:translateY(-3px)}
.open:focus-visible{outline:2px solid var(--seal);outline-offset:4px}
.open img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.cap{display:flex;justify-content:space-between;gap:12px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);margin:14px 2px 0}
.cap span:last-child{color:#9a9f97;text-align:right}
footer{margin-top:40px;border-top:1px solid #cfc6b5;padding-top:16px;font-size:12px;color:var(--sage)}
dialog{border:0;padding:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:rgba(245,240,230,.97);color:var(--ink)}
dialog::backdrop{background:rgba(29,45,39,.5)}
.lb-inner{position:relative;height:100%;display:flex;align-items:center;justify-content:center;padding:56px 72px 24px}
.lb-fig{margin:0;display:flex;flex-direction:column;align-items:center;max-height:100%;max-width:100%}
.lb-fig img{max-width:min(100%,1600px);max-height:calc(100dvh - 210px);width:auto;height:auto;object-fit:contain;background:var(--mat);padding:10px;box-shadow:0 18px 40px -24px rgba(29,45,39,.6);touch-action:pan-y}
.lb-fig figcaption{text-align:center;max-width:46em;margin-top:14px}
.lb-no,.lb-meta{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin:0}
.lb-meta{color:var(--seal)}
.lb-fig h2{font:400 1.8rem/1.1 var(--serif);margin:.15em 0 .1em}
#lb-cap{margin:0;color:var(--slate);font-size:13px}
.lb-btn{position:absolute;border:1px solid #cfc6b5;background:var(--paper2);color:var(--ink);width:46px;height:46px;border-radius:50%;font:400 26px/1 var(--serif);cursor:pointer}
.lb-btn:hover,.lb-btn:focus-visible{border-color:var(--seal);color:var(--seal);outline:none}
.lb-prev{left:14px;top:50%;transform:translateY(-50%)}.lb-next{right:14px;top:50%;transform:translateY(-50%)}
.lb-close{right:14px;top:12px}
.lb-pos{position:absolute;left:18px;top:14px;margin:0;font-size:11px;letter-spacing:.14em;color:var(--sage)}
@media (max-width:640px){body{padding:32px 6vw 60px}.grid{columns:1}.lb-inner{padding:56px 10px 70px}
.lb-prev,.lb-next{top:auto;bottom:14px;transform:none}.lb-prev{left:calc(50% - 56px)}.lb-next{right:calc(50% - 56px)}
.lb-fig img{max-height:calc(100dvh - 260px)}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
