:root{--paper:#f6f2e9;--ink:#292b27;--muted:#727369;--line:#d8d3c7;--wine:#743c3e;--green:#4d6558}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.5 Arial,sans-serif}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ab654b;outline-offset:3px}body>header{height:89px;margin:0 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}body>header .brand{font:25px Georgia,serif;text-decoration:none}body>header .brand small{display:block;font:9px Arial;letter-spacing:2px;margin-top:7px;color:var(--muted)}.prototype{font-size:9px;letter-spacing:1.7px;color:var(--wine);border:1px solid var(--line);padding:7px 11px}.reader-link{font-size:12px;text-decoration:none}main{padding:0 40px}.intro{display:flex;justify-content:space-between;align-items:center;padding:32px 0 28px;gap:30px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--wine);margin:0 0 10px}.intro h1{font:46px/1.1 Georgia,serif;letter-spacing:-1.8px;margin:0}.intro>p{font:16px/1.6 Georgia,serif;color:var(--muted);margin:0 30px 0 0}.atlas{display:grid;grid-template-columns:250px minmax(300px,1fr) 310px;border:1px solid var(--line);height:650px;max-height:calc(100vh - 260px);min-height:540px}.explorer{display:flex;flex-direction:column;min-height:0;background:#f0ece2}.explorer-head{padding:20px 16px 15px}.section-label{font-size:10px;letter-spacing:1.8px;display:flex;justify-content:space-between;margin-bottom:16px}#count{color:var(--muted)}input{border:1px solid var(--line);background:var(--paper);padding:10px;width:100%;font-size:11px;border-radius:0}.filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.filters button{border:1px solid var(--line);border-radius:20px;padding:5px 10px;background:transparent;font-size:10px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.places{overflow:auto;flex:1}.place{display:flex;text-align:left;gap:12px;border:0;border-top:1px solid var(--line);background:transparent;padding:15px 16px;width:100%;color:var(--ink)}.place[aria-pressed=true]{background:#e4dfd2;box-shadow:inset 3px 0 var(--wine)}.place:hover{background:#e9e4d8}.number{font:12px Georgia;display:grid;place-items:center;border:1px solid #b7b4a7;border-radius:50%;width:25px;height:25px;flex-shrink:0}.place strong{display:block;font:17px Georgia}.place small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.explorer-footer{border-top:1px solid var(--line);padding:13px 16px;font-size:10px;color:var(--muted)}.map-column{min-width:0;display:flex;flex-direction:column;border-left:1px solid var(--line);border-right:1px solid var(--line)}.map-wrap{position:relative;flex:1;min-height:0}#map{height:100%;background:#e4e5da}.leaflet-tile-pane{filter:saturate(.45)}.overview{position:absolute;right:12px;top:12px;z-index:450;background:var(--paper);border:1px solid var(--line);padding:10px 12px;font-size:11px;box-shadow:0 2px 8px #0001}.map-caption{position:absolute;bottom:25px;left:12px;background:#f6f2e9ed;padding:7px 9px;font-size:8px;letter-spacing:1px;z-index:450}.map-caption span{letter-spacing:0}.pin{background:none;border:none}.pin span{display:grid;place-items:center;width:30px;height:30px;background:var(--green);border:2px solid var(--paper);border-radius:50%;box-shadow:0 2px 7px #0004;color:white;font:13px Georgia}.pin.musica span{background:#956d37}.pin.vida span{background:var(--wine)}.pin.selected span{outline:3px solid #743c3e66;transform:scale(1.2)}.tour{padding:17px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#eae5da;min-height:93px}.tour .eyebrow{display:block;font-size:8px;margin-bottom:4px}.tour strong{display:block;font:19px Georgia}.tour #tour-progress{display:block;font-size:9px;color:var(--muted);margin-top:5px}.tour button{background:var(--ink);color:white;border:0;padding:11px;font-size:10px;white-space:nowrap}#tour-controls{white-space:nowrap}#tour-step{font-size:11px;margin:0 6px}.tour button:disabled{opacity:.3;cursor:default}.detail{padding:25px 23px;overflow:auto}.detail .eyebrow{margin-bottom:13px}.detail h2{font:35px/1.1 Georgia;letter-spacing:-1px;margin:0 0 8px}.current-name{font-size:11px;color:var(--muted);margin:0 0 18px}.tag{font-size:9px;display:inline-block;border:1px solid var(--line);padding:4px 8px;color:var(--wine)}.detail h3{font:23px/1.25 Georgia;margin:20px 0 12px}.description{font-size:13px;line-height:1.75;color:#5e6157}.source{font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}.read{display:block;text-decoration:none;padding:12px 13px;background:var(--wine);color:white;font-size:12px;margin:18px 0}.scan{width:100%;height:140px;object-fit:cover;object-position:top;border:1px solid var(--line);margin-top:12px}.scan-link{display:block}.scan-label{font-size:9px;color:var(--muted);margin-top:5px}footer{display:flex;gap:50px;justify-content:space-between;padding:18px 0}footer>span{font-size:9px;letter-spacing:1px;white-space:nowrap}footer p{max-width:730px;margin:0;font-size:10px;color:var(--muted)}#map-error{position:absolute;top:65px;left:15px;right:15px;z-index:450;background:var(--paper);padding:12px;font-size:12px}.empty{padding:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(min-width:1600px){.atlas{grid-template-columns:280px 1fr 350px}.intro{padding:40px 0}.detail{padding:30px}.intro h1{font-size:56px}}@media(max-width:1100px){body>header{margin:0 20px}main{padding:0 20px}.atlas{grid-template-columns:210px minmax(250px,1fr) 260px}.detail{padding:20px 16px}.intro h1{font-size:39px}.tour{align-items:flex-start;flex-direction:column}.prototype{font-size:8px}}@media(max-width:800px){body>header{height:76px}.prototype{display:none}body>header .brand{font-size:22px}.intro{display:block;padding:26px 0}.intro h1{font-size:38px}.intro>p{font-size:15px;margin-top:16px}.desktop{display:none}.atlas{height:auto;max-height:none;min-height:0;grid-template-columns:1fr}.explorer{grid-row:2}.explorer-head{padding:16px}.places{display:flex;max-height:150px;overflow:auto}.place{min-width:190px;border-right:1px solid var(--line)}.explorer-footer{display:none}.map-column{grid-row:1;border:0}.map-wrap{height:360px;flex:none}.tour{flex-direction:row;align-items:center}.detail{grid-row:3;border-top:1px solid var(--line);overflow:visible;padding:24px}.scan{height:190px;object-fit:contain;object-position:left}.detail h2{font-size:34px}footer{flex-direction:column;gap:10px}.map-caption{font-size:7px}.filters{flex-wrap:nowrap}.reader-link{font-size:10px}}
.atlas-nav{display:flex;gap:22px;flex-wrap:wrap;align-items:center}.atlas-nav a{font-size:12px;text-decoration:none}.atlas-nav a[aria-current]{color:var(--wine);text-decoration:underline;text-underline-offset:7px}.references{margin-top:20px;border-top:1px solid var(--line);padding-top:14px;font-size:12px}.references summary{cursor:pointer;color:var(--wine)}.references a{display:block;margin-top:16px}.references p{font:12px/1.7 Georgia,serif;color:var(--muted);white-space:pre-wrap}.geo-source{display:block;font-size:10px;margin-top:18px;color:var(--muted)}.pending{margin-top:20px;font-size:12px;color:var(--muted)}.pending summary{cursor:pointer}.pending a{display:inline-block;margin:6px 14px 6px 0}footer{flex-wrap:wrap}.atlas-nav{flex:1;justify-content:center}@media(max-width:1000px){body>header{height:auto;min-height:90px;flex-wrap:wrap;padding:20px 0}.atlas-nav{order:3;flex-basis:100%;justify-content:flex-start;gap:16px}.reader-link{margin-left:auto}}.pin span{min-width:30px;width:auto;padding:0 4px}

/* Keep the shared header palette and typography independent of map styles. */
.top{--muted:#68685f;--line:#d7d1c5;line-height:1.65}

/* The place list starts open; collapsing it gives its column to the map. */
.atlas-toolbar{display:flex;align-items:center;margin:0 0 12px}
#explorer-toggle{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--paper);color:var(--wine);padding:10px 15px;min-height:44px;font:12px Arial,sans-serif}
#explorer-toggle:hover{background:#ece7dc}
#explorer-toggle[hidden],.explorer[hidden]{display:none!important}
.atlas.explorer-collapsed{grid-template-columns:minmax(300px,1fr) 310px}
.atlas.explorer-collapsed .map-column{border-left:0}
@media(min-width:1500px){.atlas.explorer-collapsed{grid-template-columns:minmax(300px,1fr) 350px}}
@media(max-width:1100px) and (min-width:801px){.atlas.explorer-collapsed{grid-template-columns:minmax(250px,1fr) 260px}}
@media(max-width:800px){.atlas.explorer-collapsed{grid-template-columns:1fr}.atlas.explorer-collapsed .detail{grid-row:2}}

.pin.historia span{background:#665a78}.pin.frente span{background:var(--green)}
.references .reference-context{font:10px/1.5 Arial,sans-serif;margin-bottom:4px;color:var(--wine)}
.references .active-context{font-weight:bold}.references .reference-context+p{margin-top:4px}
@media(max-width:800px){.filters{flex-wrap:wrap}.filters button{min-height:36px}}

/* Short labels retain their full accessible names and hover descriptions. */
.atlas .category-tags{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 0;font:10px/1.35 Arial,sans-serif;letter-spacing:0;text-transform:none}
.atlas .category-tag{display:inline-block;white-space:nowrap;padding:2px 5px;border:1px solid var(--line);border-radius:3px;color:#5e6157;background:#f6f2e980}
.atlas .category-tag.is-active{color:var(--wine);border-color:#bca3a1;background:#eee4df}
.atlas .detail>.category-tags{margin:0 0 12px;font-size:11px}
.atlas .place>span:last-child{min-width:0}

/* Fit all five filters into two rows, including the narrow desktop sidebar. */
.atlas-page .atlas .filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:10px}
.atlas-page #atlas-explorer .filters button{font:11px/1.3 Arial,sans-serif;min-height:30px;padding:5px 4px;border-radius:4px;white-space:nowrap}
@media(max-width:800px){.atlas-page .atlas .filters{grid-template-columns:repeat(5,minmax(0,1fr))}.atlas-page #atlas-explorer .filters button{min-height:36px}}
