/* upg.css — Perlow–Wiesner additions to the shared fam-ui.css (23 Oct 2026) */
.fx-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:6px 0 12px}
.fx-filters label,.lbl{display:flex;flex-direction:column;gap:5px;font:600 12px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fx-filters .wide{grid-column:1/-1}
.fx-filters input,.fx-filters select{width:100%;min-height:44px;font:16px var(--sans);text-transform:none;letter-spacing:0}
.fx-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.fx-doc{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.fx-doc .scan{display:block;width:100%;border:0;padding:0;background:#efe9dc;cursor:zoom-in}
.fx-doc .scan img{width:100%;height:230px;object-fit:cover;object-position:top;display:block}
.fx-doc .b{padding:12px 14px 16px;font:15px/1.5 var(--sans)}
.fx-doc .b h3{font:600 16.5px/1.4 var(--serif);margin:8px 0 8px}
.fx-doc dl{margin:6px 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:14px}
.fx-doc dt{color:var(--muted)}.fx-doc dd{margin:0}
.fx-rel{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fx-rel .fx-in{width:100%;flex:none;height:auto;text-transform:none;letter-spacing:0}
.fx-grid.mini{grid-template-columns:repeat(2,1fr);gap:8px}
.fx-side h3{font-size:22px;font-weight:400;margin:0 0 6px}.fx-side h4{font:600 13px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:16px 0 6px}
.fx-side .fx-tl small{display:block;font-size:13.5px;font-family:var(--sans)}
.mv-n span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--wine);color:#fff;font:700 13px var(--sans);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.plc .plc-b{display:block;width:100%;min-height:44px;text-align:left;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.plc .plc-b strong{color:var(--wine)}
.leaflet-container{font:14px var(--sans)}
/* home */
.home-x .in{padding:70px 20px 40px}.home-x .credit{padding:0 20px 12px!important}.home-x .stats dt{color:#fff}.home-x .stats dd{color:#d8cfbf}.home-x .stats div{border-left-color:var(--gold2)}
.home-x .kicker{color:var(--gold2)}.home-x .btn.ghost{color:#fff;border-color:#e9dfca}
.home-x img.bg{object-position:center 30%}
.story-x .story-in{max-width:760px;margin:34px auto 0;font-size:19px;line-height:1.7}
.story-x .story-in p{margin:0 0 14px}
.story-x .story-in p:nth-child(2)::first-letter{float:left;font-size:3.3em;line-height:.9;padding:6px 8px 0 0;color:var(--wine)}
/* memorial */
.mem-intro{text-align:center;max-width:760px;margin-top:26px}.mem-intro .lede-s{font-size:19px;line-height:1.65}
.fx-mem .m .ph{width:84px;height:104px;display:flex;align-items:center;justify-content:center;background:#efeae0;border-radius:6px;flex:0 0 auto}
.fx-mem .m.pend{border-left-color:var(--g3);opacity:.92}
.fx-mem .mrel{color:var(--ink2);font-style:italic}
.fx-mem .m a{color:var(--ink);text-decoration:none}.fx-mem .m a:hover{text-decoration:underline}
/* navigation: 12 items fold into the menu below 1180px */
@media(max-width:1180px){.menu-btn{display:block;min-height:44px}.nav{display:none;position:absolute;left:0;right:0;top:58px;background:var(--ink);flex-direction:column;padding:8px 12px 14px;border-bottom:2px solid var(--gold);max-height:calc(100vh - 58px);overflow:auto}.nav.open{display:flex}.nav a{font-size:17px;padding:13px 10px;min-height:44px}}
/* mobile polish */
@media(max-width:700px){
 body{font-size:17px}.small{font-size:15px}.fx-note{font-size:15px}
 .fx-rel{grid-template-columns:1fr}
 .fx-docs{grid-template-columns:1fr}
 .fx-filters{grid-template-columns:1fr 1fr}
 .home-x .in{padding:40px 20px 26px}
 .story-x .story-in{font-size:18px}
 .btn{min-height:44px;display:inline-flex;align-items:center}
 .plist button,.rel button,.chips button{min-height:44px}
}

@media(min-width:1181px){.top .wrap.top-in{max-width:1340px}.nav{flex-wrap:nowrap}.nav a{padding:10px 8px;font-size:13.5px;white-space:nowrap}.brand-t{white-space:nowrap}}
.fx-tile .fx-t{line-height:1.35;max-height:calc(4.05em + 20px)}
