.map-strip{padding:40px 0;border-bottom:1px solid var(--rule);background:var(--paper-2)}.map-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.map-inner strong{color:var(--ink);font-weight:500}.map-inner .big{font-family:var(--serif);font-size:32px;color:var(--ink);font-weight:300;letter-spacing:-.02em;text-transform:none}.map-inner .big em{font-style:italic;color:var(--accent)}.series-bar{position:sticky;top:72px;z-index:20;background:color-mix(in oklab,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}.series-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0;flex-wrap:wrap}.series-row{display:flex;gap:2px;flex-wrap:wrap;align-items:center}.series-row .filter-label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);display:inline-flex;align-items:center;gap:8px;margin-right:8px}.series-row .filter-label:before{content:"◇";color:var(--accent);font-size:9px}.series-row .filter-btn{padding:8px 14px;color:var(--ink-3);border-radius:3px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-family:var(--mono);transition:background-color .15s ease,color .15s ease}.series-row .filter-btn:hover{color:var(--ink)}.series-row .filter-btn.active{background:var(--ink);color:var(--paper)}.series-count{font-family:var(--mono);font-size:11px;color:var(--ink-4);letter-spacing:.1em;text-transform:uppercase}.series{padding:80px 0 40px;border-bottom:1px solid var(--rule)}.series:last-of-type{border-bottom:0}.series-head{display:grid;grid-template-columns:1fr 1.4fr auto;gap:40px;align-items:end;margin-bottom:36px}@media(max-width:900px){.series-head{grid-template-columns:1fr;gap:16px}}.series-num{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.series-title{font-family:var(--serif);font-weight:300;font-size:clamp(36px,4.5vw,56px);line-height:1.02;letter-spacing:-.02em;margin:10px 0 0;text-wrap:balance}.series-desc{color:var(--ink-2);font-size:17px;line-height:1.55;max-width:52ch;margin:0;text-wrap:pretty}.series-links{display:grid;gap:10px;justify-items:end;text-align:right}@media(max-width:900px){.series-links{justify-items:start;text-align:left}}.series-meta,.series-source{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase}.series-link{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.photo-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}@media(max-width:700px){.photo-grid{gap:12px}}.photo{position:relative;overflow:hidden;border:1px solid var(--rule);background:var(--paper-3);cursor:zoom-in;transition:transform .4s ease,border-color .2s ease;padding:0}.photo:hover{transform:translateY(-2px);border-color:var(--rule-2)}.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo .label{position:absolute;left:10px;top:10px;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#ffffffd1;border:1px dashed rgba(255,255,255,.42);padding:4px 7px;border-radius:2px;background:#0003}.photo .meta{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.7));font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:#ffffffe0;text-transform:uppercase;opacity:0;transition:opacity .3s ease}.photo:hover .meta{opacity:1}.photo .meta .accent{color:#f3c79b}.folder-empty{display:grid;gap:14px;border:1px dashed var(--rule-2);background:color-mix(in oklab,var(--paper-2) 84%,transparent);padding:28px;max-width:480px}.folder-empty-tag{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.folder-empty p{margin:0;color:var(--ink-2)}.sp-3{grid-column:span 3}.sp-4{grid-column:span 4}.sp-6{grid-column:span 6}.sp-8{grid-column:span 8}@media(max-width:900px){.sp-3,.sp-4{grid-column:span 6}.sp-6,.sp-8{grid-column:span 12}}.ar-35{aspect-ratio:3 / 5}.ar-23{aspect-ratio:2 / 3}.ar-11{aspect-ratio:1 / 1}.ar-43{aspect-ratio:4 / 3}.ar-32{aspect-ratio:3 / 2}.ar-169{aspect-ratio:16 / 9}.lightbox{position:fixed;inset:0;z-index:200;background:#0a0805e0;display:none;align-items:center;justify-content:center;padding:40px}.lightbox.open{display:flex}.lightbox-content{position:relative;max-width:min(80vw,1100px);max-height:86vh;aspect-ratio:3 / 2;background:var(--paper-3);border:1px solid rgba(255,255,255,.15);overflow:hidden}.lightbox-content img{width:100%;height:100%;object-fit:contain;background:#0000001f}.lightbox-close{position:absolute;right:-12px;top:-44px;color:#fffc;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase}.lightbox-caption{position:absolute;left:0;right:0;bottom:-44px;display:flex;justify-content:space-between;gap:20px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:#ffffffb3;text-transform:uppercase}.lightbox-caption strong{color:#f5f1e8;font-weight:500}.series-closer{padding:100px 0;border-bottom:1px solid var(--rule);background:var(--paper-2)}.closer-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}@media(max-width:900px){.closer-grid{grid-template-columns:1fr}}.closer-grid h2{font-family:var(--serif);font-weight:300;font-size:clamp(34px,4.5vw,56px);line-height:1.04;letter-spacing:-.02em;margin:0 0 18px;max-width:12ch}.closer-grid h2 em{font-style:italic;color:var(--accent)}.closer-grid p{color:var(--ink-2);font-size:17px;line-height:1.6;margin:0;max-width:48ch;text-wrap:pretty}.closer-grid code,.page-hero code{font-family:var(--mono);font-size:.92em}.closer-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.closer-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}.closer-stat{background:var(--paper);padding:28px}.closer-stat .n{font-family:var(--serif);font-weight:300;font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.03em;color:var(--ink)}.closer-stat .n em{font-style:italic;color:var(--accent)}.closer-stat .l{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:10px}
