.map-status{margin:0;padding:7px 26px;background:#f5f6f1;color:var(--muted);font-size:12px}.public-cluster-labels{position:absolute;inset:0;pointer-events:none;color:#fff;font:bold 12px var(--sans);z-index:2}.public-cluster-labels span{position:absolute;transform:translate(-50%,-50%);transform-origin:center;width:42px;text-align:center;line-height:1}.co-located-choice{position:absolute;z-index:4;left:16px;right:16px;bottom:16px;max-width:360px;padding:14px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px #17352a20}.co-located-choice h3{margin:0 28px 6px 0;font: bold 20px var(--serif);color:var(--deep)}.co-located-choice p{margin:0 0 10px;color:var(--muted);font-size:13px}.co-located-choice ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.co-located-choice button{width:100%;padding:9px 10px;text-align:left;background:#fff;border:1px solid var(--line);cursor:pointer}.co-located-choice button:hover,.co-located-choice button:focus{border-color:var(--green);outline:2px solid #064d3d55;outline-offset:1px}.co-located-choice-close{position:absolute;top:8px;right:10px;border:0!important;background:transparent!important;font-size:22px!important;width:auto!important;padding:2px 6px!important}
.map-layer-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.layer-toggle{display:flex;gap:2px}.layer-toggle button{min-height:44px;padding:8px 12px;border:1px solid #c9cec4;background:#fff;color:var(--ink);font:inherit;cursor:pointer}.layer-toggle button[aria-pressed="true"]{background:#064d3d;color:#fff;border-color:#064d3d}.opacity-control{display:none;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.opacity-control input{width:84px}.aerial-note{display:none;margin:0;padding:7px 26px;background:#fff8e8;color:#6c5729;font-size:12px}.aerial-note[hidden]{display:none}
.result-row.selected{outline:2px solid var(--gold);outline-offset:-2px}
.result-thumb{width:64px;height:64px;object-fit:cover;border-radius:8px;background:#e8ebe4}
.selected-photo-button{display:block;flex:0 0 auto;padding:0;border:1px solid var(--line);background:#eef0ea;cursor:zoom-in;border-radius:3px}.selected-photo-button[hidden]{display:none}.selected-photo-button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.selected-photo-button .selected-photo{display:block;border:0}.photo-lightbox{position:fixed;inset:0;z-index:20;display:grid;place-items:center;overflow:auto;padding:clamp(18px,4vw,56px);background:rgba(12,25,20,.84)}.photo-lightbox[hidden]{display:none}.photo-lightbox-content{position:relative;width:min(900px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:28px;background:#fff;color:var(--ink);box-shadow:0 18px 60px rgba(0,0,0,.35)}.photo-lightbox-content h2{margin:0 42px 16px 0;color:var(--deep);font:700 24px/1.1 var(--serif)}.photo-lightbox-content img{display:block;width:auto;max-width:100%;max-height:calc(100vh - 170px);margin:0 auto;object-fit:contain;background:#eef0ea}.photo-lightbox-content p{margin:12px 0 0;color:var(--muted);font-size:13px}.photo-lightbox-close{position:absolute;top:12px;right:14px;width:40px;height:40px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:27px;line-height:1;cursor:pointer}.photo-lightbox-close:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.photo-lightbox-error{color:#8a332b!important}
@media(max-width:800px){.map-status,.aerial-note{padding:7px 20px}.map-layer-controls{justify-content:flex-start;margin-top:8px}.opacity-control{width:100%}.opacity-control input{flex:1}}.map-legend{position:static;right:auto;bottom:auto;width:auto;margin:0;padding:9px 26px;border-top:1px solid var(--line);background:#fff}.map-legend ul{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0;padding:0;list-style:none}.map-legend li{display:inline-flex;align-items:center;gap:7px;min-width:0;color:var(--ink);font-size:12px;line-height:1.3}.legend-swatch{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #879088;color:#fff;font:bold 9px var(--sans)}.legend-swatch-default{background:var(--map-default)}.legend-swatch-search{background:var(--map-search)}.legend-swatch-selected{width:18px;height:18px;background:var(--map-selected);border:3px solid var(--map-selected-stroke);box-shadow:none}.legend-swatch-cluster{width:22px;height:22px;background:var(--map-cluster);border-color:#fff;box-shadow:0 0 0 1px var(--map-cluster)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#public-map .maplibregl-ctrl-group button{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:flex;align-items:center;justify-content:center}#public-map .maplibregl-ctrl-group button:focus-visible{outline:3px solid #b38d46;outline-offset:2px}#public-map .maplibregl-ctrl-group button .maplibregl-ctrl-icon{width:24px;height:24px;background-position:center;background-repeat:no-repeat}
#public-map,.maplibregl-canvas{background:#dfe9df}

/* WEB-019 public map-first fidelity layer: compact app shell, crisp borders,
   true-white surfaces and an explicit selection/layer hierarchy. */
body:has(.explorer){background:#fff;color:var(--ink)}
.site-header{height:60px;padding:0 38px;background:#fff;border-bottom:1px solid #d9ddd7}.wordmark{font-size:25px;letter-spacing:-.02em}.site-header nav{gap:30px;font-size:14px}.site-header nav a{height:60px;display:flex;align-items:center;border-bottom:3px solid transparent}.site-header nav a.active{border-color:var(--green);font-weight:700}.language{min-height:40px;padding:8px 14px;border-color:#cfd4ce;background:#fff}
.search-hero{padding:21px 38px 18px;background:#fff;border-bottom:1px solid var(--line)}.search-hero-inner{max-width:1120px}.search-hero h1{font-size:31px;letter-spacing:-.025em;margin:0 0 13px}.lead{font-size:15px;margin:0 0 15px;color:var(--muted)}.search-form label{font-size:13px;margin-bottom:6px}.search-controls{gap:12px;max-width:1000px}.input-wrap{height:46px;border-color:#aeb7b0;padding:0 13px;font-size:25px}.input-wrap input{font-size:15px}.primary,.map-button{height:46px}.primary{padding:0 28px}.map-button{padding:0 22px;font-size:14px;border-color:#8ea398}
  .explorer{grid-template-columns:minmax(350px,390px) minmax(0,1fr);height:auto;min-height:620px;border-top:0;border-bottom:1px solid var(--line)}.results-panel{border-right:1px solid var(--line);background:#fff}.panel-heading{height:60px;padding:0 25px;border-bottom:1px solid var(--line)}.panel-heading h2{font-size:21px}.panel-heading span{font-size:12px;color:var(--muted)}.result-list{padding:0 10px}.result-row{align-items:center;gap:13px;padding:14px 12px;border:1px solid transparent;border-bottom-color:#e0e4df;border-left:3px solid transparent;background:#fff;font-size:14px}.result-row:hover{background:#f6f8f4}.result-row.selected{border:1px solid var(--gold);border-left:4px solid var(--gold);background:#fffdf6;outline:0}.result-row small{font-size:12px;line-height:1.35}.result-thumb{width:58px;height:58px;border-radius:3px}.avatar{width:38px;height:38px}.results-help{margin:14px 20px 18px;padding-top:12px;font-size:12px}.results-help small{padding-left:0}.map-panel{min-width:0;background:#fff}.map-heading{height:auto;min-height:60px;gap:15px}.map-heading>div:first-child{min-width:145px}.eyebrow{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:2px}.map-heading h2{font-size:21px}.map-layer-controls{gap:12px}.layer-toggle{gap:0}.layer-toggle button{min-height:40px;padding:7px 14px;border-color:#c8d0ca;font-size:13px}.layer-toggle button+button{border-left:0}.layer-toggle button:first-child{border-radius:2px 0 0 2px}.layer-toggle button:last-child{border-radius:0 2px 2px 0}.layer-toggle button[aria-pressed="true"]{background:var(--green);border-color:var(--green);font-weight:700}.layer-toggle button:disabled{background:#f4f5f2;color:#8b938d;cursor:not-allowed}.opacity-control{font-size:12px}.opacity-control input{width:82px}.selected-panel{display:flex;align-items:center;gap:15px;margin:0 14px 10px;padding:13px 16px;border:1px solid var(--gold);border-radius:2px;background:#fffdf7;min-height:84px;position:relative}.selected-panel:after{content:"";position:absolute;left:46px;bottom:-9px;width:16px;height:16px;background:#fffdf7;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:rotate(45deg)}.selected-mark{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:50%;background:var(--gold);color:#fff;font-size:30px}.selected-copy{min-width:0}.selected-copy h3{margin:0 0 2px;color:var(--deep);font:bold 19px var(--serif)}.selected-copy strong{display:block;font-size:14px}.selected-copy p{margin:2px 0 0;color:var(--muted);font-size:12px}.selected-clear{margin-left:auto;align-self:flex-start;padding:6px 0;border:0;background:transparent;color:var(--ink);font-size:12px;cursor:pointer;white-space:nowrap}.selected-clear span{font-size:21px;vertical-align:-2px;margin-right:4px}.selected-photo{width:58px;height:58px;object-fit:cover;border:1px solid var(--line)}.map-canvas{height:calc(100% - 60px);min-height:560px;background:#e4e9e2}.map-status{padding:6px 20px;background:#f7f8f5;font-size:11px;border-top:1px solid #edf0eb}.layer-note{margin:0;padding:7px 20px;background:#fffdf2;color:#6b592e;border-top:1px solid #ead9af;font-size:11px}.map-legend{padding:10px 20px;border-top:1px solid var(--line);background:#fff}.map-legend ul{gap:7px 18px}.map-legend li{font-size:11px}.public-cluster-labels span{font-size:12px}
footer{padding:20px 38px;background:#fafbf8;border-top:1px solid var(--line);font-size:12px}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 38px;background:var(--navy);border-top:2px solid var(--gold);color:#fff;font-size:12px;line-height:1.3}.site-footer nav{display:flex;gap:20px}.site-footer a{color:#fff;text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{text-decoration:underline;text-underline-offset:3px}.legal-page{min-height:calc(100vh - 154px);display:grid;place-items:start center;padding:clamp(48px,10vh,110px) 24px;background:var(--ivory)}.legal-page-inner{width:min(760px,100%);padding:34px 38px;background:var(--card);border-left:4px solid var(--gold);box-shadow:0 8px 24px rgba(8,43,76,.08)}.legal-page h1{margin:0 0 18px;color:var(--navy);font:700 38px/1.05 var(--serif)}.legal-placeholder{margin:0 0 26px;color:var(--muted);font-size:15px}.legal-back-link{color:var(--blue);font-size:14px}
.legal-document{width:min(920px,100%);padding:38px 48px}.legal-document h1{margin-bottom:10px}.legal-lead,.legal-meta{margin:0 0 22px;color:var(--muted);font-size:15px}.legal-section{margin:28px 0 0;padding-top:22px;border-top:1px solid var(--line)}.legal-section h2{margin:0 0 10px;color:var(--navy);font:700 22px/1.15 var(--serif)}.legal-section h3{margin:18px 0 7px;color:var(--deep);font:700 16px/1.2 var(--sans)}.legal-section p,.legal-section li{font-size:14px;line-height:1.6}.legal-section p{margin:0 0 12px}.legal-section ul{margin:8px 0 12px;padding-left:22px}.legal-section address{font-style:normal;line-height:1.65}.legal-section code{padding:1px 4px;background:var(--paper);font-size:.92em}.legal-document a{color:var(--blue);text-underline-offset:3px}.legal-source,.legal-note{color:var(--muted);font-size:12px!important;line-height:1.5!important}.legal-status{display:inline-block;margin:0 0 14px;padding:7px 10px;border-left:4px solid var(--gold);background:var(--pale-gold);color:var(--deep);font-size:12px;font-weight:700;letter-spacing:.03em}.legal-notice{margin:0 0 4px;padding:14px 16px;border:1px solid var(--gold);background:#fff8e8;color:var(--ink);font-size:14px;line-height:1.55}.legal-draft .archive-kicker{margin-bottom:7px}.legal-checklist{background:#fff8e8;padding:20px 18px 4px;border:1px solid var(--gold)}
@media(max-width:800px){.site-header{height:58px;padding:0 16px}.wordmark{font-size:18px;line-height:1.05;max-width:180px}.site-header nav{height:58px;gap:14px}.site-header nav a{height:58px}.site-header nav a:nth-child(3),.language{display:none}.search-hero{padding:5px 16px 2px}.search-hero h1{font-size:26px;line-height:1.02;margin-bottom:4px}.lead{display:none}.search-form label{font-size:12px}.search-controls{position:relative;display:block}.input-wrap{height:40px;padding-right:58px}.primary{position:absolute;right:0;top:0;width:48px;height:40px;margin:0;padding:0;font-size:0}.primary:after{content:"⌕";font-size:19px}.map-button{display:none}.explorer{display:block;height:auto}.results-panel{border-right:0;max-height:76px;min-height:0}.results-panel .panel-heading{height:34px;padding:0 16px}.result-list{padding:0 8px;max-height:42px;overflow:auto}.result-row{min-height:42px;padding:1px 10px;gap:9px}.result-row small{margin-top:1px}.result-thumb{width:36px;height:36px}.avatar{width:28px;height:28px}.map-panel{border-top:1px solid var(--line)}.map-heading{min-height:42px;padding:0 12px;display:block}.map-heading>div:first-child,.map-heading h2,.eyebrow{display:none}.map-layer-controls{display:block;margin-top:0}.layer-toggle{width:100%}.layer-toggle button{flex:1;min-height:42px;padding:6px 4px;font-size:11px}.opacity-control{width:100%;margin-top:7px}.opacity-control input{flex:1}.selected-panel{margin:0 10px 2px;padding:2px 8px;gap:6px;min-height:52px}.selected-panel:after{left:27px}.selected-mark{flex-basis:27px;height:27px;font-size:17px}.selected-copy h3{font-size:13px}.selected-copy strong,.selected-copy p{font-size:10px}.selected-clear{font-size:0;padding:0 2px}.selected-clear span{font-size:23px;margin:0}.selected-photo{width:28px;height:28px}.map-canvas{height:540px;min-height:480px}.map-status,.layer-note{padding:6px 12px}.map-legend{padding:10px 12px}.map-legend ul{gap:9px 13px}.map-legend li{font-size:10px}.map-legend li:last-child{flex-basis:100%}.maplibregl-ctrl-top-right{top:8px;right:8px}.site-header nav{gap:12px}.site-header nav a{height:58px}.site-footer{align-items:flex-start;flex-direction:column;padding:11px 16px;gap:5px}.site-footer nav{gap:16px}.legal-page{min-height:calc(100vh - 128px);padding:34px 16px}.legal-page-inner{padding:26px 22px}.legal-page h1{font-size:30px}}
@media(max-width:800px){.photo-lightbox{padding:12px}.photo-lightbox-content{max-height:calc(100vh - 24px);padding:18px 14px}.photo-lightbox-content h2{font-size:19px;margin-bottom:12px}.photo-lightbox-content img{max-height:calc(100vh - 135px)}.photo-lightbox-content p{font-size:12px}.photo-lightbox-close{top:8px;right:8px}}
.selected-panel[hidden],.selected-photo-button[hidden]{display:none}

/* WEB-027: explain tolerant name matching without adding another control. */
.search-hint{margin:4px 0 0;color:var(--muted);font-size:11px}
@media(max-width:800px){.search-hint{margin:1px 0 0;font-size:10px}.result-list{scrollbar-width:none}.result-list::-webkit-scrollbar{display:none;width:0;height:0}}

/* WEB-022: sharing controls stay compact, keyboard-visible and touch-safe. */
.selected-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;align-self:stretch;flex-wrap:wrap}.selected-share{min-height:44px;padding:8px 10px;border:1px solid var(--gold);background:#fff;color:var(--ink);font-size:12px;cursor:pointer;white-space:nowrap}.selected-share:focus-visible,.selected-clear:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.selected-share-status{font-size:11px;color:var(--deep);white-space:nowrap}.selected-share-status[data-status="error"]{color:#8a332b}.selected-share[hidden],.selected-share-status[hidden]{display:none}
@media(max-width:800px){.selected-actions{gap:3px}.selected-share{min-height:44px;padding:2px 6px;font-size:10px}.selected-share-status{display:inline;max-width:82px;white-space:normal;text-align:right;font-size:9px;line-height:1.1}.selected-clear{min-height:44px;padding:0 2px}}
 .legend-swatch-reserved,.legend-swatch-free{background:var(--map-reserved);border-color:var(--map-reserved-stroke);box-shadow:0 0 0 1px var(--map-reserved-stroke)}.legend-swatch-free{background:var(--map-free);border-color:var(--map-free-stroke);box-shadow:0 0 0 1px var(--map-free-stroke)}.map-legend small{color:var(--muted);font-size:11px}

/* WEB-024 Gemeindeatlas: official archive shell and map-first density. */
:root{--ink:#172431;--green:#155a91;--deep:#082b4c;--gold:#bf9342;--line:#cbd3d5;--paper:#f5f1e8;--muted:#63717c;--navy:#082b4c;--blue:#155a91;--pale-gold:#f0e5ca;--ivory:#f5f1e8;--card:#fffdf8}
body:has(.explorer){background:var(--ivory);color:var(--ink)}
.site-header{height:90px;padding:0 38px;background:var(--navy);border-bottom:3px solid var(--gold);color:#fff}.brand-lockup{display:flex;align-items:center;gap:16px;min-width:0;color:#fff}.brand-logo{display:grid;place-items:center;width:66px;height:66px;padding:7px;background:#fff}.brand-logo img{display:block;width:100%;height:100%;object-fit:contain}.brand-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.brand-copy small{font:11px/1 var(--sans);letter-spacing:.14em;white-space:nowrap}.brand-copy strong{font:700 24px/1.05 var(--serif);white-space:nowrap}.site-header nav{gap:29px;font-size:14px}.site-header nav a{height:90px;display:flex;align-items:center;border-bottom:3px solid transparent}.site-header nav a.active{border-color:var(--gold);font-weight:700}.language{min-height:42px;padding:8px 14px;border-color:#7590a7;background:transparent;color:#fff}
.search-hero{padding:24px 38px 20px;background:var(--ivory);border-bottom:1px solid var(--line)}.search-hero-inner{display:grid;grid-template-columns:minmax(380px,1fr) minmax(540px,720px);gap:48px;align-items:end;max-width:none}.archive-kicker,.eyebrow,.archive-kicker{display:block;margin-bottom:8px;font-size:11px}.search-hero h1{color:var(--navy);font-size:36px;line-height:1.02;letter-spacing:-.025em;margin:0 0 10px}.lead{font-size:15px;margin:0;color:var(--muted)}.search-form label{font-size:13px;margin-bottom:6px}.search-controls{gap:0;max-width:none}.input-wrap{height:52px;border-color:#91a1ad;padding:0 15px;font-size:23px}.input-wrap input{font-size:16px}.primary,.map-button{height:52px}.primary{padding:0 33px;background:var(--blue);border-color:var(--blue)}.map-button{display:none}
.explorer{grid-template-columns:360px minmax(0,1fr);height:auto;min-height:620px;background:var(--card)}.results-panel{border-right:1px solid var(--line);background:var(--card)}.panel-heading{height:64px;padding:0 24px;background:var(--card)}.panel-heading h2{color:var(--navy);font-size:25px}.result-list{padding:0 10px}.result-row{gap:12px;padding:13px 10px;border-bottom:1px solid var(--line);border-left:4px solid transparent;background:var(--card);font-size:15px}.result-row:hover{background:#fbf7ed}.result-row.selected{border:1px solid var(--gold);border-left:4px solid var(--gold);background:var(--card)}.result-row small{font-size:12px}.result-thumb{width:58px;height:58px;border-radius:0}.results-help{margin:14px 18px 18px;padding-top:12px}
.map-panel{background:var(--card)}.map-heading{min-height:64px;padding:0 24px}.map-heading h2{color:var(--navy);font-size:25px}.map-heading>div:first-child{min-width:210px}.eyebrow{font-size:10px;margin-bottom:3px}.map-layer-controls{gap:10px}.layer-toggle button{min-height:40px;padding:7px 15px;border-color:#aebbc5;font-size:13px}.layer-toggle button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy)}.selected-panel{margin:0 18px 10px;padding:12px 16px;border-left:5px solid var(--gold);border-color:var(--line);border-left-color:var(--gold);background:var(--card);min-height:84px}.selected-panel:after{left:44px;background:var(--card);border-color:var(--gold)}.selected-mark{flex-basis:48px;background:var(--gold)}.selected-copy h3{color:var(--gold);font:700 10px/1 var(--sans);letter-spacing:.15em;text-transform:uppercase}.selected-copy strong{color:var(--navy);font:700 26px/1.05 var(--serif)}.selected-copy p{font-size:12px}.selected-photo{width:82px;height:82px}.selected-share{border-color:var(--navy);color:var(--navy);background:var(--card)}.map-canvas{height:calc(100% - 92px);min-height:580px;background:#dfe8dc}.map-status{background:#f6f8f4}.map-legend{padding:10px 18px;background:var(--card)}.map-legend li{font-size:12px}.map-legend ul{gap:8px 19px}
.photo-lightbox{padding:24px;background:rgba(8,43,76,.9)}.photo-lightbox-content{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto 1fr auto;gap:8px 18px;width:min(1180px,100%);height:min(94vh,900px);max-height:none;overflow:hidden;padding:24px;background:var(--card);border-top:4px solid var(--gold)}.photo-lightbox-content h2{grid-column:1;margin:0;color:var(--navy);font-size:25px}.photo-lightbox-close{top:18px;right:18px;border-color:var(--line);color:var(--navy)}.lightbox-toolbar{grid-column:2;grid-row:1;display:flex;align-items:center;gap:6px}.lightbox-toolbar button{min-height:40px;padding:7px 12px;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer}.lightbox-toolbar button:hover,.lightbox-toolbar button:focus-visible{border-color:var(--gold);outline:2px solid var(--gold);outline-offset:1px}.lightbox-toolbar output{min-width:54px;text-align:center;color:var(--muted);font-size:13px}.lightbox-viewport{grid-column:1/-1;grid-row:3;display:grid;place-items:center;min-height:0;overflow:hidden;background:#e9ece7;touch-action:none;cursor:grab}.lightbox-viewport:active{cursor:grabbing}.lightbox-viewport img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;margin:0;object-fit:contain;transform-origin:center;will-change:transform}.photo-lightbox-content>p{grid-column:1/-1;margin:0}.photo-lightbox-error{color:#8a332b!important}
@media(max-width:800px){.site-header{height:64px;padding:0 14px}.brand-lockup{gap:9px}.brand-logo{width:42px;height:42px;padding:4px}.brand-copy small{font-size:8px;letter-spacing:.09em}.brand-copy strong{font-size:16px;white-space:normal}.site-header nav{height:64px;gap:11px;font-size:12px}.site-header nav a{height:64px}.site-header nav a:nth-child(3),.language{display:none}.search-hero{padding:13px 14px 11px}.search-hero-inner{display:block}.search-intro{margin-bottom:12px}.archive-kicker{font-size:9px;margin-bottom:4px}.search-hero h1{font-size:25px;line-height:1.03;margin-bottom:5px}.lead{display:none}.search-form label{font-size:11px}.input-wrap{height:40px;padding-right:54px}.primary{right:0;width:48px;height:40px}.explorer{height:auto}.results-panel{max-height:76px}.results-panel .panel-heading{height:34px}.map-heading{min-height:42px;padding:0 12px}.map-heading>div:first-child,.map-heading h2,.eyebrow{display:none}.layer-toggle button{min-height:42px;font-size:10px}.selected-panel{margin:0 10px 2px;padding:3px 8px;min-height:55px}.selected-mark{flex-basis:28px;height:28px;font-size:16px}.selected-copy h3{font-size:9px}.selected-copy strong{font-size:15px}.selected-copy p{font-size:9px}.selected-photo{width:38px;height:38px}.selected-actions{gap:2px}.selected-share{min-height:42px;font-size:10px;padding:2px 5px}.map-canvas{height:510px;min-height:480px}.map-legend{padding:9px 12px}.map-legend li{font-size:10px}.photo-lightbox{padding:10px}.photo-lightbox-content{width:100%;height:calc(100vh - 20px);padding:16px 12px;gap:7px 8px}.photo-lightbox-content h2{font-size:19px}.lightbox-toolbar{gap:3px}.lightbox-toolbar button{min-height:40px;padding:6px 8px;font-size:11px}.lightbox-toolbar button:last-child{font-size:0;width:42px}.lightbox-toolbar button:last-child:after{content:'↺';font-size:18px}.lightbox-viewport{grid-row:3;min-height:0}.photo-lightbox-content>p{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lightbox-viewport img{will-change:auto}}
/* Keep the explicit fitted image box stable; transforms are user zoom only. */
.lightbox-viewport img{max-width:none;max-height:none}

/* WEB-024 visual QA follow-up: keep the compact shell self-contained at narrow widths. */
@media(max-width:800px){
  .site-header nav a:not(.active),.site-header nav .language{display:none}
  .site-header nav{flex:0 0 auto;min-width:0}
  #result-list:has(> [data-result-id]:only-child){max-height:none;overflow:hidden}
  .result-row{min-height:42px;height:42px;padding:1px 10px;gap:9px}
  .result-thumb{width:36px;height:36px}
  .avatar{width:28px;height:28px}
}

/* WEB-033 Archivkartensaal: option B desktop shell. Keep the mobile app shell
   above intact and change only the large-screen composition. */
@media(min-width:801px){
  :root{--hall-navy:#0A2D4E;--hall-navy-deep:#0A2D4E;--hall-brass:#AA7A2D;--hall-ivory:#F7F6F2;--hall-white:#FFF;--hall-ink:#18232D;--hall-muted:#60717D;--hall-border:#D5DDE0}
  body:has(.explorer){background:var(--hall-ivory);color:var(--hall-ink)}
  .site-header{height:72px;padding:0 34px;background:var(--hall-navy);border:0;color:#fff}
  .site-header .brand-lockup{gap:13px;color:#fff}
  .site-header .brand-logo{width:44px;height:45px;padding:3px;background:#fff}
  .site-header .brand-copy{gap:4px}
  .site-header .brand-copy small{font:700 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.16em}
  .site-header .brand-copy strong{font:700 19px/1 Arial,Helvetica,sans-serif;letter-spacing:.025em;white-space:nowrap}
  .site-header nav.site-legal-nav{height:72px;gap:24px;font:12px/1 Arial,Helvetica,sans-serif}
  .site-header nav.site-legal-nav a{height:72px;border:0;color:#fff}
  .archive-status{display:inline-flex;align-items:center;gap:7px;color:#DBE5EB;font-size:11px}
  .archive-status i{width:7px;height:7px;border-radius:50%;background:#85A798}
  .search-hero{height:78px;padding:0 34px;background:var(--hall-ivory);border-bottom:1px solid var(--hall-border)}
  .search-hero-inner{height:100%;display:flex;align-items:center;gap:28px;max-width:none}
  .search-intro{width:275px;flex:0 0 275px}
  .archive-kicker{display:block;margin:0 0 5px;color:var(--hall-brass);font-size:10px;letter-spacing:.14em}
  .search-hero h1{margin:0;color:var(--hall-navy);font:400 22px/1 Arial,Helvetica,sans-serif;letter-spacing:-.02em}
  .search-hero .lead,.search-hint{display:none}
  .search-form{flex:0 1 690px;min-width:420px}
  .search-controls{display:flex;align-items:center;width:100%;height:44px;min-height:44px;border:1px solid #AAB8C2;border-radius:8px;background:#fff;box-shadow:none}
  .search-controls:focus-within{border-color:var(--hall-brass);box-shadow:0 0 0 3px rgba(170,122,45,.18)}
  .input-wrap{display:flex;align-items:center;flex:1;min-width:0;height:42px;padding:0 13px;border:0;background:transparent}
  .input-wrap label{display:block;flex:0 0 auto;margin:0 18px 0 0;color:var(--hall-muted);font-size:11px;white-space:nowrap}
  .input-wrap .control-icon{width:0;height:0;display:none}
  .input-wrap input{min-width:0;flex:1;height:100%;border:0;outline:0;color:var(--hall-ink);font-size:15px;font-weight:600}
  .primary{height:42px;min-width:92px;padding:0 22px;border:0;border-radius:0 7px 7px 0;background:var(--hall-navy);color:#fff;font-size:13px;font-weight:700}
  .primary:hover{background:#16476F;transform:none;box-shadow:none}

  .explorer{grid-template-columns:320px minmax(0,1fr);height:auto;min-height:620px;background:#fff;border-bottom:1px solid var(--hall-border)}
  .results-panel{min-height:0;overflow-y:auto;border-right:1px solid var(--hall-border);background:#fff}
  .panel-heading{height:70px;padding:0 22px;background:#fff;border-bottom:1px solid var(--hall-border)}
  .panel-heading h2{color:var(--hall-navy);font:700 18px/1 Arial,Helvetica,sans-serif}.panel-heading span{color:var(--hall-muted);font-size:11px}
  .result-list{padding:8px 10px 0}.result-row{min-height:67px;gap:12px;padding:9px 10px;border:1px solid transparent;border-bottom-color:#E7ECEE;border-left:1px solid transparent;border-radius:0;background:#fff;color:var(--hall-ink);transition:background-color 160ms ease,transform 160ms ease}
  .result-row:hover{background:#F4F7F8;transform:none}.result-row.selected{border-color:var(--hall-brass);border-left-color:var(--hall-brass);background:#FBFAF6;outline:0}.result-row strong{font-size:14px}.result-row small{margin-top:5px;color:var(--hall-muted);font-size:11px}.result-row b{color:#AAB8C2;font-size:18px;font-weight:400}.avatar{width:10px;height:10px;border:2px solid #AAB8C2;border-radius:50%;font-size:0}.result-row.selected .avatar{border-color:var(--hall-brass);background:var(--hall-brass)}
  .results-help{margin:14px 22px;padding-top:14px;border-top:1px solid var(--hall-border);color:var(--hall-muted);font-size:11px}.results-help small{padding-left:0}
  .map-panel{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;background:#D8E0DE}
  .map-heading{position:absolute;z-index:5;top:18px;left:20px;right:20px;display:flex;align-items:flex-start;justify-content:space-between;height:auto;min-height:0;padding:0;background:transparent;border:0;pointer-events:none}
  .map-heading>*{pointer-events:auto}.map-heading>div:first-child{min-width:0;padding:11px 14px;border:1px solid rgba(10,45,78,.2);border-radius:8px;background:#fff;box-shadow:0 3px 12px rgba(24,35,45,.12)}
  .map-heading .eyebrow{display:block;margin:0 0 3px;color:var(--hall-brass);font-size:9px;letter-spacing:.14em}.map-heading h2{margin:0;color:var(--hall-navy);font:700 14px/1 Arial,Helvetica,sans-serif}
  .map-layer-controls{display:block;margin:0}.layer-toggle{height:44px;border:1px solid #AAB8C2;border-radius:8px;background:#fff;box-shadow:0 3px 12px rgba(24,35,45,.12)}.layer-toggle button{height:42px;min-height:42px;min-width:104px;padding:0 15px;border-left:1px solid var(--hall-border);background:#fff;color:var(--hall-ink);font-size:11px}.layer-toggle button:first-child{border-left:0}.layer-toggle button[aria-pressed="true"]{background:var(--hall-navy);border-color:var(--hall-navy);color:#fff;box-shadow:none}
  .map-canvas{position:absolute;inset:0;width:100%;height:100%;min-height:0;background:#D8E0DE}.map-status{position:absolute;z-index:4;left:20px;bottom:52px;margin:0;padding:8px 11px;border:1px solid rgba(10,45,78,.18);border-radius:8px;background:#fff;color:var(--hall-muted);font-size:10px}.layer-note{position:absolute;z-index:4;left:20px;bottom:52px;margin:0;padding:8px 11px;border:1px solid #EAD9AF;border-radius:8px;background:#FFF8E8;color:#6C5729;font-size:10px}.map-legend{position:absolute;z-index:4;left:20px;bottom:12px;width:auto;margin:0;padding:6px 10px;border:1px solid rgba(10,45,78,.18);border-radius:8px;background:rgba(255,255,255,.96)}.map-legend ul{gap:6px 12px}.map-legend li{color:var(--hall-muted);font-size:10px}
  .selected-panel{position:absolute;z-index:6;top:80px;right:20px;display:grid;grid-template-columns:minmax(0,1fr);width:326px;margin:0;padding:18px;border:1px solid rgba(10,45,78,.18);border-top:0;border-radius:8px;background:#fff;box-shadow:0 10px 30px rgba(24,35,45,.18);min-height:0}.selected-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:8px 8px 0 0;background:var(--hall-brass)}.selected-panel:after,.selected-mark{display:none}.selected-copy h3{margin:0 0 6px;color:var(--hall-brass);font:700 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.14em;text-transform:uppercase}.selected-copy strong{display:block;color:var(--hall-navy);font:400 27px/1.08 Georgia,"Times New Roman",serif}.selected-copy p{margin:7px 0 0;color:var(--hall-muted);font-size:12px}.selected-photo-button{width:100%;margin-top:15px;border:0;border-radius:8px;background:#E8EDEF}.selected-photo{width:100%;height:150px;object-fit:cover;border:0;border-radius:8px}.selected-actions{display:grid;grid-template-columns:1fr;gap:8px;margin:15px 0 0}.selected-share,.selected-clear{width:100%;height:44px;min-height:44px;margin:0;padding:0 10px;border-radius:8px;font-size:12px;text-align:center}.selected-share{border-color:var(--hall-navy);background:var(--hall-navy);color:#fff}.selected-share:hover{background:#16476F;transform:none}.selected-clear{border-color:#AAB8C2;background:#fff;color:var(--hall-ink)}
  .site-footer{height:40px;padding:0 34px;background:var(--hall-ivory);border-top:1px solid var(--hall-border);color:var(--hall-muted);font-size:10px}.site-footer a{color:var(--hall-muted)}#public-map .maplibregl-ctrl-group button{width:40px;height:40px;min-width:40px;min-height:40px}
}

/* WEB-032 Archivkartensaal: one coherent desktop archive hall. */
@media(min-width:801px){
  :root{--hall-navy:#082F52;--hall-navy-deep:#062A4A;--hall-brass:#B8872F;--hall-ivory:#F7F5EF;--hall-white:#FFFFFF;--hall-ink:#132333;--hall-muted:#64727E;--hall-border:#C9D3DA;--hall-motion:160ms ease}
  body{background:var(--hall-ivory);color:var(--hall-ink)}
  .site-header{height:82px;padding:0 34px;background:var(--hall-navy-deep);border-bottom:2px solid var(--hall-brass);color:#fff}
  .site-header .brand-lockup,.site-header .brand-copy strong,.site-header .brand-copy small,.site-header nav a{color:#fff}
  .site-header .brand-logo{width:54px;height:54px;padding:5px}.site-header .brand-copy{gap:5px}.site-header .brand-copy small{font-size:10px;letter-spacing:.16em}.site-header .brand-copy strong{font:700 20px/1.05 Georgia,"Times New Roman",serif}
  .site-header nav.site-legal-nav{gap:24px;height:82px;font-size:12px}.site-header nav.site-legal-nav a{height:82px;border:0;transition:color var(--hall-motion),text-decoration-color var(--hall-motion)}
  .site-header nav.site-legal-nav a:hover,.site-header nav.site-legal-nav a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:5px}
  .search-hero{height:82px;padding:0 34px;background:var(--hall-ivory);border-bottom:1px solid var(--hall-border)}.search-hero-inner{height:100%;display:grid;grid-template-columns:300px minmax(460px,760px);align-items:center;gap:32px;max-width:none}.archive-kicker{display:block;margin:0 0 5px;color:var(--hall-brass);font-size:10px;letter-spacing:.16em}.search-hero h1{margin:0;color:var(--hall-navy);font:700 23px/1.05 Georgia,"Times New Roman",serif}.search-hero .lead,.search-hint{display:none}
  .search-form label{display:block;margin:0 0 5px;color:var(--hall-muted);font-size:10px}.search-controls{width:100%;max-width:none;min-height:44px;height:44px;border:1px solid var(--hall-border);border-radius:8px;background:var(--hall-white);box-shadow:none;transition:border-color var(--hall-motion),box-shadow var(--hall-motion)}.search-controls:focus-within{border-color:var(--hall-brass);box-shadow:0 0 0 3px rgba(184,135,47,.2)}.input-wrap{height:42px;padding:0 12px}.input-wrap input{font-size:14px;color:var(--hall-ink)}.primary{height:42px;min-width:96px;border-color:var(--hall-navy);background:var(--hall-navy);font-size:12px;transition:background-color var(--hall-motion)}.primary:hover{background:var(--hall-navy-deep);transform:none;box-shadow:none}
  .explorer{height:auto;min-height:620px;grid-template-columns:320px minmax(0,1fr);background:var(--hall-white);border-bottom:1px solid var(--hall-border)}.results-panel{min-height:0;overflow-y:auto;border-right:1px solid var(--hall-border);background:var(--hall-white)}.panel-heading{height:68px;padding:0 20px;background:var(--hall-white);border-bottom:1px solid var(--hall-border)}.panel-heading h2{color:var(--hall-navy);font:700 18px/1 Georgia,"Times New Roman",serif}.panel-heading span{color:var(--hall-muted);font-size:11px}.result-list{padding:8px 10px 0;overflow:visible}.result-row{min-height:66px;gap:11px;padding:10px;border:1px solid transparent;border-bottom-color:var(--hall-border);border-left:3px solid transparent;border-radius:0;background:var(--hall-white);color:var(--hall-ink);transition:background-color var(--hall-motion),border-color var(--hall-motion),transform var(--hall-motion)}.result-row:hover{background:#F3F6F8;transform:translateX(2px)}.result-row.selected{border-color:var(--hall-brass);border-left:4px solid var(--hall-brass);background:#FBF8F0;outline:0}.result-row small{margin-top:4px;color:var(--hall-muted);font-size:11px}.result-row b{color:var(--hall-muted);font-size:18px;font-weight:400}.result-thumb{width:48px;height:48px;border-radius:0}.avatar{width:30px;height:30px;color:var(--hall-brass)}.results-help{margin:16px 20px;padding-top:14px;border-top:1px solid var(--hall-border);color:var(--hall-muted);font-size:11px}
  .map-panel{position:relative;display:grid;grid-template-rows:70px minmax(0,1fr) auto auto auto;min-width:0;min-height:0;overflow:hidden;background:#DDE5E5}.map-heading{position:static;z-index:5;grid-row:1;display:flex;align-items:center;justify-content:space-between;height:70px;padding:0 22px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--hall-border);pointer-events:none}.map-heading>*{pointer-events:auto}.map-heading>div:first-child{min-width:230px}.eyebrow{display:block;margin:0 0 5px;color:var(--hall-brass);font-size:10px;letter-spacing:.15em}.map-heading h2{margin:0;color:var(--hall-navy);font:700 18px/1 Georgia,"Times New Roman",serif}.map-layer-controls{gap:10px}.layer-toggle{height:44px;border:1px solid var(--hall-border);border-radius:8px;background:var(--hall-white);box-shadow:none}.layer-toggle button{height:42px;min-height:42px;padding:0 14px;border-left:1px solid var(--hall-border);background:var(--hall-white);color:var(--hall-ink);font-size:11px;transition:background-color var(--hall-motion),color var(--hall-motion)}.layer-toggle button:hover:not(:disabled){background:#F3F6F8;color:var(--hall-navy);transform:none}.layer-toggle button[aria-pressed="true"]{background:var(--hall-navy);border-color:var(--hall-navy);box-shadow:none;color:#fff}.opacity-control{color:var(--hall-muted);font-size:10px}.map-canvas{position:relative;grid-row:2;width:100%;height:auto;min-height:0;background:#DDE5E5}.map-status{position:static;grid-row:3;margin:0;padding:6px 18px;background:rgba(255,255,255,.9);border-top:1px solid var(--hall-border);font-size:10px}.layer-note{position:static;grid-row:4;margin:0;padding:6px 18px;font-size:10px}.map-legend{position:static;z-index:4;width:auto;height:auto;padding:9px 18px;background:rgba(255,255,255,.96);border-top:1px solid var(--hall-border)}.map-legend li{color:var(--hall-muted);font-size:10px}
  .selected-panel{position:absolute;z-index:6;top:88px;right:22px;display:grid;grid-template-columns:minmax(0,1fr);width:318px;margin:0;padding:18px;border:1px solid var(--hall-border);border-top:4px solid var(--hall-brass);border-radius:8px;background:var(--hall-white);box-shadow:0 8px 22px rgba(6,42,74,.16);min-height:0}.selected-panel:after,.selected-mark{display:none}.selected-copy h3{margin:0 0 7px;color:var(--hall-brass);font:700 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}.selected-copy strong{display:block;color:var(--hall-navy);font:400 26px/1.1 Georgia,"Times New Roman",serif}.selected-copy p{margin:7px 0 0;color:var(--hall-muted);font-size:12px}.selected-occupants{margin-top:9px;padding-top:8px;border-top:1px solid var(--hall-border)}.selected-occupant strong{font:700 12px/1.2 var(--sans);color:var(--hall-ink)}.selected-occupant span{font-size:11px;color:var(--hall-muted)}.selected-photo-button{width:100%;margin-top:15px;border:1px solid var(--hall-border);border-radius:0;background:#E9EEF0}.selected-photo{width:100%;height:126px;object-fit:cover;border:0}.selected-actions{display:grid;grid-template-columns:1fr;gap:8px;margin:16px 0 0;align-self:auto}.selected-share,.selected-clear{width:100%;height:44px;min-height:44px;margin:0;padding:0 10px;border-radius:8px;font-size:12px;text-align:center}.selected-share{border-color:var(--hall-navy);background:var(--hall-navy);color:#fff}.selected-share:hover{background:var(--hall-navy-deep);border-color:var(--hall-navy-deep);transform:none;box-shadow:none}.selected-clear{border-color:var(--hall-border);background:var(--hall-white);color:var(--hall-ink)}.selected-clear:hover{border-color:var(--hall-navy);color:var(--hall-navy);transform:none}.selected-share-status{margin:0 0 2px;color:var(--hall-muted);font-size:10px}
  .site-footer{height:40px;padding:0 34px;background:var(--hall-navy-deep);border-top:1px solid var(--hall-brass);color:#DDE7ED;font-size:10px}.site-footer a{color:#DDE7ED}#public-map .maplibregl-ctrl-group button{width:41px;height:40px;min-width:40px;min-height:40px}
}

/* WEB-033 cascade must remain after the WEB-032 legacy block. */
@media(min-width:801px){
  .site-header{height:72px;background:#0A2D4E;border:0}.site-header .brand-logo{width:44px;height:45px;padding:3px}.site-header .brand-copy strong{font:700 19px/1 Arial,Helvetica,sans-serif}.site-header nav.site-legal-nav,.site-header nav.site-legal-nav a{height:72px}.archive-status{display:inline-flex;align-items:center;gap:7px;color:#DBE5EB;font-size:11px}.archive-status i{width:7px;height:7px;border-radius:50%;background:#85A798}
  .search-hero{height:78px}.search-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.search-intro{width:275px;flex:0 0 275px}.search-hero h1{font:400 22px/1 Arial,Helvetica,sans-serif}.search-form{flex:0 1 690px;min-width:420px}.search-controls{display:flex;align-items:center;height:44px;min-height:44px;border:1px solid #AAB8C2;border-radius:8px}.input-wrap{display:flex;align-items:center;flex:1;min-width:0;height:42px;padding:0 13px;border:0}.input-wrap label{display:block;flex:0 0 auto;margin:0 18px 0 0;color:#60717D;font-size:11px;white-space:nowrap}.input-wrap .control-icon{display:none}.input-wrap input{min-width:0;flex:1;height:100%;font-size:15px}.primary{height:42px;min-width:92px;border:0;border-radius:0 7px 7px 0;background:#0A2D4E;font-size:13px}.search-hero .lead,.search-hint{display:none}
  .explorer{grid-template-columns:320px minmax(0,1fr);height:auto;min-height:620px}.panel-heading{height:70px}.result-row{min-height:67px;padding:9px 10px;border-left:1px solid transparent;border-radius:0}.result-row:hover{transform:none}.result-row.selected{border-color:#AA7A2D;border-left-color:#AA7A2D;background:#FBFAF6}.result-row small{margin-top:5px;font-size:11px}.avatar{width:10px;height:10px;border:2px solid #AAB8C2;border-radius:50%;font-size:0}.result-row.selected .avatar{border-color:#AA7A2D;background:#AA7A2D}
  .map-panel{display:block;position:relative;min-height:0;overflow:hidden;background:#D8E0DE}.map-heading{position:absolute;top:18px;left:20px;right:20px;display:flex;align-items:flex-start;justify-content:space-between;height:auto;min-height:0;padding:0;background:transparent;border:0;pointer-events:none}.map-heading>*{pointer-events:auto}.map-heading>div:first-child{min-width:0;padding:11px 14px;border:1px solid rgba(10,45,78,.2);border-radius:8px;background:#fff;box-shadow:0 3px 12px rgba(24,35,45,.12)}.map-heading .eyebrow{margin:0 0 3px;color:#AA7A2D;font-size:9px}.map-heading h2{font:700 14px/1 Arial,Helvetica,sans-serif}.map-layer-controls{display:block;margin:0}.layer-toggle{height:44px;border:1px solid #AAB8C2;border-radius:8px;background:#fff;box-shadow:0 3px 12px rgba(24,35,45,.12)}.layer-toggle button{height:42px;min-height:42px;min-width:104px;padding:0 15px}.layer-toggle button:first-child{border-left:0}.layer-toggle button[aria-pressed="true"]{background:#0A2D4E;border-color:#0A2D4E;color:#fff;box-shadow:none}
  .map-canvas{position:absolute;inset:0;width:100%;height:100%;min-height:0}.map-status{position:absolute;z-index:4;left:20px;bottom:52px;margin:0;padding:8px 11px;border:1px solid rgba(10,45,78,.18);border-radius:8px;background:#fff;font-size:10px}.layer-note{position:absolute;z-index:4;left:20px;bottom:52px;margin:0;padding:8px 11px;border-radius:8px;font-size:10px}.map-legend{position:absolute;z-index:4;left:20px;bottom:12px;width:auto;margin:0;padding:6px 10px;border:1px solid rgba(10,45,78,.18);border-radius:8px;background:rgba(255,255,255,.96)}
  .selected-panel{top:80px;right:20px;width:326px;padding:18px;border-top:0;border-radius:8px;background:#fff;box-shadow:0 10px 30px rgba(24,35,45,.18)}.selected-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:8px 8px 0 0;background:#AA7A2D}.selected-copy h3{margin:0 0 6px;color:#AA7A2D}.selected-copy strong{font:400 27px/1.08 Georgia,"Times New Roman",serif}.selected-photo-button{width:100%;margin-top:15px;border:0;border-radius:8px}.selected-photo{width:100%;height:150px;border-radius:8px}.selected-actions{display:grid;grid-template-columns:1fr;gap:8px;margin:15px 0 0}.selected-share,.selected-clear{width:100%;height:44px;min-height:44px}.selected-share{background:#0A2D4E}.selected-clear{background:#fff}
  .site-footer{height:40px;background:#F7F6F2;border-top:1px solid #D5DDE0;color:#60717D}.site-footer a{color:#60717D}
}
.lightbox-toolbar{grid-column:1/-1;grid-row:2;justify-content:flex-end;padding-right:52px}
@media(max-width:800px){
  .lightbox-toolbar{grid-column:1/-1;grid-row:2;justify-content:flex-end;padding-right:52px;flex-wrap:wrap;row-gap:4px}
  .lightbox-toolbar button:last-child{font-size:11px;width:auto}
  .lightbox-toolbar button:last-child:after{content:none}
}

/* WEB-033 final cascade: option B wins over the earlier WEB-032 shell. */
@media(min-width:801px){
  .site-header{height:72px;padding:0 34px;background:#0A2D4E;border:0}.site-header .brand-logo{width:44px;height:45px;padding:3px}.site-header .brand-copy{gap:4px}.site-header .brand-copy small{font:700 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.16em}.site-header .brand-copy strong{font:700 19px/1 Arial,Helvetica,sans-serif;letter-spacing:.025em}.site-header nav.site-legal-nav{height:72px;gap:24px;font:12px/1 Arial,Helvetica,sans-serif}.site-header nav.site-legal-nav a{height:72px}.archive-status{display:inline-flex;align-items:center;gap:7px;color:#DBE5EB;font-size:11px}.archive-status i{width:7px;height:7px;border-radius:50%;background:#85A798}
  .search-hero{height:78px;padding:0 34px}.search-hero-inner{height:100%;display:flex;align-items:center;gap:28px}.search-intro{width:275px;flex:0 0 275px}.archive-kicker{margin:0 0 5px;color:#AA7A2D;font-size:10px}.search-hero h1{font:400 22px/1 Arial,Helvetica,sans-serif}.search-form{flex:0 1 690px;min-width:420px}.search-controls{display:flex;align-items:center;width:100%;height:44px;min-height:44px;border:1px solid #AAB8C2;border-radius:8px;background:#fff}.input-wrap{display:flex;align-items:center;flex:1;min-width:0;height:42px;padding:0 13px;border:0}.input-wrap label{display:block;flex:0 0 auto;margin:0 18px 0 0;color:#60717D;font-size:11px;white-space:nowrap}.input-wrap .control-icon{display:none}.input-wrap input{min-width:0;flex:1;height:100%;font-size:15px}.primary{height:42px;min-width:92px;border:0;border-radius:0 7px 7px 0;background:#0A2D4E;font-size:13px}.search-hero .lead,.search-hint{display:none}
  .explorer{grid-template-columns:320px minmax(0,1fr);height:auto;min-height:620px}.results-panel{min-height:0;overflow-y:auto}.panel-heading{height:70px;padding:0 22px}.panel-heading h2{font:700 18px/1 Arial,Helvetica,sans-serif}.result-list{padding:8px 10px 0}.result-row{min-height:67px;gap:12px;padding:9px 10px;border-left:1px solid transparent;border-radius:0}.result-row:hover{transform:none}.result-row.selected{border-color:#AA7A2D;border-left-color:#AA7A2D;background:#FBFAF6}.result-row strong{font-size:14px}.result-row small{margin-top:5px;color:#60717D;font-size:11px}.avatar{width:10px;height:10px;border:2px solid #AAB8C2;border-radius:50%;font-size:0}.result-row.selected .avatar{border-color:#AA7A2D;background:#AA7A2D}.results-help{margin:14px 22px;padding-top:14px;font-size:11px}
  .map-panel{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;background:#D8E0DE}.map-heading{position:absolute;z-index:5;top:18px;left:20px;right:20px;display:flex;align-items:flex-start;justify-content:space-between;height:auto;min-height:0;padding:0;background:transparent;border:0;pointer-events:none}.map-heading>*{pointer-events:auto}.map-heading>div:first-child{min-width:0;padding:11px 14px;border:1px solid rgba(10,45,78,.2);border-radius:8px;background:#fff;box-shadow:0 3px 12px rgba(24,35,45,.12)}.map-heading .eyebrow{margin:0 0 3px;color:#AA7A2D;font-size:9px}.map-heading h2{font:700 14px/1 Arial,Helvetica,sans-serif}.map-layer-controls{display:block;margin:0}.layer-toggle{height:44px;border:1px solid #AAB8C2;border-radius:8px;background:#fff;box-shadow:0 3px 12px rgba(24,35,45,.12)}.layer-toggle button{height:42px;min-height:42px;min-width:104px;padding:0 15px;border-left:1px solid #D5DDE0;background:#fff;color:#18232D;font-size:11px}.layer-toggle button:first-child{border-left:0}.layer-toggle button[aria-pressed="true"]{background:#0A2D4E;border-color:#0A2D4E;color:#fff;box-shadow:none}
  .map-canvas{position:absolute;inset:0;width:100%;height:100%;min-height:0}.map-status{position:absolute;z-index:4;left:20px;bottom:52px;margin:0;padding:8px 11px;border:1px solid rgba(10,45,78,.18);border-radius:8px;background:#fff;font-size:10px}.layer-note{position:absolute;z-index:4;left:20px;bottom:52px;margin:0;padding:8px 11px;border-radius:8px;font-size:10px}.map-legend{position:absolute;z-index:4;left:20px;bottom:12px;width:auto;margin:0;padding:6px 10px;border:1px solid rgba(10,45,78,.18);border-radius:8px;background:rgba(255,255,255,.96)}.map-legend ul{gap:6px 12px}.map-legend li{font-size:10px}
  .selected-panel{position:absolute;z-index:6;top:80px;right:20px;display:grid;grid-template-columns:minmax(0,1fr);width:326px;margin:0;padding:18px;border:1px solid rgba(10,45,78,.18);border-top:0;border-radius:8px;background:#fff;box-shadow:0 10px 30px rgba(24,35,45,.18);min-height:0}.selected-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:8px 8px 0 0;background:#AA7A2D}.selected-panel:after,.selected-mark{display:none}.selected-copy h3{margin:0 0 6px;color:#AA7A2D;font:700 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.14em}.selected-copy strong{font:400 27px/1.08 Georgia,"Times New Roman",serif}.selected-copy p{margin:7px 0 0;color:#60717D;font-size:12px}.selected-photo-button{width:100%;margin-top:15px;border:0;border-radius:8px}.selected-photo{width:100%;height:150px;object-fit:cover;border:0;border-radius:8px}.selected-actions{display:grid;grid-template-columns:1fr;gap:8px;margin:15px 0 0}.selected-share,.selected-clear{width:100%;height:44px;min-height:44px;margin:0;padding:0 10px;border-radius:8px;font-size:12px}.selected-share{border-color:#0A2D4E;background:#0A2D4E;color:#fff}.selected-clear{border-color:#AAB8C2;background:#fff;color:#18232D}
  .site-footer{height:40px;padding:0 34px;background:#F7F6F2;border-top:1px solid #D5DDE0;color:#60717D;font-size:10px}.site-footer a{color:#60717D}
}
.lightbox-pan-controls{display:flex;gap:3px;align-items:center;margin-left:2px}
.lightbox-pan-controls button{width:32px;min-width:32px;min-height:32px;height:32px;padding:0;font-size:16px;line-height:1}
.lightbox-pan-controls button:disabled{opacity:.38;cursor:not-allowed;background:#eef1f2;color:var(--muted)}
.lightbox-pan-controls button:not(:disabled){cursor:pointer}
.lightbox-viewport{position:relative;cursor:default}
.lightbox-viewport.is-pannable{cursor:grab}
.lightbox-viewport.is-dragging{cursor:grabbing}
.lightbox-hint{position:absolute;z-index:2;left:10px;bottom:10px;margin:0;padding:5px 8px;background:rgba(255,253,248,.9);border:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.2;pointer-events:none}
@media(max-width:800px){.lightbox-hint{left:7px;bottom:7px;max-width:calc(100% - 14px);font-size:10px}.lightbox-pan-controls{margin-left:auto}}

/* WEB-025 follow-up: legal navigation remains visible in the compact mobile header. */
@media(max-width:800px){
  .site-header{padding-left:10px;padding-right:10px;gap:8px}
  .site-header .brand-lockup{flex:1 1 auto;min-width:0}
  .site-header .brand-copy small{font-size:7px}
  .site-header .brand-copy strong{font-size:13px}
  .site-header nav.site-legal-nav{display:flex;flex:0 0 auto;gap:8px;height:58px;font-size:10px}
  .site-header nav.site-legal-nav a{display:flex;height:58px;align-items:center;white-space:nowrap;border-bottom:0}
}
 .selected-occupants{display:grid;gap:3px;margin-top:4px}.selected-occupant{display:grid;grid-template-columns:minmax(0,auto) auto;gap:8px;align-items:baseline}.selected-occupant strong{font-size:14px}.selected-occupant span{color:var(--muted);font-size:12px}.selected-occupants[hidden]{display:none}
 #selected-name[hidden],#selected-life-dates[hidden]{display:none!important}

/* WEB-029 Archivpräzision: one control grammar for the public search flow. */
:root{
  --control-height:48px;
  --control-radius:8px;
  --control-border:#9aabb8;
  --control-primary:var(--navy);
  --control-primary-hover:#123d61;
  --control-primary-pressed:#06233f;
  --control-focus:var(--gold);
  --control-shadow:0 2px 8px rgba(8,43,76,.10);
  --control-motion:160ms ease;
}
.control-icon{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75;flex:0 0 auto}
.button-icon{display:none}
.search-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:min(100%,760px);max-width:760px;min-height:var(--control-height);gap:0;padding:0;background:var(--card);border:1px solid var(--control-border);border-radius:var(--control-radius);box-shadow:var(--control-shadow);transition:border-color var(--control-motion),box-shadow var(--control-motion)}
.search-controls:focus-within{border-color:var(--control-focus);box-shadow:0 0 0 3px rgba(191,147,66,.28),var(--control-shadow)}
.input-wrap{height:46px;min-width:0;padding:0 12px;border:0;background:transparent;gap:10px}
.input-wrap input{min-width:0;height:100%;color:var(--ink)}
.primary,.map-button,.selected-share,.selected-clear{border-radius:var(--control-radius);transition:background-color var(--control-motion),border-color var(--control-motion),box-shadow var(--control-motion),color var(--control-motion),transform var(--control-motion)}
.primary{height:46px;min-width:104px;padding:0 22px;background:var(--control-primary);border:1px solid var(--control-primary);border-radius:0 7px 7px 0;box-shadow:none;cursor:pointer}
.primary:hover{background:var(--control-primary-hover);border-color:var(--control-primary-hover);transform:translateY(-1px);box-shadow:0 3px 8px rgba(8,43,76,.16)}
.primary:active{background:var(--control-primary-pressed);border-color:var(--control-primary-pressed);transform:translateY(0);box-shadow:none}
.primary:focus-visible,.layer-toggle button:focus-visible,.selected-share:focus-visible,.selected-clear:focus-visible{outline:3px solid var(--control-focus);outline-offset:2px}
.layer-toggle{display:inline-flex;overflow:hidden;border:1px solid var(--control-border);border-radius:var(--control-radius);background:var(--card);box-shadow:var(--control-shadow)}
.layer-toggle button{height:46px;min-height:46px;border:0;border-left:1px solid var(--control-border);border-radius:0;background:var(--card);color:var(--ink);cursor:pointer;transition:background-color var(--control-motion),border-color var(--control-motion),box-shadow var(--control-motion),color var(--control-motion),transform var(--control-motion)}
.layer-toggle button:first-child{border-left:0;border-radius:7px 0 0 7px}
.layer-toggle button:last-child{border-radius:0 7px 7px 0}
.layer-toggle button:hover:not(:disabled){background:#f3f6f8;color:var(--control-primary);transform:translateY(-1px)}
.layer-toggle button:active:not(:disabled){transform:translateY(0)}
.layer-toggle button[aria-pressed="true"]{background:var(--control-primary);border-color:var(--control-primary);box-shadow:inset 0 -3px 0 var(--gold);color:#fff;font-weight:700}
.layer-toggle button:disabled{cursor:not-allowed}
.selected-clear{min-height:44px;padding:8px 10px;border:1px solid var(--control-border);background:var(--card);color:var(--ink);cursor:pointer}
.selected-clear:hover{border-color:var(--control-primary);color:var(--control-primary);transform:translateY(-1px)}
.selected-clear:active{transform:translateY(0)}
@media(max-width:800px){
  .search-controls{width:100%;max-width:none;min-height:46px;grid-template-columns:minmax(0,1fr) 44px}
  .input-wrap{height:44px;padding:0 10px}
  .primary{width:44px;min-width:44px;height:44px;padding:0;display:grid;place-items:center;border-radius:0 7px 7px 0}
  .primary .button-label{display:none}
  .primary .button-icon{display:block}
  .primary:after{content:none}
  .layer-toggle{display:flex;width:100%;box-shadow:none}
  .layer-toggle button{flex:1;height:44px;min-height:44px;padding:6px 4px}
  .layer-toggle button:first-child,.layer-toggle button:last-child{border-radius:0}
  .layer-toggle button:first-child{border-radius:7px 0 0 7px}
  .layer-toggle button:last-child{border-radius:0 7px 7px 0}
}
@media(prefers-reduced-motion:reduce){
  .search-controls,.search-controls *, .layer-toggle button,.selected-share,.selected-clear{transition:none!important}
  .primary:hover,.layer-toggle button:hover:not(:disabled),.selected-share:hover,.selected-clear:hover{transform:none}
}

/* WEB-031 Archivkartensaal shell: one desktop language, two narrow-screen views. */
:root{--mobile-nav-height:72px;--mobile-surface:#fff;--mobile-navy:#082f52;--mobile-muted:#718196;--mobile-line:#cbd5df}
.site-header{background:#fff;color:var(--mobile-navy);border-bottom:1px solid var(--mobile-line)}
.site-header .brand-lockup,.site-header .brand-copy strong,.site-header .brand-copy small,.site-header nav a{color:var(--mobile-navy)}
.site-header nav a{border-bottom-color:transparent}
.site-header nav a:hover,.site-header nav a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.mobile-map-bar,.mobile-bottom-nav{display:none}
.site-header a:focus-visible,.result-row:focus-visible,.map-button:focus-visible,.site-footer a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

@media(max-width:900px){
  .co-located-choice{max-height:calc(100% - 32px)}
  html{overflow-x:hidden;overscroll-behavior-x:none}
  body{background:var(--mobile-surface);color:var(--mobile-navy);overflow-x:hidden;padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom))}
  body.mobile-map-mode{height:100%;min-height:100vh;min-height:100dvh;overflow:hidden;padding-bottom:0;overscroll-behavior:none}
  body.mobile-map-mode .site-header,body.mobile-map-mode .search-hero,body.mobile-map-mode .results-panel,body.mobile-map-mode .site-footer{display:none}
  .site-header{height:74px;padding:0 16px;border-bottom:1px solid var(--mobile-line);background:#fff}
  .site-header .brand-logo{width:46px;height:46px;padding:4px}
  .site-header .brand-copy{gap:3px}
  .site-header .brand-copy small{font-size:7px;letter-spacing:.08em}
  .site-header .brand-copy strong{font-size:15px;line-height:1.05}
  .site-header nav.site-legal-nav{height:74px;gap:9px;font-size:10px}
  .site-header nav.site-legal-nav a{height:74px}
  .search-hero{padding:22px 16px 20px;background:#fff;border-bottom:1px solid var(--mobile-line)}
  .search-hero-inner{display:block}
  .search-intro{display:none}
  .search-form label{font-size:15px;color:var(--mobile-navy);margin-bottom:8px}
  .search-controls{width:100%;min-height:52px;grid-template-columns:minmax(0,1fr) auto;border-color:var(--mobile-line);box-shadow:none}
  .input-wrap{height:50px;padding-left:14px}
  .input-wrap input{font-size:17px}
  .primary{width:112px;height:50px;min-width:112px;font-size:16px;border-radius:0 7px 7px 0}
  .primary .button-label{display:inline}
  .primary .button-icon{display:none}

  .search-hint{margin:12px 0 0;font-size:14px;line-height:1.35;color:var(--mobile-muted)}
  .map-button{display:none}
  .explorer{display:block;height:auto;min-height:0;border:0;background:#fff}
  .results-panel{display:flex;max-height:none;min-height:0;border:0;background:#fff}
  .results-panel .panel-heading{height:68px;padding:0 16px;border-bottom:1px solid var(--mobile-line)}
  .results-panel .panel-heading h2{font-size:24px;color:var(--mobile-navy)}
  .results-panel .panel-heading span{font-size:14px;color:var(--mobile-muted)}
  .result-list{max-height:none;overflow:visible;padding:12px 16px 0}
  .result-row{min-height:88px;height:auto;gap:14px;padding:16px 14px;border:1px solid var(--mobile-line);border-left:4px solid transparent;border-radius:8px;background:#fff;color:var(--mobile-navy);font-size:17px}
  .result-row+.result-row{margin-top:10px}
  .result-row:hover{background:#fff}
  .result-row.selected{border-color:var(--gold);border-left-color:var(--gold);background:#fff;outline:0}
  .result-row strong{font:23px/1.1 var(--serif)}
  .result-row small{margin-top:6px;font-size:14px;color:var(--mobile-muted)}
  .result-row b{font-size:32px;color:var(--mobile-muted)}
  .result-thumb{width:52px;height:52px;border-radius:3px}
  .avatar{width:42px;height:42px}
  .results-help{display:none}
  .map-panel{display:contents}
  .map-panel>.map-heading,.map-panel>.map-canvas,.map-panel>.map-status,.map-panel>.layer-note,.map-panel>.map-legend{display:none}
  body[data-mobile-view="search"] .selected-panel{display:block;margin:18px 16px 22px;padding:20px 16px;border:1px solid var(--gold);border-left:5px solid var(--gold);border-radius:8px;background:#fff;min-height:0}
  body[data-mobile-view="search"] .selected-panel:after{display:none}
  body[data-mobile-view="search"] .selected-mark{display:none}
  body[data-mobile-view="search"] .selected-copy h3{font-size:11px;color:var(--mobile-muted);letter-spacing:.14em}
  body[data-mobile-view="search"] .selected-copy strong{font:30px/1.08 var(--serif);color:var(--mobile-navy)}
  body[data-mobile-view="search"] .selected-copy p{font-size:15px;color:var(--mobile-muted);margin-top:8px}
  body[data-mobile-view="search"] .selected-photo-button{width:100%;margin-top:18px;border:0;border-radius:8px}
  body[data-mobile-view="search"] .selected-photo{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:8px}
  body[data-mobile-view="search"] .selected-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:20px 0 0}
  body[data-mobile-view="search"] .selected-actions .selected-share,body[data-mobile-view="search"] .selected-actions .selected-clear{width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--mobile-line);border-radius:8px;font-size:16px;text-align:center}
  body[data-mobile-view="search"] .selected-actions .selected-share{background:#fff;color:var(--mobile-navy);border-color:#9fb2c4}
  body[data-mobile-view="search"] .selected-actions .selected-clear{margin:0;color:var(--mobile-navy)}
  body[data-mobile-view="search"] .selected-share-status{order:-1;max-width:none;text-align:left;font-size:12px}
  .mobile-bottom-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;height:var(--mobile-nav-height);padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--mobile-line)}
  .mobile-bottom-nav button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border:0;background:#fff;color:var(--mobile-muted);font-size:16px;font-weight:700;cursor:pointer}
  .mobile-bottom-nav button[aria-current="page"]{background:var(--mobile-navy);color:#fff}
  .mobile-bottom-nav svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
  .mobile-bottom-nav button:focus-visible,.mobile-map-back:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
  body.mobile-map-mode .explorer{position:fixed;inset:0;display:block;height:100vh;height:100dvh;min-height:0;padding:0;background:#fff;overflow:hidden}
  body.mobile-map-mode .map-panel{position:relative;display:flex;height:100%;min-height:0;flex-direction:column;padding-bottom:var(--mobile-nav-height);background:#fff}
  body.mobile-map-mode .mobile-map-bar{display:flex;align-items:center;justify-content:flex-start;gap:22px;flex:0 0 64px;height:64px;padding:0 16px;border-bottom:1px solid var(--mobile-line);background:#fff;color:var(--mobile-navy)}
  .mobile-map-bar h2{flex:1;margin:0;text-align:center;font:bold 23px/1 var(--sans);color:var(--mobile-navy)}
  .mobile-map-back{display:flex;align-items:center;gap:5px;min-height:44px;padding:7px 0;border:0;background:#fff;color:var(--mobile-navy);font-size:16px;cursor:pointer}
  .mobile-map-back span{font-size:38px;line-height:20px}
  body.mobile-map-mode .map-heading{display:block;flex:0 0 auto;min-height:70px;height:auto;padding:10px 16px;border-bottom:1px solid var(--mobile-line)}
  body.mobile-map-mode .map-heading>div:first-child{display:none}
  body.mobile-map-mode .map-layer-controls{display:block;margin:0}
  body.mobile-map-mode .layer-toggle{display:flex;width:100%;box-shadow:none;border-color:#9fb2c4}
  body.mobile-map-mode .layer-toggle button{flex:1;height:50px;min-height:50px;padding:8px 4px;border-left:1px solid #9fb2c4;border-radius:0;font-size:13px;color:var(--mobile-navy)}
  body.mobile-map-mode .layer-toggle button:first-child{border-left:0;border-radius:7px 0 0 7px}
  body.mobile-map-mode .layer-toggle button:last-child{border-radius:0 7px 7px 0}
  body.mobile-map-mode .layer-toggle button[aria-pressed="true"]{background:var(--mobile-navy);border-color:var(--mobile-navy);box-shadow:none;color:#fff}
  body.mobile-map-mode .opacity-control{width:100%;margin-top:8px}
  body.mobile-map-mode .map-canvas{display:block;flex:1;height:auto;min-height:0;touch-action:none;overscroll-behavior:none}
  body.mobile-map-mode #public-map .maplibregl-canvas{touch-action:none}
  body.mobile-map-mode .map-status,body.mobile-map-mode .layer-note,body.mobile-map-mode .map-legend{display:none}
  body.mobile-map-mode .selected-panel{position:absolute;z-index:6;left:10px;right:10px;bottom:calc(var(--mobile-nav-height) + 10px);display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:12px;margin:0;max-height:min(55vh,430px);overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:14px;border:1px solid var(--mobile-line);border-left:1px solid var(--mobile-line);border-radius:18px 18px 0 0;background:#fff;box-shadow:0 -6px 18px rgba(8,47,82,.12)}
  body.mobile-map-mode .selected-panel:before{display:none}
  body.mobile-map-mode .selected-panel:after{display:none}
  body.mobile-map-mode .selected-mark{display:none}
  body.mobile-map-mode .selected-copy h3{font-size:10px;color:var(--mobile-muted);letter-spacing:.13em}
  body.mobile-map-mode .selected-copy strong{font:26px/1.05 var(--serif);color:var(--mobile-navy)}
  body.mobile-map-mode .selected-copy p{font-size:14px;color:var(--mobile-muted);margin-top:8px}
  body.mobile-map-mode .selected-photo-button{width:132px;height:132px;border:0;border-radius:7px;overflow:hidden}
  body.mobile-map-mode .selected-photo{width:100%;height:100%;object-fit:cover}
  body.mobile-map-mode .selected-actions{grid-column:1/-1;display:flex;flex-direction:column;align-items:stretch;gap:9px;margin:4px 0 0}
  body.mobile-map-mode .selected-actions .selected-share,body.mobile-map-mode .selected-actions .selected-clear{width:100%;min-height:50px;margin:0;padding:12px 14px;border:1px solid var(--mobile-navy);border-radius:8px;background:var(--mobile-navy);color:#fff;font-size:16px;text-align:center}
  body.mobile-map-mode .selected-actions .selected-clear{background:#fff;color:var(--mobile-navy)}
  body.mobile-map-mode .selected-share-status{order:-1;max-width:none;text-align:left;font-size:12px}
  body[data-mobile-view="search"] .selected-panel[hidden],body.mobile-map-mode .selected-panel[hidden]{display:none!important}
}

/* WEB-032 Archivkartensaal final desktop composition. */
@media(min-width:801px){
  :root{--hall-navy:#082F52;--hall-navy-deep:#062A4A;--hall-brass:#B8872F;--hall-ivory:#F7F5EF;--hall-white:#FFFFFF;--hall-ink:#132333;--hall-muted:#64727E;--hall-border:#C9D3DA;--hall-motion:160ms ease}
  body{background:var(--hall-ivory);color:var(--hall-ink)}
  .site-header{height:82px;padding:0 34px;background:var(--hall-navy-deep);border-bottom:2px solid var(--hall-brass);color:#fff}.site-header .brand-lockup,.site-header .brand-copy strong,.site-header .brand-copy small,.site-header nav a{color:#fff}.site-header .brand-logo{width:54px;height:54px;padding:5px}.site-header .brand-copy strong{font:700 20px/1.05 Georgia,"Times New Roman",serif}.site-header nav.site-legal-nav{height:82px;gap:24px;font-size:12px}.site-header nav.site-legal-nav a{height:82px;border:0}
  .search-hero{height:82px;padding:0 34px;background:var(--hall-ivory);border-bottom:1px solid var(--hall-border)}.search-hero-inner{height:100%;display:grid;grid-template-columns:300px minmax(460px,760px);align-items:center;gap:32px;max-width:none}.archive-kicker{display:block;margin:0 0 5px;color:var(--hall-brass);font-size:10px;letter-spacing:.16em}.search-hero h1{margin:0;color:var(--hall-navy);font:700 23px/1.05 Georgia,"Times New Roman",serif}.search-hero .lead,.search-hint{display:none}.search-form label{display:block;margin:0 0 5px;color:var(--hall-muted);font-size:10px}.search-controls{width:100%;max-width:none;min-height:44px;height:44px;border:1px solid var(--hall-border);border-radius:8px;background:var(--hall-white);box-shadow:none}.search-controls:focus-within{border-color:var(--hall-brass);box-shadow:0 0 0 3px rgba(184,135,47,.2)}.input-wrap{height:42px;padding:0 12px}.input-wrap input{font-size:14px;color:var(--hall-ink)}.primary{height:42px;min-width:96px;background:var(--hall-navy);border-color:var(--hall-navy);font-size:12px}.primary:hover{background:var(--hall-navy-deep);transform:none;box-shadow:none}
  .explorer{height:auto;min-height:620px;grid-template-columns:320px minmax(0,1fr);background:var(--hall-white);border-bottom:1px solid var(--hall-border)}.results-panel{min-height:0;overflow-y:auto;border-right:1px solid var(--hall-border);background:var(--hall-white)}.panel-heading{height:68px;padding:0 20px;background:var(--hall-white);border-bottom:1px solid var(--hall-border)}.panel-heading h2{color:var(--hall-navy);font:700 18px/1 Georgia,"Times New Roman",serif}.panel-heading span{color:var(--hall-muted);font-size:11px}.result-list{padding:8px 10px 0;overflow:visible}.result-row{min-height:66px;gap:11px;padding:10px;border:1px solid transparent;border-bottom-color:var(--hall-border);border-left:3px solid transparent;border-radius:0;background:var(--hall-white);color:var(--hall-ink);transition:background-color var(--hall-motion),transform var(--hall-motion)}.result-row:hover{background:#F3F6F8;transform:translateX(2px)}.result-row.selected{border-color:var(--hall-brass);border-left:4px solid var(--hall-brass);background:#FBF8F0;outline:0}.result-row small{margin-top:4px;color:var(--hall-muted);font-size:11px}.result-row b{color:var(--hall-muted);font-weight:400}.result-thumb{width:48px;height:48px;border-radius:0}.avatar{width:30px;height:30px;color:var(--hall-brass)}.results-help{margin:16px 20px;padding-top:14px;border-top:1px solid var(--hall-border);color:var(--hall-muted);font-size:11px}
  .map-panel{position:relative;display:grid;grid-template-rows:70px minmax(0,1fr) auto auto auto;min-width:0;min-height:0;overflow:hidden;background:#DDE5E5}.map-heading{position:static;z-index:5;grid-row:1;display:flex;align-items:center;justify-content:space-between;height:70px;padding:0 22px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--hall-border);pointer-events:none}.map-heading>*{pointer-events:auto}.map-heading>div:first-child{min-width:230px}.eyebrow{display:block;margin:0 0 5px;color:var(--hall-brass);font-size:10px;letter-spacing:.15em}.map-heading h2{margin:0;color:var(--hall-navy);font:700 18px/1 Georgia,"Times New Roman",serif}.layer-toggle{height:44px;border:1px solid var(--hall-border);border-radius:8px;background:var(--hall-white);box-shadow:none}.layer-toggle button{height:42px;min-height:42px;padding:0 14px;border-left:1px solid var(--hall-border);background:var(--hall-white);color:var(--hall-ink);font-size:11px;transition:background-color var(--hall-motion),color var(--hall-motion)}.layer-toggle button[aria-pressed="true"]{background:var(--hall-navy);border-color:var(--hall-navy);box-shadow:none;color:#fff}.map-canvas{position:relative;grid-row:2;width:100%;height:auto;min-height:0;background:#DDE5E5}.map-status{position:static;grid-row:3;margin:0;padding:6px 18px;background:rgba(255,255,255,.96);font-size:10px}.layer-note{position:static;grid-row:4;margin:0;padding:6px 18px;background:#FFF8E8;color:#6C5729;border-top:1px solid var(--hall-border);font-size:10px}.map-legend{position:static;grid-row:5;width:auto;height:auto;margin:0;padding:9px 18px;background:rgba(255,255,255,.96);border-top:1px solid var(--hall-border)}.map-legend li{color:var(--hall-muted);font-size:10px}
  .selected-panel{position:absolute;z-index:6;top:88px;right:22px;display:grid;grid-template-columns:minmax(0,1fr);width:318px;margin:0;padding:18px;border:1px solid var(--hall-border);border-top:4px solid var(--hall-brass);border-radius:8px;background:var(--hall-white);box-shadow:0 8px 22px rgba(6,42,74,.16);min-height:0}.selected-panel:after,.selected-mark{display:none}.selected-copy h3{margin:0 0 7px;color:var(--hall-brass);font:700 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}.selected-copy strong{display:block;color:var(--hall-navy);font:400 26px/1.1 Georgia,"Times New Roman",serif}.selected-copy p{margin:7px 0 0;color:var(--hall-muted);font-size:12px}.selected-occupants{margin-top:9px;padding-top:8px;border-top:1px solid var(--hall-border)}.selected-photo-button{width:100%;margin-top:15px;border:1px solid var(--hall-border);border-radius:0}.selected-photo{width:100%;height:126px;object-fit:cover;border:0}.selected-actions{display:grid;grid-template-columns:1fr;gap:8px;margin:16px 0 0}.selected-share,.selected-clear{width:100%;height:44px;min-height:44px;margin:0;padding:0 10px;border-radius:8px;font-size:12px;text-align:center}.selected-share{border-color:var(--hall-navy);background:var(--hall-navy);color:#fff}.selected-share:hover{background:var(--hall-navy-deep);transform:none}.selected-clear{border-color:var(--hall-border);background:var(--hall-white);color:var(--hall-ink)}
  .site-footer{height:40px;padding:0 34px;background:var(--hall-navy-deep);border-top:1px solid var(--hall-brass);color:#DDE7ED;font-size:10px}.site-footer a{color:#DDE7ED}#public-map .maplibregl-ctrl-group button{width:40px;height:40px;min-width:40px;min-height:40px}
}

/* WEB-033 terminal cascade: this is intentionally after WEB-032. */
@media(min-width:801px){
  :root{--map-controls-safe-area:56px}
  .site-header{height:72px;background:#0A2D4E;border:0}.site-header .brand-logo{width:44px;height:45px;padding:3px}.site-header .brand-copy strong{font:700 19px/1 Arial,Helvetica,sans-serif}.site-header nav.site-legal-nav,.site-header nav.site-legal-nav a{height:72px}.archive-status{display:inline-flex;align-items:center;gap:7px;color:#DBE5EB;font-size:11px}.archive-status i{width:7px;height:7px;border-radius:50%;background:#85A798}
  .search-hero{height:78px}.search-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.search-intro{width:275px;flex:0 0 275px}.search-hero h1{font:400 22px/1 Arial,Helvetica,sans-serif}.search-form{flex:0 1 690px;min-width:420px}.search-controls{display:flex;align-items:center;height:44px;min-height:44px;border:1px solid #AAB8C2;border-radius:8px}.input-wrap{display:flex;align-items:center;flex:1;min-width:0;height:42px;padding:0 13px;border:0}.input-wrap label{display:block;flex:0 0 auto;margin:0 18px 0 0;color:#60717D;font-size:11px;white-space:nowrap}.input-wrap .control-icon{display:none}.input-wrap input{min-width:0;flex:1;height:100%;font-size:15px}.primary{height:42px;min-width:92px;border:0;border-radius:0 7px 7px 0;background:#0A2D4E;font-size:13px}.search-hero .lead,.search-hint{display:none}
  .explorer{grid-template-columns:320px minmax(0,1fr);height:auto;min-height:620px}.panel-heading{height:70px}.result-row{min-height:67px;padding:9px 10px;border-left:1px solid transparent;border-radius:0}.result-row:hover{transform:none}.result-row.selected{border-color:#AA7A2D;border-left-color:#AA7A2D;background:#FBFAF6}.result-row small{margin-top:5px;font-size:11px}.avatar{width:10px;height:10px;border:2px solid #AAB8C2;border-radius:50%;font-size:0}.result-row.selected .avatar{border-color:#AA7A2D;background:#AA7A2D}
  .map-panel{display:block;position:relative;min-height:0;overflow:hidden;background:#D8E0DE}.map-heading{position:absolute;top:18px;left:20px;right:calc(20px + var(--map-controls-safe-area));display:flex;align-items:flex-start;justify-content:space-between;height:auto;min-height:0;padding:0;background:transparent;border:0;pointer-events:none}.map-heading>*{pointer-events:auto}.map-heading>div:first-child{min-width:0;padding:11px 14px;border:1px solid rgba(10,45,78,.2);border-radius:8px;background:#fff;box-shadow:0 3px 12px rgba(24,35,45,.12)}.map-heading .eyebrow{margin:0 0 3px;color:#AA7A2D;font-size:9px}.map-heading h2{font:700 14px/1 Arial,Helvetica,sans-serif}.map-layer-controls{display:block;margin:0}.layer-toggle{height:44px;border:1px solid #AAB8C2;border-radius:8px;background:#fff;box-shadow:0 3px 12px rgba(24,35,45,.12)}.layer-toggle button{height:42px;min-height:42px;min-width:104px;padding:0 15px}.layer-toggle button:first-child{border-left:0}.layer-toggle button[aria-pressed="true"]{background:#0A2D4E;border-color:#0A2D4E;color:#fff;box-shadow:none}
  .map-canvas{position:absolute;inset:0;width:100%;height:100%;min-height:0}.map-status{position:absolute;z-index:4;left:20px;bottom:52px;margin:0;padding:8px 11px;border:1px solid rgba(10,45,78,.18);border-radius:8px;background:#fff;font-size:10px}.layer-note{position:absolute;z-index:4;left:20px;bottom:52px;margin:0;padding:8px 11px;border-radius:8px;font-size:10px}.map-legend{position:absolute;z-index:4;left:20px;bottom:12px;width:auto;margin:0;padding:6px 10px;border:1px solid rgba(10,45,78,.18);border-radius:8px;background:rgba(255,255,255,.96)}
  .selected-panel{top:80px;right:20px;width:326px;padding:18px;border-top:0;border-radius:8px;background:#fff;box-shadow:0 10px 30px rgba(24,35,45,.18)}.selected-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:8px 8px 0 0;background:#AA7A2D}.selected-copy h3{margin:0 0 6px;color:#AA7A2D}.selected-copy strong{font:400 27px/1.08 Georgia,"Times New Roman",serif}.selected-photo-button{width:100%;margin-top:15px;border:0;border-radius:8px}.selected-photo{width:100%;height:150px;border-radius:8px}.selected-actions{display:grid;grid-template-columns:1fr;gap:8px;margin:15px 0 0}.selected-share,.selected-clear{width:100%;height:44px;min-height:44px}.selected-share{background:#0A2D4E}.selected-clear{background:#fff}
  .site-footer{height:40px;background:#F7F6F2;border-top:1px solid #D5DDE0;color:#60717D}.site-footer a{color:#60717D}
}

@media (min-width:801px) and (max-width:1000px){
  .map-heading{flex-direction:column;align-items:stretch;gap:8px}
  .map-layer-controls{align-self:flex-end}
  .map-heading>div:first-child{padding:9px 12px}
  .map-heading h2{font-size:13px}
  .layer-toggle button{min-width:0;padding:0 9px;font-size:10px}
}
/* WEB-039: keep the desktop shell in normal document flow. The map workspace
   fills the available height on tall viewports and grows past it on short
   ones, so the footer stays reachable without viewport arithmetic or scroll
   locking. */
@media(min-width:801px){
  body:has(.explorer){display:flex;flex-direction:column;min-height:100vh}
  body:has(.explorer)>main{display:flex;flex:1 0 auto;min-height:0;flex-direction:column}
  body:has(.explorer)>main>.search-hero{flex:0 0 78px}
  body:has(.explorer)>main>.explorer{flex:1 1 auto;height:auto;min-height:620px}
}

/* WEB-041: lower map controls own their space; co-located choices stay inside
   the map row instead of competing with status and legend overlays. */
@media(min-width:801px){
  .map-panel{display:grid;grid-template-rows:minmax(0,1fr) auto auto auto}
  .map-heading{position:absolute}
  .map-canvas{position:relative;grid-row:1;inset:auto;width:100%;height:auto;min-height:0}
  .map-status{position:static;grid-row:2}
  .layer-note{position:static;grid-row:3}
  .map-legend{position:static;grid-row:4}
}

@media(min-width:801px){.co-located-choice{max-height:calc(100% - 180px)}}
.co-located-choice{box-sizing:border-box;display:flex;flex-direction:column;max-height:calc(100% - 32px);overflow:hidden;touch-action:pan-y}
.co-located-choice ul{min-height:0;overflow-y:auto;touch-action:pan-y}
@media(min-width:801px){.co-located-choice{max-height:calc(100% - 180px)}}

.selected-map-marker{width:22px;height:22px;border:3px solid #7a241d;border-radius:50%;background:#b24a3b;box-shadow:0 0 0 3px rgba(255,255,255,.95),0 2px 8px rgba(8,43,76,.35);pointer-events:none}

/* WEB-037 mobile app shell and explicit gesture ownership. */
@media(max-width:900px){
  :root{--mobile-appbar:calc(60px + env(safe-area-inset-top));--mobile-nav-height:64px}
  body{padding-top:var(--mobile-appbar)}
  body.mobile-map-mode{padding-top:0}
  .site-header{position:fixed;z-index:40;top:0;left:0;right:0;height:var(--mobile-appbar);padding:env(safe-area-inset-top) 12px 0;background:#082F52;border-bottom:1px solid #B8872F;box-sizing:border-box}
  .site-header .brand-lockup{height:60px;gap:9px;min-width:0;max-width:calc(100% - 58px)}
  .site-header .brand-logo{width:38px;height:38px;flex:0 0 38px;padding:3px}
  .site-header .brand-copy{gap:2px;min-width:0}
  .site-header .brand-copy small{font:10px/1 Arial,Helvetica,sans-serif;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:0}
  .site-header .brand-copy small:after{content:"Jüdische Gemeinde Düsseldorf";font-size:10px}
  .site-header .brand-copy strong{font-size:0;line-height:1;white-space:nowrap;color:#fff}
  .site-header .brand-copy strong:after{content:attr(data-mobile-label);font:700 17px/1 Georgia,"Times New Roman",serif}
  .site-header nav.site-legal-nav{display:none}
  .mobile-menu-button{display:grid;place-items:center;width:48px;height:48px;position:absolute;right:10px;top:calc(env(safe-area-inset-top) + 6px);padding:0;border:1px solid rgba(255,255,255,.45);border-radius:8px;background:transparent;color:#fff;cursor:pointer}
  .mobile-menu-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
  .mobile-menu-button:focus-visible,.mobile-menu-panel a:focus-visible{outline:3px solid #D4AA54;outline-offset:2px}
  .mobile-menu-panel{position:absolute;z-index:50;top:calc(100% + 1px);right:10px;width:min(260px,calc(100vw - 20px));padding:14px;background:#fff;color:#082F52;border:1px solid #C9D3DA;border-top:3px solid #B8872F;box-shadow:0 10px 28px rgba(6,42,74,.24)}
  .mobile-menu-panel[hidden]{display:none}
  .mobile-menu-panel p{margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid #DDE5E5}
  .mobile-menu-panel .archive-status{display:inline-flex;align-items:center;gap:7px;color:#082F52;font-size:12px}
  .mobile-menu-panel .archive-status i{width:7px;height:7px;border-radius:50%;background:#4A8B6D}
  .mobile-menu-panel a{display:flex;align-items:center;min-height:44px;color:#082F52;font-size:14px;text-decoration:none}
  .search-hero{padding:18px 16px 14px;background:#F7F5EF}
  .search-hero-inner{display:block}
  .search-intro{margin-bottom:10px}
  .archive-kicker{margin-bottom:4px;font-size:10px;letter-spacing:.12em}
  .search-hero h1{font:700 24px/1.05 Georgia,"Times New Roman",serif;margin:0;color:#082F52}
  .search-form label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .search-controls{display:grid;grid-template-columns:minmax(0,1fr) 52px;width:100%;height:52px;min-height:52px;overflow:hidden;border:1px solid #9AAAB7;border-radius:9px;background:#fff;box-sizing:border-box}
  .input-wrap{grid-column:auto;height:50px;min-width:0;padding:0 12px;font-size:16px;border:0}
  .input-wrap .control-icon{display:block;flex:0 0 20px;width:20px;height:20px;stroke:#64727E;fill:none;stroke-width:1.8}
  .input-wrap input{min-width:0;width:100%;height:100%;font-size:16px}
  .input-wrap input::placeholder{color:#64727E;opacity:1}
  .primary{position:static;width:auto;height:50px;min-width:52px;margin:0;padding:0;border:0;border-radius:0;background:#082F52;font-size:0}
  .primary .button-icon{display:block;width:22px;height:22px;margin:auto;stroke:#fff;fill:none;stroke-width:1.8}
  .primary:after{display:none}
  .search-hint{margin:7px 0 0;color:#64727E;font-size:12px;line-height:1.2;white-space:normal}
  .results-panel .panel-heading{height:54px;padding:0 16px}
  .results-panel .panel-heading h2{font-size:20px}
  .results-panel .panel-heading span{font-size:12px}
  .result-list{padding:8px 12px 0}
  .result-row{min-height:72px;gap:11px;padding:10px 8px;border:0;border-bottom:1px solid #DDE5E5;border-radius:0;font-size:15px}
  .result-row strong{font:700 20px/1.1 Georgia,"Times New Roman",serif}
  .result-row small{margin-top:4px;font-size:12px;line-height:1.25}
  .result-thumb{width:48px;height:48px}
  .result-row b{font-size:26px}
  body[data-mobile-view="search"] .selected-panel{margin:16px 12px 20px;padding:18px 14px;border-radius:10px}
  body[data-mobile-view="search"] .selected-photo-button{touch-action:pan-y}
  body[data-mobile-view="search"] .selected-photo{max-height:260px;object-fit:contain}
  body.mobile-map-mode .selected-panel{z-index:20;bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 8px);max-height:min(58vh,460px);overflow-y:auto;touch-action:pan-y;padding-top:14px}
  body.mobile-map-mode .selected-photo-button{width:112px;height:112px;touch-action:pan-y}
  body.mobile-map-mode .selected-photo{touch-action:pan-y}
  body.mobile-map-mode .selected-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  body.mobile-map-mode .selected-actions .selected-share,body.mobile-map-mode .selected-actions .selected-clear{min-height:48px;font-size:13px}
  .mobile-bottom-nav{z-index:35;height:var(--mobile-nav-height);padding-bottom:env(safe-area-inset-bottom);box-sizing:content-box}
  .mobile-bottom-nav button{min-height:52px;height:52px}
  .map-canvas,#public-map .maplibregl-canvas{touch-action:none}
  .photo-lightbox{z-index:60;padding:0;place-items:stretch;touch-action:pan-y}
  .photo-lightbox-content{width:100%;height:100%;max-height:none;overflow:hidden;padding:calc(env(safe-area-inset-top) + 12px) 12px calc(env(safe-area-inset-bottom) + 12px);box-sizing:border-box}
  .photo-lightbox-content h2{position:sticky;top:0;z-index:3;margin:0;padding:8px 56px 10px 4px;font-size:19px;background:#fff}
  .photo-lightbox-close{position:fixed;z-index:5;top:calc(env(safe-area-inset-top) + 10px);right:12px;width:48px;height:48px;border-radius:8px;font-size:29px}
  .lightbox-toolbar{position:sticky;top:44px;z-index:3;display:flex;gap:4px;align-items:center;min-height:48px;padding:4px 0;background:#fff;overflow-x:auto;touch-action:pan-y}
  .lightbox-toolbar button{min-width:44px;min-height:44px}
  .lightbox-viewport{height:calc(100% - 122px);min-height:0;touch-action:none}
  .photo-lightbox-content>p{font-size:12px}
}
/* WEB-041 mobile: retain readable lower map context in the flex flow. */
@media(max-width:900px){
  body.mobile-map-mode .map-status,body.mobile-map-mode .map-legend{display:block;flex:0 0 auto}
  body.mobile-map-mode .map-status{padding:6px 12px;font-size:10px;background:#fff;border-top:1px solid var(--mobile-line)}
  body.mobile-map-mode .map-legend{width:auto;padding:8px 12px;border:0;border-top:1px solid var(--mobile-line);border-radius:0;background:#fff}
  body.mobile-map-mode .map-legend ul{gap:7px 12px}
  body.mobile-map-mode .map-legend li{font-size:10px}
}

@media(min-width:801px){.mobile-menu-button,.mobile-menu-panel{display:none}}
@media(min-width:801px) and (max-width:900px) and (orientation:landscape){.mobile-menu-button{display:grid}.mobile-menu-panel[hidden]{display:none}}
@media(min-width:801px) and (max-width:900px) and (orientation:landscape){body.mobile-map-mode .map-heading{position:static}body.mobile-map-mode .map-canvas{position:relative;inset:auto;width:100%}body.mobile-map-mode .selected-panel{top:auto}}
  @media(prefers-reduced-motion:reduce){.photo-lightbox *{scroll-behavior:auto!important;transition:none!important}}

/* WEB-043: legal pages share the public Archivkartensaal visual system. */
.legal-page{display:block;place-items:normal;min-height:calc(100vh - 112px);padding:0;background:#F7F5EF;color:#18232D}
.legal-hero{border-bottom:1px solid #D5DDE0;background:#fff}
.legal-hero-inner{width:min(1120px,calc(100% - 68px));margin:0 auto;padding:30px 0 27px}
.legal-hero .archive-kicker{margin:0 0 7px;color:#AA7A2D;font:700 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.16em}
.legal-hero h1{margin:0;color:#082F52;font:400 36px/1.05 Georgia,"Times New Roman",serif;letter-spacing:0}
.legal-hero .legal-lead,.legal-hero .legal-meta{margin:9px 0 0;color:#64727E;font:14px/1.45 Arial,Helvetica,sans-serif}
.legal-hero .legal-status{margin:0 0 16px;padding:7px 10px;border-left:4px solid #B8872F;background:#F6ECD4;color:#082F52;font:700 11px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.04em}
.legal-page-inner{width:min(1120px,calc(100% - 68px));margin:28px auto 44px;padding:38px 44px;border:1px solid #D5DDE0;border-top:4px solid #B8872F;border-left:1px solid #D5DDE0;border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(8,43,76,.08)}
.legal-document.legal-draft{width:min(980px,calc(100% - 68px))}
.legal-document .legal-section{margin:28px 0 0;padding-top:24px;border-top:1px solid #D5DDE0}
.legal-document .legal-section h2{margin:0 0 12px;color:#082F52;font:700 20px/1.2 Arial,Helvetica,sans-serif;letter-spacing:0}
.legal-document .legal-section h3{margin:20px 0 8px;color:#082F52;font:700 15px/1.25 Arial,Helvetica,sans-serif;letter-spacing:0}
.legal-document .legal-section p,.legal-document .legal-section li{color:#263746;font-size:14px;line-height:1.68}
.legal-document .legal-section p{margin:0 0 13px}
.legal-document .legal-section ul{margin:9px 0 14px;padding-left:21px}
.legal-document .legal-section li::marker{color:#B8872F}
.legal-document .legal-section address{margin:12px 0 14px;padding:13px 16px;border-left:3px solid #B8872F;background:#F7F6F2;color:#263746;font-style:normal;line-height:1.65}
.legal-document .legal-section code{padding:2px 5px;border:1px solid #D5DDE0;border-radius:3px;background:#F7F6F2;color:#082F52;font-size:.9em}
.legal-document a{color:#1769AA;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.legal-document a:hover{color:#082F52}
.legal-document a:focus-visible{outline:3px solid #B8872F;outline-offset:3px;border-radius:2px}
.legal-notice{max-width:none;margin:0 0 8px;padding:17px 19px;border:1px solid #D8C18C;border-left:4px solid #B8872F;background:#FFF9EC;color:#263746;font-size:14px;line-height:1.6}
.legal-source,.legal-note{color:#64727E;font-size:12px!important;line-height:1.55!important}
.legal-checklist{margin-top:30px!important;padding:22px 22px 8px!important;border:1px solid #D8C18C!important;border-top:4px solid #B8872F!important;background:#FFF9EC}
.legal-back-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:24px;padding:0 17px;border:1px solid #082F52;border-radius:8px;color:#082F52!important;background:#fff;font:700 12px/1 Arial,Helvetica,sans-serif;text-decoration:none!important}
.legal-back-link:hover{background:#082F52;color:#fff!important}
.legal-document-compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.legal-document-compact .legal-section{min-width:0;margin:0;padding:0 28px 0 0;border-top:0;border-right:1px solid #D5DDE0}
.legal-document-compact .legal-section:nth-of-type(3){padding-right:0;border-right:0}
.legal-document-compact .legal-section h2{font-size:18px}
.legal-document-compact .legal-section address{margin-top:14px}
.legal-document-compact>.legal-source{grid-column:1/-1;margin:30px 0 0;padding-top:22px;border-top:1px solid #D5DDE0}
.legal-document-compact>.legal-note,.legal-document-compact>.legal-back-link{grid-column:1/-1}
.legal-document-compact>.legal-note{margin:12px 0 0}
.legal-document-compact>.legal-back-link{justify-self:start}

@media(max-width:900px){
  .legal-page{min-height:calc(100vh - var(--mobile-appbar));padding:0}
  .legal-hero-inner{width:calc(100% - 32px);padding:23px 0 21px}
  .legal-hero .archive-kicker{margin-bottom:6px;font-size:9px;letter-spacing:.14em}
  .legal-hero h1{font-size:31px}
  .legal-hero .legal-lead,.legal-hero .legal-meta{margin-top:7px;font-size:13px}
  .legal-hero .legal-status{margin-bottom:14px;font-size:10px}
  .legal-page-inner,.legal-document.legal-draft{width:calc(100% - 24px);margin:12px auto 24px;padding:23px 18px;border-radius:8px}
  .legal-document .legal-section{margin-top:24px;padding-top:21px}
  .legal-document .legal-section h2{font-size:19px}
  .legal-document .legal-section p,.legal-document .legal-section li{font-size:14px;line-height:1.62}
  .legal-document .legal-section address{padding:12px 14px}
  .legal-notice{padding:15px 15px;font-size:13px}
  .legal-checklist{padding:18px 16px 5px!important}
  .legal-document-compact{display:block}
  .legal-document-compact .legal-section{margin:0;padding:0 0 22px;border-right:0;border-bottom:1px solid #D5DDE0}
  .legal-document-compact .legal-section+ .legal-section{margin-top:22px}
  .legal-document-compact .legal-section:nth-of-type(3){padding-bottom:0;border-bottom:0}
  .legal-document-compact>.legal-source{margin-top:26px;padding-top:20px}
  .legal-back-link{width:100%;min-height:48px;margin-top:22px}
  .legal-document a,.legal-document code{overflow-wrap:anywhere}
}
/* WEB-044: the selected grave exposes only the operator-defined service catalogue. */
.selected-service{display:grid;place-items:center;min-height:44px;padding:8px 10px;border:1px solid var(--gold);border-radius:var(--control-radius,8px);background:#fff8e8;color:var(--navy);font-size:12px;font-weight:700;text-align:center;text-decoration:none}.selected-service:hover,.selected-service:focus-visible{background:#f4ead1;border-color:var(--navy);outline:3px solid var(--gold);outline-offset:2px}.selected-service[hidden]{display:none!important}
@media(max-width:800px){body.mobile-map-mode .selected-actions{grid-template-columns:1fr 1fr}body.mobile-map-mode .selected-service{grid-column:1/-1;min-height:48px;font-size:14px}body[data-mobile-view="search"] .selected-service{width:100%;min-height:52px;font-size:16px}}

/* WEB-046: the selected grave can also be closed from the top of the card. */
.selected-close{position:absolute;z-index:3;top:8px;right:8px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--navy);cursor:pointer}
.selected-close span{font-size:30px;font-weight:400;line-height:1}
.selected-close:hover{background:#eef2f3}
.selected-close:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.selected-copy h3{padding-right:42px}
@media(max-width:900px){.selected-close{top:5px;right:5px}}

/* WEB-047: order and legal pages use the same finished Archivkartensaal system. */
.legal-page{background:#F7F6F2;color:#18232D;font-family:Arial,Helvetica,sans-serif}
.legal-hero{border-bottom:1px solid #D5DDE0;background:#fff}
.legal-hero-inner{width:min(1120px,calc(100% - 68px));padding:34px 0 31px}
.legal-hero .archive-kicker{color:#AA7A2D;font:700 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.16em}
.legal-hero h1{color:#0A2D4E;font:400 42px/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.018em}
.legal-hero .legal-lead,.legal-hero .legal-meta{max-width:760px;color:#64727E;font:15px/1.55 Arial,Helvetica,sans-serif}
.legal-hero .legal-status{display:inline-flex;margin:0 0 18px;padding:8px 11px;border:1px solid #DEC990;border-left:4px solid #AA7A2D;border-radius:7px;background:#FFF8E8;color:#624B1F}
.legal-page-inner{width:min(1120px,calc(100% - 68px));margin:30px auto 48px;padding:40px 42px;border:1px solid #D5DDE0;border-top:4px solid #AA7A2D;border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(8,43,76,.09)}
.legal-document.legal-draft{width:min(960px,calc(100% - 68px))}
.legal-document .legal-section{margin-top:30px;padding-top:27px;border-top:1px solid #D5DDE0}
.legal-document .legal-section h2{margin-bottom:13px;color:#0A2D4E;font:700 20px/1.25 Arial,Helvetica,sans-serif}
.legal-document .legal-section h3{color:#0A2D4E;font:700 15px/1.3 Arial,Helvetica,sans-serif}
.legal-document .legal-section p,.legal-document .legal-section li{color:#263746;font-size:15px;line-height:1.68}
.legal-document .legal-section address{padding:15px 17px;border:1px solid #D5DDE0;border-left:4px solid #AA7A2D;border-radius:8px;background:#F7F6F2}
.legal-document .legal-section code{padding:3px 6px;border-radius:5px;background:#F7F6F2}
.legal-document a{color:#1769AA;text-underline-offset:3px}
.legal-document a:focus-visible{outline:3px solid rgba(170,122,45,.45);outline-offset:3px;border-radius:4px}
.legal-notice{padding:18px 20px;border:1px solid #DEC990;border-left:4px solid #AA7A2D;border-radius:9px;background:#FFF8E8}
.legal-checklist{padding:24px 24px 10px!important;border:1px solid #DEC990!important;border-top:4px solid #AA7A2D!important;border-radius:10px;background:#FFF8E8}
.legal-back-link{min-height:48px;padding:0 19px;border:1px solid #0A2D4E;border-radius:8px;background:#0A2D4E;color:#fff!important;font-size:13px;transition:background-color 160ms ease,border-color 160ms ease}
.legal-back-link:hover{border-color:#062A4A;background:#062A4A;color:#fff!important}
.legal-back-link:focus-visible{outline:3px solid rgba(170,122,45,.45);outline-offset:3px}
.legal-document-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.legal-document-compact .legal-section{min-width:0;margin:0;padding:22px;border:1px solid #D5DDE0;border-radius:10px;background:#F8FAFB}
.legal-document-compact .legal-section:nth-of-type(3){padding:22px;border:1px solid #D5DDE0}
.legal-document-compact .legal-section h2{font-size:18px}
.legal-document-compact>.legal-source{margin-top:28px;padding-top:22px}

@media(max-width:900px){
  .legal-hero-inner{width:calc(100% - 36px);padding:25px 0 23px}
  .legal-hero h1{font-size:34px}
  .legal-hero .legal-lead,.legal-hero .legal-meta{font-size:14px}
  .legal-page-inner,.legal-document.legal-draft{width:calc(100% - 24px);margin:14px auto 26px;padding:25px 19px;border-radius:10px}
  .legal-document .legal-section{margin-top:25px;padding-top:22px}
  .legal-document .legal-section p,.legal-document .legal-section li{font-size:14px;line-height:1.64}
  .legal-document-compact{display:grid;grid-template-columns:1fr;gap:12px}
  .legal-document-compact .legal-section,.legal-document-compact .legal-section+ .legal-section,.legal-document-compact .legal-section:nth-of-type(3){margin:0;padding:19px;border:1px solid #D5DDE0;border-radius:9px}
  .legal-back-link{width:100%;min-height:52px}
}

/* WEB-051: Erinnerungsweg — the empty public route is a real entrance page,
   while search results and the map keep the established Archivkartensaal. */
.home-welcome{background:#F3F0E8;border-bottom:1px solid #D5DDE0}
.home-welcome-inner{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(540px,1.18fr);width:min(1280px,calc(100% - 68px));min-height:390px;margin:0 auto}
.home-welcome-copy{display:flex;flex-direction:column;justify-content:center;padding:48px 54px 48px 0}
.home-welcome-kicker,.home-section-kicker{display:block;color:#94702E;font:700 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.18em}
.home-welcome-copy h1{max-width:520px;margin:12px 0 18px;color:#0A2D4E;font:400 clamp(42px,4.1vw,64px)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.035em}
.home-welcome-copy>p{max-width:510px;margin:0;color:#465B69;font:18px/1.55 Arial,Helvetica,sans-serif}
.home-welcome-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.home-welcome-actions a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 19px;border-radius:9px;font:700 13px/1 Arial,Helvetica,sans-serif;text-decoration:none}
.home-welcome-actions svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.home-action-primary{border:1px solid #0A2D4E;background:#0A2D4E;color:#fff}
.home-action-primary:hover{background:#062A4A}
.home-action-secondary{border:1px solid #9EADB7;background:#fff;color:#0A2D4E}
.home-action-secondary:hover{border-color:#0A2D4E;background:#F8FAFB}
.home-welcome-actions a:focus-visible,.home-feature a:focus-visible,.home-services a:focus-visible{outline:3px solid rgba(170,122,45,.48);outline-offset:3px}
.home-welcome-visual{position:relative;min-width:0;margin:0;overflow:hidden;background:#DCE3DC}
.home-welcome-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,43,76,.08),transparent 25%),linear-gradient(0deg,rgba(8,43,76,.28),transparent 35%)}
.home-welcome-visual img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover}
.home-welcome-visual figcaption{position:absolute;z-index:1;right:18px;bottom:15px;padding:6px 9px;border-radius:5px;background:rgba(6,42,74,.82);color:#fff;font:10px/1 Arial,Helvetica,sans-serif;letter-spacing:.02em}
.home-welcome-placeholder{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;height:100%;min-height:390px;padding:26px;background:#DDE5DC;transform:rotate(-3deg) scale(1.08)}
.home-welcome-placeholder span{border:1px solid rgba(8,43,76,.18);background:linear-gradient(135deg,#8EA790 0 46%,#EDF0E8 47% 55%,#B5C4B3 56%)}
.public-home-intro .search-hero{height:104px;padding:0 34px;background:#fff}
.public-home-intro .search-hero-inner{width:min(1120px,calc(100% - 68px));max-width:none;margin:0 auto}
.public-home-intro .search-form{flex-basis:720px}
.public-home-intro .explorer{flex:0 0 auto}
.home-information{padding:82px 34px 88px;background:#fff}
.home-section-heading{width:min(760px,100%);margin:0 auto 38px;text-align:center}
.home-section-heading h2,.home-services h2{margin:11px 0 13px;color:#0A2D4E;font:400 38px/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.025em}
.home-section-heading>p{margin:0;color:#60717D;font:16px/1.65 Arial,Helvetica,sans-serif}
.home-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:min(1120px,100%);margin:0 auto}
.home-feature{position:relative;min-width:0;padding:28px 26px 26px;border:1px solid #D5DDE0;border-radius:14px;background:#F8FAFB}
.home-feature:before{content:"";position:absolute;top:-1px;left:26px;width:54px;height:3px;border-radius:0 0 3px 3px;background:#AA7A2D}
.home-feature-number{position:absolute;top:24px;right:24px;color:#A9B3BA;font:700 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.12em}
.home-feature>svg{width:28px;height:28px;margin-bottom:32px;fill:none;stroke:#AA7A2D;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.home-feature h3{margin:0 0 11px;color:#0A2D4E;font:700 20px/1.2 Arial,Helvetica,sans-serif}
.home-feature p{min-height:92px;margin:0;color:#516574;font:14px/1.6 Arial,Helvetica,sans-serif}
.home-feature a,.home-services-intro>a{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:#0A2D4E;font:700 13px/1.2 Arial,Helvetica,sans-serif;text-decoration:none}
.home-feature a span,.home-services-intro>a span{color:#AA7A2D;font-size:18px}
.home-services{display:grid;grid-template-columns:minmax(300px,.76fr) minmax(520px,1.24fr);gap:72px;padding:74px max(34px,calc((100% - 1120px)/2)) 82px;background:#F3F0E8;border-top:1px solid #D5DDE0}
.home-services-intro{align-self:center}
.home-services-intro>p{max-width:500px;margin:0;color:#516574;font:15px/1.7 Arial,Helvetica,sans-serif}
.home-service-list{display:grid;gap:10px}
.home-service-item{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:108px;padding:20px 22px;border:1px solid #D5DDE0;border-radius:12px;background:#fff}
.home-service-item h3{margin:0;color:#0A2D4E;font:700 18px/1.2 Arial,Helvetica,sans-serif}
.home-service-item p{margin:6px 0 0;color:#64727E;font:13px/1.45 Arial,Helvetica,sans-serif}
.home-service-price{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.home-service-price strong{white-space:nowrap;color:#0A2D4E;font:400 24px/1 Georgia,"Times New Roman",serif}
.home-service-price small{white-space:nowrap;color:#64727E;font:11px/1.25 Arial,Helvetica,sans-serif}
body:has(.public-home) .site-header{background:#fff;border-bottom:1px solid #D5DDE0;color:#0A2D4E}
body:has(.public-home) .site-header .brand-lockup,body:has(.public-home) .site-header .brand-copy strong,body:has(.public-home) .site-header .brand-copy small,body:has(.public-home) .site-header nav a{color:#0A2D4E}
body:has(.public-home) .site-header .brand-logo{background:transparent}
body:has(.public-home) .site-header .archive-status{color:#516574}
body:has(.public-home) .site-header .mobile-menu-button{border-color:#9EADB7;color:#0A2D4E}
body:has(.public-home) .site-footer{height:auto;min-height:54px;padding-top:10px;padding-bottom:10px;background:#F7F6F2;border-color:#D5DDE0;color:#60717D}
body:has(.public-home) .site-footer a{color:#0A2D4E}

@media(max-width:1100px) and (min-width:901px){
  .home-welcome-inner{grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr)}
  .home-welcome-copy{padding-right:34px}
  .home-welcome-copy h1{font-size:46px}
  .home-services{gap:40px}
  body:has(.public-home) .site-header nav.site-legal-nav{gap:15px}
  body:has(.public-home) .archive-status{display:none}
}

@media(max-width:900px){
  body:has(.public-home){padding-top:var(--mobile-appbar);background:#F7F6F2}
  body:has(.public-home) .site-header{height:var(--mobile-appbar);padding:env(safe-area-inset-top) 12px 0;background:#fff;border-bottom:1px solid #D5DDE0}
  body:has(.public-home) .site-header .brand-lockup{height:60px;gap:10px}
  body:has(.public-home) .site-header .brand-logo{width:42px;height:42px;flex-basis:42px;padding:2px}
  body:has(.public-home) .site-header .brand-copy small{font-size:0}
  body:has(.public-home) .site-header .brand-copy small:after{color:#60717D;font:700 8px/1 Arial,Helvetica,sans-serif;letter-spacing:.08em}
  body:has(.public-home) .site-header .brand-copy strong{font-size:0;color:#0A2D4E}
  body:has(.public-home) .site-header .brand-copy strong:after{content:attr(data-mobile-label);font:700 17px/1.05 Georgia,"Times New Roman",serif;color:#0A2D4E}
  body:has(.public-home) .mobile-menu-button{top:calc(env(safe-area-inset-top) + 6px);background:#fff}
  body:has(.public-home) .mobile-menu-panel{border-radius:0 0 10px 10px}
  .home-welcome{background:#F3F0E8}
  .home-welcome-inner{position:relative;display:block;width:100%;min-height:330px}
  .home-welcome-visual{position:absolute;inset:0;height:330px}
  .home-welcome-visual:after{background:linear-gradient(0deg,rgba(5,34,56,.82) 0%,rgba(5,34,56,.48) 50%,rgba(5,34,56,.06) 100%)}
  .home-welcome-visual img,.home-welcome-placeholder{min-height:330px;height:330px}
  .home-welcome-visual figcaption{right:13px;top:12px;bottom:auto;background:rgba(6,42,74,.66);font-size:9px}
  .home-welcome-copy{position:relative;z-index:1;display:flex;min-height:330px;justify-content:flex-end;padding:98px 18px 22px}
  .home-welcome-kicker{color:#E2BE78;font-size:9px}
  .home-welcome-copy h1{max-width:350px;margin:9px 0 10px;color:#fff;font-size:38px;line-height:1.01;letter-spacing:-.03em}
  .home-welcome-copy>p{max-width:340px;color:#F1F5F6;font-size:15px;line-height:1.45}
  .home-welcome-actions{gap:8px;margin-top:18px}
  .home-welcome-actions a{min-height:46px;padding:0 14px;font-size:12px}
  .home-action-primary{border-color:#fff;background:#fff;color:#0A2D4E}
  .home-action-secondary{border-color:rgba(255,255,255,.68);background:rgba(6,42,74,.3);color:#fff}
  .public-home-intro .search-hero{height:auto;padding:20px 16px 18px;background:#fff}
  .public-home-intro .search-hero-inner{width:100%}
  .public-home-intro .search-form:before{content:attr(data-mobile-label);display:block;margin:0 0 10px;color:#0A2D4E;font:700 21px/1.1 Georgia,"Times New Roman",serif}
  .public-home-intro .search-hint{margin-top:9px;font-size:12px;line-height:1.4}
  .public-home-intro .explorer{display:none}
  body.mobile-map-mode .public-home-intro .explorer{display:block}
  body.mobile-map-mode .home-welcome,body.mobile-map-mode .home-information,body.mobile-map-mode .home-services{display:none}
  .home-information{padding:54px 16px 58px}
  .home-section-heading{margin-bottom:25px;text-align:left}
  .home-section-heading h2,.home-services h2{margin-top:9px;font-size:31px;line-height:1.08}
  .home-section-heading>p{font-size:14px;line-height:1.58}
  .home-feature-grid{grid-template-columns:1fr;gap:10px}
  .home-feature{padding:23px 20px 21px;border-radius:12px;background:#F8FAFB}
  .home-feature:before{left:20px}
  .home-feature-number{top:20px;right:20px}
  .home-feature>svg{margin-bottom:23px}
  .home-feature h3{font-size:18px}
  .home-feature p{min-height:0;font-size:14px;line-height:1.55}
  .home-feature a{margin-top:17px}
  .home-services{display:block;padding:52px 16px 58px}
  .home-services-intro>p{font-size:14px;line-height:1.6}
  .home-service-list{margin-top:28px}
  .home-service-item{min-height:0;padding:18px 17px;gap:14px;border-radius:10px}
  .home-service-item h3{font-size:16px}
  .home-service-item p{font-size:12px}
  .home-service-price strong{font-size:21px}
  .home-service-price small{white-space:normal;max-width:130px;font-size:10px}
  body:has(.public-home) .site-footer{align-items:flex-start;min-height:92px;padding:18px 18px 20px;gap:8px;background:#fff;border-top:1px solid #D5DDE0;color:#60717D;font-size:12px}
  body:has(.public-home) .site-footer nav{gap:20px}
}

@media(max-width:390px){
  .home-welcome-copy h1{font-size:34px}
  .home-welcome-actions{display:grid;grid-template-columns:1fr}
  .home-welcome-actions a{width:100%}
  .home-welcome-inner,.home-welcome-visual,.home-welcome-visual img,.home-welcome-placeholder{min-height:390px;height:390px}
  .home-welcome-copy{min-height:390px}
  .home-service-item{align-items:flex-start}
  .home-service-price strong{font-size:19px}
}

@media(prefers-reduced-motion:reduce){
  .home-welcome-actions a,.home-feature a,.home-services a{scroll-behavior:auto}
}

/* WEB-066: keep the server-side exit from search visible in the results header. */
.results-heading-copy{display:flex;align-items:baseline;gap:10px;min-width:0}.results-heading-copy h2{white-space:nowrap}.results-heading-copy span{white-space:nowrap}.results-reset{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-width:44px;min-height:44px;padding:6px 9px;border:1px solid #C9D3DA;border-radius:7px;background:#fff;color:#082F52;font-size:12px;font-weight:700;line-height:1;white-space:nowrap;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease}.results-reset svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.results-reset:hover{border-color:#AA7A2D;background:#FFF8E8;color:#062A4A}.results-reset:focus-visible{outline:3px solid #B8872F;outline-offset:2px}

@media(max-width:900px){
  .results-panel .panel-heading{gap:8px;padding-left:16px;padding-right:12px}.results-heading-copy{gap:7px;min-width:0}.results-heading-copy h2{font-size:20px}.results-heading-copy span{font-size:12px}.results-reset{gap:5px;padding:5px 7px;font-size:11px}
}

@media(prefers-reduced-motion:reduce){
  .results-reset{transition:none}
}

/* WEB-067: keep the results title/count row separate from the full-width reset action. */
.results-panel .panel-heading{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;align-items:stretch;align-content:start;gap:12px;height:auto;min-height:0;padding:14px 16px 16px}
.results-panel .results-heading-copy{display:flex;align-items:baseline;justify-content:space-between;width:100%;min-width:0;gap:10px}
.results-panel .results-heading-copy h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.results-panel .results-heading-copy span{flex:0 0 auto;white-space:nowrap}
.results-panel .results-reset{position:static;width:100%;min-width:0;min-height:44px;margin:0;box-sizing:border-box}

@media(max-width:900px){
  .results-panel{max-height:none}
  .results-panel .panel-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;height:auto;min-height:0;padding:12px 16px 14px}
  .results-panel .results-heading-copy{display:flex;justify-content:space-between;width:100%;gap:7px}
  .results-panel .results-reset{width:100%;min-height:44px}
}

/* WEB-052: the first route starts with search and a full-width map.
   Results become part of the layout only after a real search query. */
.public-home-intro .explorer{grid-template-columns:minmax(0,1fr)}
.public-home-intro .results-panel[hidden]{display:none!important}

@media(max-width:900px){
  .public-home-intro .explorer{display:none}
  body.mobile-map-mode .public-home-intro .explorer{display:block}
}

/* Canvas-based fallback for browsers where WebGL is unavailable. */
#public-map.leaflet-container{z-index:0;background:#dfe9df;font-family:var(--sans)}
#public-map .leaflet-top.leaflet-right .leaflet-control-zoom{margin-top:72px;margin-right:18px;border:1px solid #AAB8C2;border-radius:8px;background:#fff;box-shadow:0 3px 12px rgba(24,35,45,.12)}
#public-map .leaflet-control-zoom a{box-sizing:border-box;display:grid;place-items:center;width:40px;height:40px;border:0;border-bottom:1px solid var(--hall-border);background:#fff;color:var(--hall-navy);font:700 22px/1 var(--sans);transition:background-color var(--hall-motion),color var(--hall-motion)}
#public-map .leaflet-control-zoom a:first-child{border-radius:7px 7px 0 0}
#public-map .leaflet-control-zoom a:last-child{border-bottom:0;border-radius:0 0 7px 7px}
#public-map .leaflet-control-zoom a:hover{background:#F3F6F8;color:var(--hall-navy)}
#public-map .leaflet-control-zoom a:focus-visible{outline:3px solid var(--hall-brass);outline-offset:-3px}
#public-map .leaflet-control-zoom a.leaflet-disabled{background:#F4F6F7;color:#87949D;cursor:not-allowed}
#public-map .friedhof-marker-cluster{border:0;background:transparent}
#public-map .friedhof-marker-cluster span{display:grid;width:100%;height:100%;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--map-cluster,#b38d46);box-shadow:0 2px 7px rgba(10,45,78,.3);color:#fff;font:700 12px/1 var(--sans)}
#public-map .leaflet-control-attribution{padding:2px 5px;background:rgba(255,255,255,.88);font-size:9px}
#public-map .leaflet-popup-content{min-width:210px;margin:13px 16px}
#public-map .leaflet-popup-content strong{display:block;margin-bottom:7px;color:var(--hall-navy)}
#public-map .leaflet-popup-content button{display:block;width:100%;min-height:40px;padding:7px 9px;border:0;border-top:1px solid var(--hall-border);background:#fff;color:var(--hall-ink);text-align:left;cursor:pointer}
#public-map .leaflet-popup-content button:hover,#public-map .leaflet-popup-content button:focus-visible{background:#f3f6f8;color:var(--hall-navy)}

@media(max-width:900px){
  #public-map .leaflet-top.leaflet-right .leaflet-control-zoom{margin-top:12px;margin-right:10px}
}

/* WEB-065: one renderer-neutral control returns to the full cemetery extent. */
#public-map .map-recenter-control{overflow:hidden;border:1px solid #AAB8C2;border-radius:8px;background:#fff;box-shadow:0 3px 12px rgba(24,35,45,.12)}
#public-map .map-recenter-control .map-recenter-button{box-sizing:border-box;display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:0;border-radius:7px;background:#fff;color:var(--hall-navy);cursor:pointer;transition:background-color var(--hall-motion),color var(--hall-motion)}
#public-map .map-recenter-control .map-recenter-button:hover{background:#F3F6F8;color:var(--hall-navy)}
#public-map .map-recenter-control .map-recenter-button:focus-visible{outline:3px solid var(--hall-brass);outline-offset:-3px}
#public-map .map-recenter-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#public-map .leaflet-control.map-recenter-control{margin-top:10px;margin-right:18px}

@media(max-width:900px){
  #public-map .leaflet-control.map-recenter-control{margin-right:10px}
}

/* WEB-068: one public navy/brass interaction grammar for utility controls. */
:root{
  --control-secondary-hover-bg:#FFF8E8;
  --control-secondary-hover-border:#AA7A2D;
  --control-secondary-hover-text:#062A4A;
  --control-focus-brass:#B8872F;
  --control-interaction-motion:160ms ease;
}
.results-reset,
.selected-share,
.selected-clear,
.selected-close,
.selected-service,
.home-action-secondary,
.mobile-menu-button,
.lightbox-toolbar button,
.lightbox-pan-controls button,
.photo-lightbox-close,
#public-map .maplibregl-ctrl-group button,
#public-map .leaflet-control-zoom a,
#public-map .map-recenter-control .map-recenter-button,
#public-map .leaflet-popup-content button{
  transition:background-color var(--control-interaction-motion),border-color var(--control-interaction-motion),color var(--control-interaction-motion),box-shadow var(--control-interaction-motion),transform var(--control-interaction-motion);
}
.results-reset:hover,
.selected-share:hover,
.selected-clear:hover,
.selected-close:hover,
.selected-service:hover,
.home-action-secondary:hover,
.lightbox-toolbar button:hover:not(:disabled),
.lightbox-pan-controls button:hover:not(:disabled),
.photo-lightbox-close:hover,
#public-map .maplibregl-ctrl-group button:hover:not(:disabled),
#public-map .leaflet-control-zoom a:hover:not(.leaflet-disabled),
#public-map .map-recenter-control .map-recenter-button:hover:not(:disabled),
#public-map .leaflet-popup-content button:hover:not(:disabled){
  background:var(--control-secondary-hover-bg);
  border-color:var(--control-secondary-hover-border);
  color:var(--control-secondary-hover-text);
}
.layer-toggle button:not([aria-pressed="true"]):hover:not(:disabled){
  background:var(--control-secondary-hover-bg);
  border-color:var(--control-secondary-hover-border);
  color:var(--control-secondary-hover-text);
}
#public-map .maplibregl-ctrl-group button:hover:not(:disabled) .maplibregl-ctrl-icon{filter:none}
#public-map .maplibregl-ctrl-group button:hover:not(:disabled){color:var(--control-secondary-hover-border)}
#public-map .leaflet-control-zoom a:hover:not(.leaflet-disabled),
#public-map .map-recenter-control .map-recenter-button:hover:not(:disabled){color:var(--control-secondary-hover-border)}
.layer-toggle button[aria-pressed="true"]:hover{background:var(--control-primary);border-color:var(--control-primary);color:#fff}
.primary:hover{background:var(--control-primary-hover);border-color:var(--control-primary-hover);color:#fff}
.primary:focus-visible,
.layer-toggle button:focus-visible,
.results-reset:focus-visible,
.selected-share:focus-visible,
.selected-clear:focus-visible,
.selected-close:focus-visible,
.selected-service:focus-visible,
.home-action-secondary:focus-visible,
.lightbox-toolbar button:focus-visible,
.lightbox-pan-controls button:focus-visible,
.photo-lightbox-close:focus-visible,
.mobile-menu-button:focus-visible,
#public-map .maplibregl-ctrl-group button:focus-visible,
#public-map .leaflet-control-zoom a:focus-visible,
#public-map .map-recenter-control .map-recenter-button:focus-visible,
#public-map .leaflet-popup-content button:focus-visible{
  outline:3px solid var(--control-focus-brass);
  outline-offset:2px;
}
.selected-close{border:1px solid transparent}
.lightbox-pan-controls button:disabled,
#public-map .leaflet-control-zoom a.leaflet-disabled,
#public-map .map-recenter-control .map-recenter-button:disabled,
#public-map .maplibregl-ctrl-group button:disabled{transition:none;}
@media(prefers-reduced-motion:reduce){
  .results-reset,
  .selected-share,
  .selected-clear,
  .selected-close,
  .selected-service,
  .home-action-secondary,
  .mobile-menu-button,
  .lightbox-toolbar button,
  .lightbox-pan-controls button,
  .photo-lightbox-close,
  #public-map .maplibregl-ctrl-group button,
  #public-map .leaflet-control-zoom a,
  #public-map .map-recenter-control .map-recenter-button,
  #public-map .leaflet-popup-content button{transition:none!important;transform:none!important}
}

/* WEB-069: keep legal links visible on the white public-home header. */
body:has(.public-home) .site-header nav.site-legal-nav a{color:#0A2D4E;text-decoration-color:transparent;transition:color 160ms ease,text-decoration-color 160ms ease}
body:has(.public-home) .site-header nav.site-legal-nav a:hover{color:#0A2D4E;text-decoration:underline;text-decoration-color:#AA7A2D;text-decoration-thickness:2px;text-underline-offset:5px}
body:has(.public-home) .site-header nav.site-legal-nav a:focus-visible{color:#0A2D4E;text-decoration:underline;text-decoration-color:#AA7A2D;text-decoration-thickness:2px;text-underline-offset:5px;outline:3px solid #AA7A2D;outline-offset:2px}
body:has(.public-home) .site-header nav.site-legal-nav .donation-button{border:1px solid #0A2D4E;background:#fff;color:#0A2D4E!important;text-decoration:none}
body:has(.public-home) .site-header nav.site-legal-nav .donation-button:hover{border-color:#0A2D4E;background:#0A2D4E;color:#fff!important;text-decoration:none}
body:has(.public-home) .site-header nav.site-legal-nav .donation-button:focus-visible{outline:3px solid #AA7A2D;outline-offset:3px;text-decoration:none}
@media(prefers-reduced-motion:reduce){body:has(.public-home) .site-header nav.site-legal-nav a{transition:none}}

/* WEB-075: compact community-donation control follows the public search button scale. */
.donation-button{display:inline-flex;align-items:center;justify-content:center;height:42px;min-height:42px;padding:0 18px;border:1px solid #0A2D4E;border-radius:7px;background:#fff;color:#0A2D4E!important;font:700 13px/1 Arial,Helvetica,sans-serif;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;text-decoration:none;box-shadow:none;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease}.donation-button:hover{border-color:#0A2D4E;background:#0A2D4E;color:#fff!important;box-shadow:none;text-decoration:none!important;transform:none}.donation-button:focus-visible{outline:3px solid #AA7A2D;outline-offset:3px;text-decoration:none!important}.site-header nav.site-legal-nav .donation-button{height:42px}.mobile-menu-panel .donation-button{align-self:stretch;height:42px;min-height:42px;margin-top:6px;font:700 13px/1 Arial,Helvetica,sans-serif}.site-footer-donation{display:flex;align-items:center;gap:12px;color:inherit}.site-footer-donation>span{max-width:310px}.site-footer .donation-button{flex:0 0 auto}.site-footer:has(.site-footer-donation){height:auto;min-height:68px}
.language-switcher{display:flex;align-items:center;gap:4px}.language-switcher a{display:grid;place-items:center;min-width:34px;min-height:34px;padding:4px 6px;border:1px solid currentColor;border-radius:4px;text-decoration:none}.site-footer .language-switcher a[aria-current=page]{background:#fff;color:#0A2D4E}.language-switcher a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media(max-width:900px){.site-footer:has(.site-footer-donation){min-height:0}.site-footer-donation{align-items:flex-start;flex-direction:column;gap:7px}.site-footer-donation>span{max-width:none}}

/* WEB-070: restrained interaction states for the three empty-home information cards. */
.public-home-intro .home-feature{transition:background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease}
.public-home-intro .home-feature:focus-within{background:#fff;border-color:#AA7A2D;box-shadow:0 8px 22px rgba(10,45,78,.14)}
.public-home-intro .home-feature a{transition:color 180ms ease,text-decoration-color 180ms ease}
.public-home-intro .home-feature a span[aria-hidden=true]{display:inline-block;transition:transform 180ms ease}
.public-home-intro .home-feature a:hover,.public-home-intro .home-feature a:focus-visible{color:#0A2D4E;text-decoration:underline;text-decoration-color:#AA7A2D;text-decoration-thickness:2px;text-underline-offset:4px}
.public-home-intro .home-feature a:hover span[aria-hidden=true],.public-home-intro .home-feature a:focus-visible span[aria-hidden=true]{transform:translateX(4px)}
.public-home-intro .home-feature a:focus-visible{outline:3px solid #AA7A2D;outline-offset:3px}
@media(hover:hover) and (pointer:fine){.public-home-intro .home-feature:hover{background:#fff;border-color:#AA7A2D;box-shadow:0 8px 22px rgba(10,45,78,.14);transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.public-home-intro .home-feature,.public-home-intro .home-feature a,.public-home-intro .home-feature a span[aria-hidden=true]{transition:none!important;transform:none!important}.public-home-intro .home-feature:hover{transform:none!important}.public-home-intro .home-feature:focus-within{background:#fff;border-color:#AA7A2D;box-shadow:0 8px 22px rgba(10,45,78,.14)}.public-home-intro .home-feature a:hover,.public-home-intro .home-feature a:focus-visible{color:#0A2D4E;text-decoration-color:#AA7A2D}}

/* WEB-071: one compact metric scale treatment for both public map renderers. */
#public-map .maplibregl-ctrl-bottom-left .maplibregl-ctrl-scale,
#public-map .leaflet-bottom.leaflet-left .leaflet-control-scale-line{box-sizing:border-box;margin:0 0 16px 18px;padding:2px 6px 1px;border:1px solid #082F52;border-radius:2px;background:rgba(255,255,255,.88);color:#082F52;font:600 10px/1.2 Arial,Helvetica,sans-serif;white-space:nowrap}
#public-map .leaflet-bottom.leaflet-left .leaflet-control-scale{margin:0}
@media(max-width:900px){
  #public-map .maplibregl-ctrl-bottom-left .maplibregl-ctrl-scale,
  #public-map .leaflet-bottom.leaflet-left .leaflet-control-scale-line{margin-left:10px;margin-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 8px)}
  .map-panel:has(> .selected-panel:not([hidden])) #public-map .maplibregl-ctrl-bottom-left .maplibregl-ctrl-scale,
  .map-panel:has(> .selected-panel:not([hidden])) #public-map .leaflet-bottom.leaflet-left .leaflet-control-scale-line{margin-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + min(58vh,460px) + 12px)}
}

/* WEB-077: hand the published grave coordinate to the visitor's map provider. */
.selected-directions,.selected-share{display:flex;align-items:center;justify-content:center;width:100%;height:44px;min-height:44px;margin:0;padding:0 10px;border:1px solid #0A2D4E;border-radius:8px;background:#0A2D4E;color:#fff;font:700 12px/1 var(--sans);text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--control-interaction-motion),border-color var(--control-interaction-motion),color var(--control-interaction-motion),box-shadow var(--control-interaction-motion),transform var(--control-interaction-motion)}
.selected-directions:hover,.selected-share:hover{border-color:#062A4A;background:#062A4A;color:#fff;text-decoration:none;transform:none;box-shadow:none}
.selected-directions:active,.selected-share:active{transform:none;box-shadow:none}
.selected-directions:focus-visible,.selected-share:focus-visible{outline:3px solid var(--control-focus-brass);outline-offset:2px}
.selected-directions[hidden]{display:none!important}
@media(max-width:800px){
  body.mobile-map-mode .selected-actions .selected-directions{grid-column:1/-1;min-height:48px;font-size:13px}
  body.mobile-map-mode .selected-actions .selected-share{min-height:48px;font-size:13px}
  body[data-mobile-view="search"] .selected-actions .selected-directions{width:100%;min-height:52px;padding:12px 14px;border-radius:8px;font-size:16px}
  body[data-mobile-view="search"] .selected-actions .selected-share{min-height:52px;padding:12px 14px;border-radius:8px;font-size:16px}
  body.mobile-map-mode .selected-actions .selected-directions,body.mobile-map-mode .selected-actions .selected-share,body[data-mobile-view="search"] .selected-actions .selected-directions,body[data-mobile-view="search"] .selected-actions .selected-share{border-color:#0A2D4E;background:#0A2D4E;color:#fff}
  body.mobile-map-mode .selected-actions .selected-directions:hover,body.mobile-map-mode .selected-actions .selected-share:hover,body[data-mobile-view="search"] .selected-actions .selected-directions:hover,body[data-mobile-view="search"] .selected-actions .selected-share:hover{border-color:#062A4A;background:#062A4A;color:#fff}
}
@media(prefers-reduced-motion:reduce){.selected-directions{transition:none!important;transform:none!important}}

/* WEB-088: keep long localized desktop navigation inside the header. */
@media(min-width:901px) and (max-width:2000px){
  .site-header{gap:18px}
  .site-header .brand-lockup{flex:1 1 auto;overflow:hidden}
  .site-header .brand-copy{overflow:hidden}
  .site-header .brand-copy strong{display:block;overflow:hidden;text-overflow:ellipsis}
  .site-header nav.site-legal-nav{flex:0 0 auto;gap:15px}
  .site-header nav.site-legal-nav>.archive-status{display:none}
}
@media(min-width:901px) and (max-width:1440px){
  .site-header{padding:0 16px;gap:12px}
  .site-header nav.site-legal-nav{gap:10px;font-size:11px}
  .site-header .brand-lockup{gap:8px}
  .donation-button{padding:0 12px;font-size:11px}
}
.home-donation-cta{display:flex;align-items:center;justify-content:center;gap:16px;margin:32px 0 0;padding:24px;background:#fffdf6;border:1px solid #bf9342;border-radius:8px;color:#082b4c;font-size:14px;text-align:center;flex-wrap:wrap}
@media(max-width:800px){
  .home-donation-cta{margin-top:24px;padding:16px;font-size:12px;gap:12px}
  .home-donation-cta .donation-button{width:100%}
}

/* WEB-091: desktop-only clear background and vertical layout for CTA */
@media(min-width:801px){
  .home-donation-cta{background:transparent;border:0;border-radius:0;flex-direction:column;padding:24px 0 0}
}
