:root{
  --ink:#2b2119;--soft:#6b5d4c;--faint:#8c7b65;--parch:#efe6d2;
  --panel:#f7f0df;--paper:#fbf6e9;--line:#c9b48f;--accent:#8a3324;
  --sea:#d9e2e2;--shadow:rgba(43,33,25,.16);
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  color:var(--ink);background:var(--parch)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-size:18px;line-height:1.55;background:var(--parch)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110' viewBox='0 0 110 110'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E")}
a{color:inherit}
button,input{font:inherit}
button,a,input{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[hidden]{display:none!important}
.page-head,main,footer{max-width:1320px;margin:auto;padding-left:36px;padding-right:36px}
nav{display:flex;justify-content:space-between;gap:24px;padding:25px 0;border-bottom:1px solid var(--line);font-size:16px}
nav a{text-decoration:none}
nav a:hover{text-decoration:underline;text-underline-offset:4px}
.title-block{position:relative;max-width:900px;padding:54px 0 44px}
.folio{margin:0 0 5px;color:var(--accent);font-size:15px;font-variant:small-caps;letter-spacing:.09em}
h1{font-family:Optima,"Iowan Old Style",Georgia,serif;font-size:clamp(54px,9vw,104px);font-weight:400;letter-spacing:-.045em;line-height:.94;margin:0 0 18px}
.intro{font-size:clamp(23px,3vw,31px);margin:0 0 10px}
.guide{color:var(--soft);max-width:700px;margin:0 0 21px;font-size:19px}
.collection-note{display:inline-block;margin:0;padding-top:12px;border-top:1px solid var(--line);color:var(--faint);font-size:15px}
.controls{padding:24px 26px;background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 24px rgba(91,69,42,.07)}
.controls>label{display:block;margin-bottom:7px;font-size:16px}
.search-row{display:flex;gap:14px;align-items:end}
input{width:100%;min-width:0;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--soft);padding:9px 1px}
button{cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 13px}
button:hover{border-color:var(--accent)}
fieldset{border:0;padding:0;margin:19px 0 0;display:grid;grid-template-columns:92px 1fr;align-items:start;gap:12px}
legend{float:left;width:92px;padding:7px 0;color:var(--soft);font-size:14px}
.filters{display:flex;flex-wrap:wrap;gap:7px}
.filters button{font-size:14px;padding:6px 11px}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--panel);border-color:var(--ink)}
#result-count{color:var(--soft);font-size:15px;margin:21px 0 0;text-align:right}
.atlas-collection{margin-top:42px}
.atlas-collection+.atlas-collection{margin-top:74px}
.collection-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;border-top:2px solid var(--ink);padding:17px 0 24px}
.collection-heading h2{font-weight:400;font-size:clamp(31px,4vw,46px);line-height:1.05;margin:0 0 6px}
.collection-heading p{margin:0;color:var(--soft);font-size:16px}
.collection-heading>span{color:var(--faint);font-size:14px;white-space:nowrap}
.map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 25px}
.map-card{min-width:0;content-visibility:auto;contain-intrinsic-size:420px}
.map-link{display:block;text-decoration:none}
.map-window{position:relative;background:var(--sea);border:1px solid var(--line);padding:7px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 5px 16px var(--shadow)}
.map-window::after{content:"";position:absolute;inset:6px;border:1px solid rgba(78,61,43,.24);pointer-events:none}
.map-window img{display:block;width:100%;height:100%;object-fit:contain;background:#ede5d1}
.map-kind{position:absolute;left:14px;bottom:14px;z-index:1;background:rgba(43,33,25,.87);color:var(--paper);padding:4px 8px;font-size:12px;letter-spacing:.03em}
.map-link:hover .map-window{border-color:var(--accent);box-shadow:0 7px 22px rgba(84,42,30,.22)}
h3{font-weight:400;font-size:22px;line-height:1.27;margin:15px 0 8px}
.map-link:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.map-card>p{margin:0;color:var(--soft);font-size:15.5px;line-height:1.5;max-width:58ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.entry-meta{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:13px;padding-top:8px;color:var(--faint);font-size:13px}
.entry-meta a{color:var(--ink);white-space:nowrap;text-underline-offset:3px}
footer{margin:70px auto 0;padding-top:24px;padding-bottom:32px;border-top:1px solid var(--line);font-size:16px}
footer p{color:var(--soft);max-width:70ch}
.skip{position:absolute;left:20px;top:-100px;background:var(--panel);padding:10px;z-index:10}
.skip:focus{top:10px}
#empty{padding:50px 0;text-align:center}
#empty h2{font-weight:400}
dialog{width:min(96vw,1500px);height:min(94vh,1050px);padding:0;border:1px solid var(--ink);background:var(--paper);color:var(--ink);box-shadow:0 18px 70px rgba(20,14,10,.5)}
dialog::backdrop{background:rgba(25,19,14,.82)}
.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:13px 16px;border-bottom:1px solid var(--line)}
.viewer-bar h2{font-size:20px;font-weight:400;line-height:1.2;margin:0}
.viewer-close{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.viewer-canvas{height:calc(100% - 105px);overflow:auto;background:#d8cfbc;padding:12px;text-align:center}
.viewer-canvas img{display:block;max-width:none;width:auto;height:auto;min-width:min(100%,900px);margin:auto;box-shadow:0 3px 18px rgba(43,33,25,.24)}
#viewer-original{display:block;padding:8px 16px;font-size:14px;text-align:right}
@media(max-width:940px){.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head,main,footer{padding-left:26px;padding-right:26px}}
@media(max-width:620px){.page-head,main,footer{padding-left:18px;padding-right:18px}nav{font-size:14px;gap:12px}.title-block{padding:38px 0 30px}.guide{font-size:17px}.controls{padding:17px}.search-row{gap:8px}fieldset{display:block}legend{float:none;width:auto;padding-bottom:8px}.map-grid{grid-template-columns:1fr;gap:34px}.atlas-collection{margin-top:36px}.atlas-collection+.atlas-collection{margin-top:58px}.collection-heading{align-items:start}.collection-heading p{font-size:15px}.map-card>p{-webkit-line-clamp:4}dialog{width:100vw;height:100vh;max-width:none;max-height:none;border:0}.viewer-bar h2{font-size:17px}.viewer-canvas{height:calc(100% - 105px);padding:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
