:root{font-family:Georgia,"Times New Roman",serif;color:#172d3b;background:#f4f1e9;font-size:16px}
*{box-sizing:border-box}
body{margin:0}
button,input,select{font:inherit}
button{cursor:pointer}
a{color:#245776}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #be8b32;outline-offset:2px}
.topbar{height:64px;background:#172d3b;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:3px solid #d4b56e}
.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:12px;font-family:Arial,sans-serif;font-weight:700;letter-spacing:.09em;font-size:.82rem}
.brand-mark{color:#d4b56e;font-size:1.75rem;line-height:1}
.topbar-label{font-family:Arial,sans-serif;font-size:.82rem;color:#d8e0e4;letter-spacing:.08em;text-transform:uppercase}
.topbar-nav{display:flex;align-items:center;gap:24px;font-family:Arial,sans-serif;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}
.topbar-nav a{color:#e7edf0;text-decoration:none}
.topbar-nav a:hover{text-decoration:underline}
.topbar-nav [aria-current=page]{color:#d4b56e}
.project-intro{padding:40px 28px 30px;text-align:center;background:#f4f1e9;max-width:1200px;margin:0 auto}
.project-intro h1{font-family:Arial,sans-serif;font-size:clamp(1.55rem,2.5vw,2.35rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;max-width:1000px;margin:0 auto 18px}
.project-intro>p:not(.eyebrow){font-family:Arial,sans-serif;font-size:.98rem;line-height:1.62;color:#344b58;max-width:1100px;margin:0 auto 24px}
.ria-credit{background:#090909;max-width:440px;margin:0 auto;padding:8px 14px}
.ria-credit img{display:block;width:100%;height:auto}
.workspace{height:650px;min-height:600px;display:grid;grid-template-columns:minmax(330px,390px) minmax(0,1fr)}
.search-panel{background:#f4f1e9;border-right:1px solid #d6d0c2;overflow-y:auto;display:flex;flex-direction:column}
.intro{padding:28px 28px 14px}
.eyebrow{font-family:Arial,sans-serif;font-size:.73rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#805d25;margin:0 0 10px}
h1{font-size:2.2rem;line-height:1.08;letter-spacing:-.035em;margin:0 0 12px;font-weight:normal}
.intro p:last-child{color:#455866;line-height:1.45;margin:0;font-size:.97rem}
.search-form{padding:12px 28px 23px;display:grid;gap:7px;border-bottom:1px solid #d6d0c2}
.search-form label{font-family:Arial,sans-serif;font-size:.82rem;font-weight:700;color:#263c49;margin-top:9px}
.search-form input,.search-form select{width:100%;height:42px;border:1px solid #aeb9bd;border-radius:4px;background:#fff;padding:0 12px;color:#172d3b;font-family:Arial,sans-serif;font-size:.92rem}
.search-form input::placeholder{color:#6c7b83}
.clear-button{justify-self:start;border:0;background:transparent;color:#245776;font-family:Arial,sans-serif;font-size:.83rem;text-decoration:underline;padding:8px 0 0}
.results-heading{padding:18px 28px 0;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.results-heading h2{margin:0;font-size:1.22rem;font-weight:normal}
#match-count{font-family:Arial,sans-serif;color:#5e6d75;font-size:.81rem;white-space:nowrap}
.results-hint,.source-note{color:#53636d;font-size:.88rem;line-height:1.5;padding:0 28px}
.results-hint{margin:8px 0 0}
.results{padding:8px 20px 16px;overflow-y:auto}
.result-card{width:100%;text-align:left;border:1px solid #d8d0c0;background:#fff;border-radius:5px;padding:12px 14px;margin:0 0 8px;color:#172d3b;display:block}
.result-card:hover{border-color:#af8748;background:#fffdf8}
.result-name{display:block;font-size:.99rem;line-height:1.3}
.result-place,.result-summary{display:block;color:#546671;font-family:Arial,sans-serif;font-size:.78rem;line-height:1.4;margin-top:5px}
.result-summary{color:#354954;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.source-note{margin:auto 0 0;padding-top:14px;padding-bottom:18px;border-top:1px solid #d6d0c2;background:#eeeae0}
.map-panel{position:relative;min-height:0;background:#dbe3df}
#map{height:100%;width:100%;z-index:1}
.map-legend,.map-status{position:absolute;z-index:500;background:rgba(255,255,255,.94);box-shadow:0 2px 12px #162d3b22;border-radius:4px;font-family:Arial,sans-serif;color:#243b48;font-size:.79rem}
.map-legend{right:18px;top:18px;padding:11px 13px;display:flex;align-items:center;gap:6px}
.map-legend .pin{margin-left:8px}
.map-legend .pin:first-child{margin-left:0}
.pin{display:inline-block;width:13px;height:13px;border-radius:50%;background:#d52232;border:2px solid #7d1320;box-shadow:0 1px 4px #14273466}
.map-status{left:16px;bottom:22px;padding:9px 12px}
.map-error{position:absolute;z-index:501;inset:0;display:grid;place-content:center;text-align:center;background:#e8e5db;padding:24px;font-size:1rem}
.map-error[hidden]{display:none}
.claim-pin{display:block;width:22px;height:22px;border-radius:50%;border:2px solid #7d1320;box-shadow:0 2px 7px #14273499;background:#d52232}
.claim-pin-icon{background:transparent;border:0}
.marker-cluster{background:rgba(213,34,50,.36)}
.marker-cluster div{background:#c51d2c;color:#fff;font-family:Arial,sans-serif;font-weight:700}
.leaflet-popup-content-wrapper{font-family:Georgia,serif;border-radius:5px}
.leaflet-popup-content{margin:11px 14px}
.popup-name{font-size:.95rem;line-height:1.35;margin:0 0 8px}
.popup-button{font-family:Arial,sans-serif;border:0;padding:0;color:#245776;background:none;text-decoration:underline;font-size:.85rem}
dialog{border:0;border-radius:6px;box-shadow:0 18px 65px #0c1f2a66;width:min(650px,calc(100vw - 28px));max-height:min(88dvh,900px);padding:0;color:#172d3b;background:#fff}
dialog::backdrop{background:#112633a8}
.dialog-header{position:sticky;top:0;z-index:2;padding:17px 24px 0;background:#fff;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #e4dfd4}
.close-button{border:0;background:transparent;color:#344c5a;font-family:Arial,sans-serif;font-size:1.75rem;line-height:1;padding:0 0 12px 12px}
#dialog-content{padding:19px 24px 28px;overflow-y:auto}
#dialog-content h2{font-size:1.6rem;line-height:1.22;font-weight:normal;margin:0 0 8px}
.detail-location{font-family:Arial,sans-serif;color:#5c6f79;font-size:.9rem;margin:0 0 20px}
.detail-block{border-top:1px solid #e7e2d8;padding:16px 0 0;margin:0 0 16px}
.detail-block h3{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.73rem;color:#805d25;margin:0 0 8px}
.detail-block p{line-height:1.55;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.detail-meta{font-family:Arial,sans-serif;font-size:.88rem;line-height:1.65}
.detail-meta dt{color:#586a74}
.detail-meta dd{margin:0 0 8px}
.detail-links a{display:inline-block;margin:0 14px 8px 0;font-family:Arial,sans-serif;font-size:.9rem}
@media(max-width:760px){.topbar{height:55px;padding:0 16px}.brand{font-size:.72rem}.topbar-label{display:none}.project-intro{padding:30px 18px 24px}.project-intro>p:not(.eyebrow){font-size:.9rem}.ria-credit{max-width:360px}.workspace{height:auto;min-height:0;display:flex;flex-direction:column}.search-panel{order:1;overflow:visible;border-right:0}.intro{padding:20px 18px 8px}.intro h1{font-size:1.9rem}.search-form{padding:5px 18px 16px;grid-template-columns:1fr 1fr;gap:6px 10px}.search-form label{grid-column:auto;font-size:.76rem}.search-form input,.search-form select{grid-column:auto}.search-form label:nth-of-type(1),.search-form label:nth-of-type(3){grid-column:1}.search-form label:nth-of-type(2),.search-form label:nth-of-type(4){grid-column:2}.search-form input:nth-of-type(1),.search-form input:nth-of-type(3){grid-column:1}.search-form input:nth-of-type(2),.search-form select{grid-column:2}.clear-button{grid-column:1/-1}.map-panel{order:2;height:54dvh;min-height:360px}.results-heading,.results-hint{padding-left:18px;padding-right:18px}.results{padding-left:10px;padding-right:10px}.source-note{display:none}.map-legend{right:10px;top:10px}.map-status{left:10px;bottom:20px}}
@media(max-width:430px){.search-form{display:block}.search-form label{display:block;margin-top:10px;margin-bottom:5px}.search-form input,.search-form select{display:block}.map-panel{height:50dvh}}
.about-body{background:#f4f1e9}
.project-details{max-width:1100px;margin:0 auto;padding:54px 28px 80px;scroll-margin-top:18px}
.project-details>h2{font-size:2.2rem;font-weight:normal;margin:0 0 20px}
.project-section-nav{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 32px;padding-bottom:20px;border-bottom:1px solid #cabfa9;font-family:Arial,sans-serif;font-size:.84rem}
.project-section-nav a{display:inline-block;padding:10px 13px;border:1px solid #c8bba5;border-radius:3px;text-decoration:none;background:#fff;color:#243b48}
.project-section-nav a:hover{border-color:#9a753f;background:#fffaf0}
.project-copy{max-width:850px}
.project-copy section{border-top:1px solid #cabfa9;padding-top:24px;margin-bottom:42px;scroll-margin-top:22px}
.project-copy h2{font-weight:normal;font-size:1.72rem;line-height:1.2;margin:0 0 20px}
.project-copy p,.project-copy .references li{font-size:1.04rem;line-height:1.68;color:#263b47}
.project-copy p{margin:0 0 19px}
.about-main{max-width:1100px;margin:0 auto;padding:48px 28px 80px;display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:64px}
.about-lead{position:sticky;top:30px;align-self:start}
.about-lead h1{font-size:2.5rem}
.about-deck{font-size:1.06rem;line-height:1.5;color:#455866}
.map-return{display:inline-block;margin-top:14px;padding:12px 16px;background:#172d3b;color:#fff;text-decoration:none;font-family:Arial,sans-serif;font-size:.86rem;border-radius:3px}
.map-return:hover{background:#28516a}
.about-article{max-width:760px}
.about-article section{border-top:1px solid #cabfa9;padding-top:24px;margin-bottom:42px}
.about-article h2{font-weight:normal;font-size:1.72rem;line-height:1.2;margin:0 0 20px}
.about-article p,.references li{font-size:1.04rem;line-height:1.68;color:#263b47}
.about-article p{margin:0 0 19px}
.location-note{background:#e9e1d0;border-left:4px solid #aa8346;padding:12px 16px}
.references ol{padding-left:22px;margin:0}
.references li{margin:0 0 14px;overflow-wrap:anywhere}
.ria-panel{background:#172d3b;padding:24px;margin:24px 0 16px;border-radius:3px}
.ria-panel img{display:block;width:min(100%,550px);height:auto}
.copyright{font-family:Arial,sans-serif;font-size:.8rem!important;color:#61717a!important}
.supporter{background:#fff;border-top:1px solid #d6d0c2;padding:48px 28px 54px}
.supporter-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:48px}
.supporter-copy{max-width:550px}
.supporter-copy h2{font-size:1.8rem;line-height:1.2;font-weight:normal;margin:0 0 14px}
.supporter-copy p:not(.eyebrow){font-family:Arial,sans-serif;font-size:.94rem;line-height:1.6;color:#455866;margin:0 0 20px}
.supporter-copy a{font-family:Arial,sans-serif;font-size:.9rem}
.supporter img{display:block;width:160px;height:160px;object-fit:cover;border-radius:50%;flex:none}
@media(max-width:760px){.supporter{padding:36px 18px 42px}.supporter-inner{gap:24px}.supporter img{width:120px;height:120px}.supporter-copy h2{font-size:1.5rem}}
@media(max-width:520px){.supporter-inner{flex-direction:column-reverse;align-items:flex-start}.supporter img{width:110px;height:110px}}
@media(max-width:760px){.topbar-nav{gap:12px;font-size:.7rem}.project-details{padding:38px 18px 50px}.project-details>h2{font-size:1.85rem}.project-copy h2{font-size:1.5rem}.about-main{display:block;padding:28px 18px 50px}.about-lead{position:static;margin-bottom:36px}.about-lead h1{font-size:2.1rem}.about-article h2{font-size:1.5rem}.ria-panel{padding:16px}}
@media(max-width:520px){.brand span:last-child{display:none}.brand-mark{font-size:1.9rem}.topbar-nav{gap:14px}}
