:root {
  --bg: #090909;
  --surface: #131313;
  --surface-2: #1a1a1a;
  --ink: #f5f3ee;
  --muted: #999994;
  --line: rgba(255,255,255,.16);
  --acid: #d8ff3e;
  --dark: #090909;
  --page: clamp(18px, 3.5vw, 58px);
  --radius: 18px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); overflow-x: clip; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: "Arial Narrow", "Avenir Next Condensed", "Helvetica Neue", Arial, sans-serif; -webkit-font-smoothing: antialiased; overflow-x: clip; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
a { color: inherit; }
img { display: block; width: 100%; }
[hidden] { display: none !important; }
.skip-link { position: fixed; z-index: 9999; left: 12px; top: 12px; transform: translateY(-150%); background: var(--acid); color: var(--dark); padding: 12px 18px; border-radius: 99px; font-weight: 800; }
.skip-link:focus { transform: none; }
.site-header { position: fixed; z-index: 1200; inset: 0 0 auto; min-height: 70px; padding: 0 var(--page); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; background: linear-gradient(to bottom, rgba(0,0,0,.78), transparent); color: white; pointer-events: none; }
.site-header > * { pointer-events: auto; }
.brand { min-height: 44px; display: inline-flex; align-items: center; gap: 10px; width: fit-content; text-decoration: none; font-size: 15px; font-weight: 800; letter-spacing: -.03em; }
.brand-dot { width: 11px; height: 11px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 5px rgba(216,255,62,.13); }
.top-nav { display: flex; gap: 8px; padding: 5px; background: rgba(10,10,10,.58); border: 1px solid rgba(255,255,255,.13); border-radius: 99px; backdrop-filter: blur(16px); }
.top-nav a { padding: 10px 16px; border-radius: 99px; text-decoration: none; font-size: 13px; font-weight: 700; }
.top-nav a:hover { background: white; color: black; }
.prototype-label { justify-self: end; font: 600 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.view { min-height: 70vh; }
.micro-label { margin: 0; font: 600 10px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .13em; text-transform: uppercase; }
.hero { min-height: 100svh; position: relative; display: grid; overflow: hidden; isolation: isolate; background: #111; }
.hero-photo { position: absolute; inset: 0; width: 100%; max-width: 100%; height: 100%; padding: 0; overflow: hidden; border: 0; background: #111; cursor: pointer; }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; transform: scale(1.01); transition: transform 1.2s cubic-bezier(.2,.75,.2,1); }
.hero-photo:hover img { transform: scale(1.035); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.3) 55%, rgba(0,0,0,.06) 100%), linear-gradient(0deg, rgba(0,0,0,.78), transparent 38%); }
.hero-copy { position: relative; z-index: 2; align-self: center; padding: 110px var(--page) 180px; max-width: 790px; translate: 0 -2vh; pointer-events: none; }
.hero-copy .micro-label { color: var(--acid); margin-bottom: clamp(24px,4vw,52px); }
.hero h1 { margin: 0; font-size: clamp(68px, 9.4vw, 154px); line-height: .76; letter-spacing: -.07em; font-weight: 800; text-transform: uppercase; }
.hero h1 em { color: var(--acid); font-style: normal; font-weight: inherit; }
.hero-lead { max-width: 450px; margin: clamp(30px,4vw,54px) 0 0; color: rgba(255,255,255,.78); font: 500 clamp(16px,1.35vw,21px)/1.45 "Helvetica Neue", Arial, sans-serif; letter-spacing: -.02em; }
.hero-object { position: absolute; z-index: 3; right: var(--page); top: 50%; translate: 0 -50%; display: flex; flex-direction: column; align-items: flex-end; text-align: right; pointer-events: none; }
.hero-object span { color: rgba(255,255,255,.55); font: 600 9px/1 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .12em; }
.hero-object b { margin-top: 10px; font-size: clamp(21px,2.3vw,38px); letter-spacing: -.04em; }
.hero-object small { margin-top: 6px; color: rgba(255,255,255,.64); font-size: 12px; }
.hero-credit { position: absolute; z-index: 3; right: var(--page); bottom: 142px; margin: 0; color: rgba(255,255,255,.58); font-size: 10px; pointer-events: none; }
.discovery-switch { position: absolute; z-index: 4; left: var(--page); right: var(--page); bottom: 26px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.4); border-bottom: 1px solid rgba(255,255,255,.4); }
.discovery-switch a { min-height: 98px; padding: 18px 22px; display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 14px; text-decoration: none; transition: .25s; }
.discovery-switch a + a { border-left: 1px solid rgba(255,255,255,.4); }
.discovery-switch a:hover { background: var(--acid); color: var(--dark); }
.discovery-switch span { font: 600 10px/1 ui-monospace, monospace; opacity: .65; }
.discovery-switch b { font-size: clamp(18px,2vw,30px); letter-spacing: -.035em; }
.discovery-switch i { font-size: 26px; font-style: normal; }
.collection-section { padding: clamp(100px,12vw,190px) var(--page); scroll-margin-top: 0; }
.section-heading { margin-bottom: clamp(60px,8vw,120px); display: grid; grid-template-columns: .45fr 1.4fr .6fr; gap: 40px; align-items: start; }
.section-heading .micro-label, .map-intro .micro-label { color: var(--acid); padding-top: 14px; }
.section-heading h2, .map-intro h2 { margin: 0; font-size: clamp(54px,7.4vw,118px); line-height: .86; letter-spacing: -.065em; text-transform: uppercase; }
.section-heading > p:last-child, .map-intro > p:last-child { margin: 12px 0 0; color: var(--muted); font: 400 16px/1.55 "Helvetica Neue", Arial, sans-serif; }
.gallery-toolbar { margin-bottom: 24px; padding: clamp(20px,2.5vw,36px); display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); gap: clamp(24px,4vw,72px); align-items: end; background: var(--surface); border: 1px solid var(--line); }
.gallery-search, .gallery-filters { min-width: 0; display: grid; gap: 14px; }
.gallery-search > .micro-label, .gallery-filters > .micro-label { color: var(--acid); }
.search-field { min-height: 58px; display: grid; grid-template-columns: 1fr auto; align-items: center; border-bottom: 1px solid rgba(255,255,255,.42); }
.search-field:focus-within { border-color: var(--acid); }
.search-field input { width: 100%; min-width: 0; height: 58px; padding: 0 12px 0 0; border: 0; outline: 0; background: transparent; color: var(--ink); font: 600 clamp(18px,1.5vw,23px)/1 "Helvetica Neue", Arial, sans-serif; letter-spacing: -.025em; }
.search-field input::placeholder { color: #777772; opacity: 1; }
.search-field > span { color: var(--acid); font-size: 30px; line-height: 1; }
.filter-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-button { min-height: 46px; padding: 0 17px; border: 1px solid rgba(255,255,255,.22); border-radius: 99px; background: transparent; color: var(--ink); font-size: 12px; font-weight: 800; cursor: pointer; transition: .2s; }
.filter-button:hover, .filter-button.is-active { border-color: var(--acid); background: var(--acid); color: var(--dark); }
.gallery-summary { min-height: 48px; margin-bottom: 28px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.gallery-summary p { margin: 0; color: var(--muted); font: 600 10px/1.4 ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; }
.gallery-clear { min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--acid); font-size: 12px; font-weight: 800; cursor: pointer; }
.mural-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(52px,6vw,96px) clamp(16px,2vw,34px); }
.mural-card { min-width: 0; }
.card-photo { position: relative; width: 100%; aspect-ratio: 4/5; padding: 0; overflow: hidden; border: 0; border-radius: 2px; background: var(--surface); cursor: pointer; }
.card-photo img { height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.75,.2,1), filter .35s; }
.mural-card[data-object-id="ML-063"] .card-photo img { object-position: center 36%; }
.card-open { position: absolute; right: 14px; bottom: 14px; min-height: 44px; padding: 0 16px; display: inline-flex; align-items: center; background: var(--acid); color: var(--dark); border-radius: 99px; font-size: 11px; font-weight: 850; opacity: 0; transform: translateY(8px); transition: .25s; }
.card-photo:hover img { transform: scale(1.025); filter: saturate(1.08); }
.card-photo:hover .card-open, .card-photo:focus-visible .card-open { opacity: 1; transform: none; }
.card-meta { padding-top: 16px; display: grid; grid-template-columns: 26px 1fr auto; gap: 8px 12px; align-items: baseline; }
.card-index { color: var(--acid); font: 600 10px/1 ui-monospace, monospace; }
.card-meta h3 { min-width: 0; margin: 0; font-size: clamp(28px,2.7vw,46px); line-height: .92; letter-spacing: -.055em; text-transform: uppercase; overflow-wrap: anywhere; }
.card-year { justify-self: end; color: var(--acid); font: 600 12px/1 ui-monospace, monospace; }
.card-category { grid-column: 2 / -1; width: fit-content; max-width: 100%; margin: 2px 0 1px; padding: 5px 8px; background: rgba(216,255,62,.1); color: var(--acid); font: 600 8px/1.2 ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; overflow-wrap: anywhere; }
.card-author { grid-column: 2 / -1; margin: 0; color: #d2d2ce; font-size: 13px; line-height: 1.35; }
.card-address { grid-column: 2 / -1; margin: 0; color: var(--muted); font-size: 12px; }
.card-credit { grid-column: 2 / -1; margin: 2px 0 0; color: #6f6f6b; font-size: 10px; }
.gallery-empty { padding: clamp(50px,8vw,110px) 20px; text-align: center; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.gallery-empty p { margin: 0 0 24px; color: var(--muted); font: 400 clamp(18px,2vw,28px)/1.4 "Helvetica Neue", Arial, sans-serif; }
.gallery-empty button, .load-more { min-height: 54px; padding: 0 24px; border: 1px solid var(--acid); border-radius: 99px; background: var(--acid); color: var(--dark); font-weight: 850; cursor: pointer; }
.load-more-wrap { min-height: 54px; margin-top: clamp(54px,7vw,100px); display: grid; place-items: center; }
.load-more { min-width: min(100%,320px); display: inline-flex; align-items: center; justify-content: center; gap: 22px; }
.map-section { padding: clamp(54px,6vw,92px) var(--page) var(--page); background: var(--acid); color: var(--dark); scroll-margin-top: 0; }
.map-intro { display: grid; grid-template-columns: .42fr 1.08fr .72fr; gap: 34px; margin-bottom: 30px; align-items: end; }
.map-intro .micro-label { color: var(--dark); }
.map-intro h2 { font-size: clamp(38px,4.8vw,74px); line-height: .88; }
.map-intro > p:last-child { color: rgba(0,0,0,.62); }
.map-shell { position: relative; min-height: min(88vh,980px); background: #d0d0c8; overflow: hidden; border-radius: 2px; }
.map { position: absolute; inset: 0; z-index: 1; min-height: min(88vh,980px); filter: grayscale(1) contrast(1.04); }
.map-list { position: absolute; z-index: 500; top: 18px; right: 18px; bottom: 18px; width: min(370px, calc(100% - 36px)); padding: 8px; overflow: auto; background: rgba(9,9,9,.93); color: white; backdrop-filter: blur(18px); }
.map-list-item { width: 100%; min-height: 86px; padding: 10px; display: grid; grid-template-columns: 68px 1fr auto; align-items: center; gap: 13px; color: white; background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.12); text-align: left; cursor: pointer; }
.map-list-item:hover, .map-list-item:focus-visible { background: rgba(216,255,62,.12); }
.map-list-item img { width: 68px; height: 64px; object-fit: cover; }
.map-list-item b { display: block; font-size: 17px; letter-spacing: -.025em; }
.map-list-item small { display: block; margin-top: 5px; color: #949490; font-size: 11px; }
.map-index { color: var(--acid); font: 600 10px/1 ui-monospace, monospace; }
.leaflet-popup-content-wrapper { border-radius: 2px; background: #090909; color: white; box-shadow: 0 20px 50px rgba(0,0,0,.35); }
.leaflet-popup-tip { background: #090909; }
.leaflet-popup-content { margin: 10px; }
.popup-card { width: min(220px, calc(100vw - 96px)); }
.popup-card img { height: 130px; object-fit: cover; margin-bottom: 12px; }
.popup-card b { display: block; font-size: 18px; }
.popup-card p { margin: 5px 0 12px; color: #9f9f9b; font-size: 12px; }
.popup-card button { min-height: 44px; width: 100%; border: 0; border-radius: 99px; background: var(--acid); color: var(--dark); font-weight: 800; cursor: pointer; }
.mural-marker { background: transparent; border: 0; }
.mural-marker span { width: 44px; height: 44px; display: grid; place-items: center; background: var(--acid); color: var(--dark); border: 3px solid var(--dark); border-radius: 50%; box-shadow: 0 7px 22px rgba(0,0,0,.32); }
.mural-marker b { font: 800 10px/1 ui-monospace, monospace; }

.streets-section { padding: clamp(100px,12vw,190px) var(--page); background: var(--bg); color: var(--ink); scroll-margin-top: 0; }
.streets-intro { margin-bottom: clamp(52px,7vw,96px); display: grid; grid-template-columns: .45fr 1.4fr .6fr; gap: 40px; align-items: start; }
.streets-intro .micro-label { padding-top: 14px; color: var(--acid); }
.streets-intro h2 { margin: 0; font-size: clamp(54px,7.4vw,118px); line-height: .86; letter-spacing: -.065em; text-transform: uppercase; }
.streets-intro > p:last-child { margin: 12px 0 0; color: var(--muted); font: 400 16px/1.55 "Helvetica Neue", Arial, sans-serif; }
.streets-toolbar { margin-bottom: 24px; padding: clamp(20px,2.5vw,36px); display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); gap: clamp(24px,4vw,72px); align-items: end; background: var(--surface); border: 1px solid var(--line); }
.streets-search { min-width: 0; display: grid; gap: 14px; }
.streets-search > .micro-label { color: var(--acid); }
.streets-letters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.streets-letters button { width: 46px; min-width: 46px; height: 46px; padding: 0; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: transparent; color: var(--ink); font: 800 12px/1 ui-monospace, monospace; cursor: pointer; transition: .2s; }
.streets-letters button:hover, .streets-letters button:focus-visible { border-color: var(--acid); background: var(--acid); color: var(--dark); }
.streets-summary { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.streets-summary p { margin: 0; color: var(--muted); font: 600 10px/1.4 ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; }
.streets-clear { min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--acid); font-size: 12px; font-weight: 800; cursor: pointer; }
.street-group { border-bottom: 1px solid var(--line); scroll-margin-top: 82px; }
.street-heading { width: 100%; list-style: none; min-height: 94px; padding: 0 4px; display: grid; grid-template-columns: 68px minmax(0,1fr) auto 50px; align-items: center; gap: 18px; border: 0; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.street-heading::-webkit-details-marker { display: none; }
.street-heading:hover .street-name, .street-heading:focus-visible .street-name { color: var(--acid); }
.street-letter { color: var(--acid); font: 700 11px/1 ui-monospace, monospace; }
.street-name { min-width: 0; font-size: clamp(26px,3vw,48px); font-weight: 750; line-height: .94; letter-spacing: -.045em; text-transform: uppercase; overflow-wrap: anywhere; transition: color .2s; }
.street-count { color: var(--muted); font: 600 10px/1.3 ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.street-toggle-icon { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; font-size: 24px; line-height: 1; transition: transform .25s, background .2s, color .2s; }
.street-group[open] .street-toggle-icon { transform: rotate(45deg); background: var(--acid); color: var(--dark); border-color: var(--acid); }
.street-objects { margin: 0 0 18px 68px; background: var(--surface); border: 1px solid var(--line); }
.street-object { width: 100%; min-height: 82px; padding: 14px 18px; display: grid; grid-template-columns: 92px minmax(0,1fr) auto; align-items: center; gap: 22px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); text-align: left; text-decoration: none; cursor: pointer; }
.street-object:last-child { border-bottom: 0; }
.street-object:hover, .street-object:focus-visible { background: rgba(216,255,62,.08); }
.street-number { display: flex; align-items: baseline; gap: 10px; }
.street-number small { color: var(--muted); font: 600 9px/1 ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.street-number b { color: var(--acid); font-size: 22px; line-height: 1; }
.street-object-title { min-width: 0; display: grid; gap: 5px; }
.street-object-title b { font-size: clamp(18px,1.8vw,27px); line-height: 1; letter-spacing: -.03em; overflow-wrap: anywhere; }
.street-object-title small { color: var(--muted); font: 600 8px/1.35 ui-monospace, monospace; letter-spacing: .07em; text-transform: uppercase; overflow-wrap: anywhere; }
.street-open { min-height: 44px; padding: 0 16px; display: inline-flex; align-items: center; gap: 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 99px; font-size: 11px; font-weight: 850; white-space: nowrap; }
.street-open i { color: var(--acid); font-size: 16px; font-style: normal; }
.streets-empty { padding: clamp(50px,8vw,110px) 20px; text-align: center; border-bottom: 1px solid var(--line); }
.streets-empty p { margin: 0 0 24px; color: var(--muted); font: 400 clamp(18px,2vw,28px)/1.4 "Helvetica Neue", Arial, sans-serif; }
.streets-empty button { min-height: 54px; padding: 0 24px; border: 1px solid var(--acid); border-radius: 99px; background: var(--acid); color: var(--dark); font-weight: 850; cursor: pointer; }

.detail-view { background: var(--bg); }
.detail-topbar { position: fixed; z-index: 1100; top: 82px; left: var(--page); right: var(--page); display: flex; justify-content: space-between; align-items: center; pointer-events: none; }
.detail-topbar > * { pointer-events: auto; }
.detail-top-actions { display: flex; align-items: center; gap: 8px; }
.back-button { min-height: 46px; padding: 0 18px; display: inline-flex; align-items: center; border-radius: 99px; background: rgba(9,9,9,.78); border: 1px solid rgba(255,255,255,.14); color: white; backdrop-filter: blur(14px); text-decoration: none; font-size: 13px; font-weight: 700; }
.detail-status { padding: 10px 12px; background: rgba(9,9,9,.65); color: rgba(255,255,255,.72); backdrop-filter: blur(14px); font: 600 9px/1 ui-monospace, monospace; letter-spacing: .11em; text-transform: uppercase; }
.quick-navigate { display: none; }
.detail-main-figure { position: relative; height: 94svh; margin: 0; background: #111; }
.detail-main-image { width: 100%; height: 100%; padding: 0; border: 0; background: #111; cursor: zoom-in; }
.detail-main-image img { width: 100%; height: 100%; object-fit: cover; }
.detail-main-figure[data-object-id="ML-063"] .detail-main-image img { object-fit: contain; object-position: center; }
.detail-main-figure::after { content: ""; position: absolute; inset: auto 0 0; height: 48%; pointer-events: none; background: linear-gradient(transparent, rgba(0,0,0,.91)); }
.detail-main-figure .photo-credit { position: absolute; z-index: 2; right: var(--page); bottom: 22px; color: rgba(255,255,255,.65); }
.photo-credit { margin: 8px 2px 0; color: var(--muted); font-size: 10px; line-height: 1.4; }
.detail-photo-title { position: absolute; z-index: 2; left: var(--page); bottom: 34px; max-width: min(68vw, 1050px); pointer-events: none; }
.detail-intro { padding: clamp(82px,9vw,145px) var(--page); display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); gap: clamp(50px,9vw,150px); align-items: start; }
.detail-kicker { color: var(--acid); font: 600 10px/1.4 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .12em; }
.detail-title { margin: 14px 0 0; max-width: 1050px; font-size: clamp(62px,8.3vw,138px); line-height: .78; letter-spacing: -.07em; text-transform: uppercase; text-shadow: 0 4px 35px rgba(0,0,0,.35); }
.detail-story .micro-label { margin-bottom: 24px; color: var(--acid); }
.detail-meta { padding-top: 0; }
.detail-facts { margin: 0 0 42px; padding: 0; display: grid; gap: 0; }
.detail-facts div { padding: 17px 0; display: grid; grid-template-columns: 94px 1fr; gap: 18px; border-top: 1px solid var(--line); }
.detail-facts div:last-child { border-bottom: 1px solid var(--line); }
.detail-facts dt { color: var(--muted); font: 600 9px/1.5 ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.detail-facts dd { margin: 0; font-size: 15px; line-height: 1.4; }
.detail-description { margin: 0; color: #d0d0cc; font: 400 clamp(18px,1.6vw,24px)/1.55 "Helvetica Neue", Arial, sans-serif; letter-spacing: -.025em; }
.unconfirmed { text-decoration: underline dotted var(--acid); text-underline-offset: 4px; }
.discreet-note { margin-top: 24px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.detail-content { padding: 20px var(--page) clamp(90px,10vw,160px); }
.detail-section { margin: 0 auto clamp(110px,13vw,210px); max-width: 1600px; }
.detail-section-heading { display: grid; grid-template-columns: 1fr minmax(280px,520px); gap: 50px; margin-bottom: 46px; align-items: end; }
.detail-section-heading .micro-label { color: var(--acid); margin-bottom: 18px; }
.detail-section-heading h2 { margin: 0; font-size: clamp(52px,7vw,110px); line-height: .84; letter-spacing: -.065em; text-transform: uppercase; }
.detail-section-heading > p { margin: 0; color: var(--muted); font: 400 15px/1.6 "Helvetica Neue", Arial, sans-serif; }
.gallery { display: grid; grid-template-columns: repeat(12,1fr); gap: clamp(28px,4vw,70px) 18px; }
.gallery-item { grid-column: span 7; margin: 0; min-width: 0; }
.gallery-item:nth-child(even) { grid-column: 6 / span 7; }
.gallery button { width: 100%; min-height: 560px; padding: 0; border: 0; border-radius: 2px; overflow: hidden; background: var(--surface); cursor: zoom-in; }
.gallery img { height: 100%; object-fit: cover; transition: transform .7s; }
.gallery button:hover img { transform: scale(1.02); }
.empty-gallery { padding: 36px 0; color: var(--muted); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.location-grid { min-height: 640px; display: grid; grid-template-columns: minmax(0,1.5fr) minmax(300px,.5fr); overflow: hidden; background: var(--acid); color: var(--dark); }
.detail-map { min-height: 640px; filter: grayscale(1) contrast(1.05); }
.location-copy { padding: clamp(30px,4vw,64px); display: flex; flex-direction: column; justify-content: center; }
.location-copy h3 { margin: 0 0 14px; font-size: clamp(32px,3vw,54px); line-height: .95; letter-spacing: -.05em; text-transform: uppercase; overflow-wrap: anywhere; }
.location-copy p { margin: 0; font: 600 11px/1.5 ui-monospace, monospace; }
.navigate-button { min-height: 54px; margin-top: 36px; padding: 0 22px; align-self: flex-start; display: inline-flex; align-items: center; justify-content: center; gap: 28px; background: var(--dark); color: white; border-radius: 99px; text-decoration: none; font-weight: 800; }
.sources { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.sources li { border-bottom: 1px solid var(--line); }
.sources a { min-height: 76px; padding: 14px 0; display: grid; grid-template-columns: 44px 1fr auto; gap: 16px; align-items: center; text-decoration: none; }
.sources a:hover .source-domain { color: var(--acid); }
.source-domain { display: block; font-size: 16px; }
.source-type { color: var(--muted); font-size: 11px; }
.source-arrow { font-size: 24px; }
.site-footer { min-height: 150px; padding: 30px var(--page); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-top: 1px solid var(--line); }
.site-footer p { color: var(--muted); font-size: 11px; }
.site-footer > a:last-child { justify-self: end; font-size: 12px; text-decoration: none; }
.mobile-dock { display: none; }
.lightbox { position: fixed; inset: 0; z-index: 5000; padding: 50px; display: grid; place-items: center; background: rgba(0,0,0,.96); }
.lightbox[hidden] { display: none; }
.lightbox img { max-width: min(1500px,94vw); max-height: 84vh; object-fit: contain; }
.lightbox p { margin: 12px 0 0; color: rgba(255,255,255,.68); font-size: 11px; }
.lightbox-close { position: absolute; right: 18px; top: 18px; width: 50px; height: 50px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: rgba(0,0,0,.35); color: white; font-size: 28px; cursor: pointer; }
:focus-visible { outline: 3px solid var(--acid); outline-offset: 4px; }
@media (max-width: 980px) {
  .hero-object { display: none; }
  .section-heading, .map-intro, .streets-intro { grid-template-columns: 1fr 1.5fr; }
  .section-heading > p:last-child, .map-intro > p:last-child, .streets-intro > p:last-child { grid-column: 2; }
  .streets-toolbar { grid-template-columns: 1fr; }
  .streets-letters { justify-content: flex-start; }
  .map-intro h2 { font-size: clamp(38px,6vw,62px); }
  .detail-intro { grid-template-columns: 1fr; }
  .detail-meta { max-width: 720px; padding-top: 0; }
  .location-grid { grid-template-columns: 1fr; }
  .detail-map { min-height: 520px; }
  .gallery-toolbar { grid-template-columns: 1fr; }
  .mural-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  :root { --page: 18px; }
  body { padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
  .site-header { min-height: 62px; grid-template-columns: 1fr auto; }
  .top-nav { display: none; }
  .prototype-label { font-size: 8px; }
  .hero { min-height: 100svh; }
  .hero-shade { background: linear-gradient(0deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.25) 70%), linear-gradient(90deg, rgba(0,0,0,.45), transparent); }
  .hero-photo img { object-position: center; }
  .hero-copy { align-self: end; padding: 100px var(--page) 214px; max-width: 92%; translate: 0; }
  .hero-copy .micro-label { margin-bottom: 20px; }
  .hero h1 { font-size: clamp(58px,17.5vw,82px); line-height: .78; }
  .hero-lead { max-width: 330px; margin-top: 24px; font-size: 15px; }
  .hero-credit { right: var(--page); bottom: 174px; max-width: 76%; text-align: right; font-size: 9px; }
  .discovery-switch { bottom: 18px; grid-template-columns: 1fr; border-bottom: 0; }
  .discovery-switch a { min-height: 52px; padding: 7px 12px; grid-template-columns: 30px 1fr auto; background: rgba(5,5,5,.7); backdrop-filter: blur(14px); }
  .discovery-switch a + a { border-left: 0; border-top: 1px solid rgba(255,255,255,.35); }
  .discovery-switch b { font-size: 15px; }
  .collection-section { padding-top: 90px; }
  .section-heading, .map-intro, .streets-intro { display: block; margin-bottom: 44px; }
  .section-heading .micro-label, .map-intro .micro-label, .streets-intro .micro-label { margin-bottom: 22px; padding: 0; }
  .section-heading h2, .map-intro h2, .streets-intro h2 { font-size: clamp(48px,15vw,72px); }
  .map-intro { margin-bottom: 22px; }
  .map-intro h2 { font-size: clamp(38px,11vw,50px); line-height: .9; }
  .map-intro > p:last-child { margin-top: 14px; font-size: 14px; }
  .section-heading > p:last-child, .map-intro > p:last-child, .streets-intro > p:last-child { margin-top: 24px; max-width: 340px; }
  .map-intro > p:last-child { margin-top: 14px; }
  .gallery-toolbar { margin-inline: calc(-1 * var(--page)); padding: 24px var(--page); border-inline: 0; }
  .filter-buttons { flex-wrap: wrap; }
  .filter-button { flex: 0 0 auto; white-space: normal; line-height: 1.2; }
  .filter-button:last-child { flex: 1 0 100%; padding-block: 11px; }
  .gallery-summary { align-items: flex-start; padding-bottom: 14px; }
  .gallery-summary p { max-width: 72%; font-size: 8px; }
  .mural-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 44px 12px; }
  .card-open { right: 8px; bottom: 8px; min-height: 40px; padding: 0 11px; font-size: 9px; opacity: 1; transform: none; }
  .card-meta { padding-top: 12px; grid-template-columns: 18px 1fr auto; gap: 7px 6px; }
  .card-index { grid-column: 1; grid-row: 1; }
  .card-year { grid-column: 3; grid-row: 1; }
  .card-meta h3 { grid-column: 1 / -1; grid-row: 2; font-size: clamp(21px,6.4vw,28px); line-height: .92; }
  .card-index, .card-year { font-size: 8px; }
  .card-category { grid-column: 1 / -1; grid-row: 3; width: 100%; font-size: 7px; }
  .card-author, .card-address, .card-credit { grid-column: 1 / -1; }
  .card-author { font-size: 11px; }
  .card-address { font-size: 10px; line-height: 1.35; }
  .card-credit { font-size: 8px; line-height: 1.35; }
  .load-more-wrap { margin-top: 60px; }
  .map-section { padding-inline: 0; padding-bottom: 0; }
  .map-intro { padding-inline: var(--page); }
  .map-shell { min-height: 88svh; border-radius: 0; }
  .map { min-height: 88svh; }
  .map-list { inset: auto 10px calc(82px + env(safe-area-inset-bottom)); width: auto; max-height: 190px; }
  .map-shell.popup-open .map-list { opacity: 0; transform: translateY(18px); pointer-events: none; }
  .map-list-item { min-height: 72px; grid-template-columns: 52px 1fr auto; }
  .map-list-item img { width: 52px; height: 48px; }
  .streets-section { padding: 90px var(--page) calc(118px + env(safe-area-inset-bottom)); }
  .streets-toolbar { margin-inline: calc(-1 * var(--page)); padding: 24px var(--page); border-inline: 0; }
  .streets-letters { justify-content: flex-start; gap: 7px; }
  .streets-letters button { width: 44px; min-width: 44px; height: 44px; }
  .streets-summary { align-items: flex-start; padding: 12px 0; }
  .streets-summary p { max-width: 70%; font-size: 8px; }
  .street-group { scroll-margin-top: 68px; }
  .street-heading { min-height: 82px; padding: 8px 0; grid-template-columns: 28px minmax(0,1fr) auto 44px; gap: 8px; }
  .street-name { font-size: clamp(22px,7vw,31px); line-height: .94; }
  .street-count { max-width: 62px; white-space: normal; text-align: right; font-size: 8px; }
  .street-toggle-icon { width: 44px; height: 44px; }
  .street-objects { margin: 0 0 14px 0; }
  .street-object { min-height: 92px; padding: 14px; grid-template-columns: 54px minmax(0,1fr); gap: 8px 12px; }
  .street-number { align-self: start; display: grid; gap: 6px; }
  .street-number b { font-size: 20px; }
  .street-object-title b { font-size: 20px; line-height: 1.05; }
  .street-open { grid-column: 2; width: fit-content; min-height: 44px; padding: 0; border: 0; color: var(--acid); }
  .detail-topbar { top: 72px; left: 12px; right: 12px; gap: 8px; }
  .detail-top-actions { margin-left: auto; }
  .detail-status { display: none; }
  .quick-navigate { min-height: 46px; padding: 0 16px; display: inline-flex; align-items: center; border-radius: 99px; background: var(--acid); color: var(--dark); text-decoration: none; font-size: 13px; font-weight: 850; }
  .detail-main-figure { height: 84svh; }
  .detail-main-image img { object-position: center; }
  .detail-photo-title { left: var(--page); right: var(--page); bottom: 48px; max-width: none; }
  .detail-main-figure .photo-credit { right: 14px; bottom: 13px; max-width: 82%; text-align: right; }
  .detail-intro { padding-top: 62px; gap: 48px; }
  .detail-title { font-size: clamp(48px,14vw,68px); line-height: .82; }
  .detail-kicker { font-size: 8px; }
  .detail-facts div { grid-template-columns: 76px 1fr; }
  .detail-section { margin-bottom: 100px; }
  .detail-section-heading { display: block; margin-bottom: 28px; }
  .detail-section-heading > p { margin-top: 20px; }
  .detail-section-heading h2 { font-size: 58px; }
  .gallery { display: block; }
  .gallery-item { margin-bottom: 38px; }
  .gallery button { min-height: 62svh; }
  .location-grid { margin-inline: calc(-1 * var(--page)); }
  .detail-map { min-height: 56svh; }
  .location-copy { padding: 34px var(--page) calc(112px + env(safe-area-inset-bottom)); }
  .navigate-button { width: 100%; }
  .sources a { min-height: 68px; grid-template-columns: 30px 1fr auto; }
  .site-footer { display: none; }
  .mobile-dock { position: fixed; z-index: 1500; left: 12px; right: 12px; bottom: calc(10px + env(safe-area-inset-bottom)); height: 56px; padding: 5px; display: grid; grid-template-columns: repeat(3,1fr); background: rgba(10,10,10,.9); border: 1px solid rgba(255,255,255,.16); border-radius: 99px; backdrop-filter: blur(18px); }
  .mobile-dock a { display: grid; place-items: center; border-radius: 99px; color: white; text-decoration: none; font-size: 11px; font-weight: 800; }
  .mobile-dock a:last-child { background: var(--acid); color: var(--dark); }
  .leaflet-touch .leaflet-bar a,
  .leaflet-control-zoom a { width: 44px; height: 44px; line-height: 44px; font-size: 22px; }
  .leaflet-container a.leaflet-popup-close-button { width: 44px; height: 44px; padding: 8px; font-size: 22px; line-height: 28px; }
  .lightbox { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}


/* Full 119 test version additions — keeps the approved 2.1 visual system */
.discovery-switch-four{grid-template-columns:repeat(4,minmax(0,1fr))}.status-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:.2rem 0 .65rem}.status-chip{display:inline-flex;align-items:center;min-height:26px;padding:.25rem .55rem;border:1px solid var(--line,#343434);border-radius:999px;font-size:.66rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.street-chip{color:#d8ff3e;border-color:#71851f}.archive-chip{color:#ffcf5a;border-color:#796128}.uncertain-chip{color:#ffb8a8;border-color:#794a40}.photo-chip{color:#b9b6ad}.card-photo.is-placeholder img,.placeholder-figure img{object-fit:contain;background:#131313}.existence-banner{padding:1rem 1.1rem;border-left:4px solid #d8ff3e;background:#181d10;font-weight:700}.existence-banner.no_longer_exists{border-color:#ffcf5a;background:#211d12}.existence-banner.uncertain{border-color:#ff8f76;background:#211512}.media-warning{display:block;color:#ffcf5a;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem}.gallery-item figcaption{display:grid;gap:.3rem}.gallery-item figcaption small{color:#8e8b84;overflow-wrap:anywhere}.gallery-item video{display:block;width:100%;max-height:75vh;background:#050505}.navigation-actions{display:grid;gap:.7rem}.navigation-actions.compact{display:flex}.navigate-button.apple,.navigate-button.google{justify-content:center;text-align:center}.navigate-button.apple{background:#f5f3ee;color:#090909}.navigate-button.google{background:#d8ff3e;color:#090909}.navigation-unavailable{padding:1.25rem;border:1px solid #343434;background:#131313}.navigation-unavailable p{color:#aaa79f;margin-bottom:0}.mural-marker.street-art span{border-color:#d8ff3e;box-shadow:0 0 0 3px rgba(216,255,62,.22)}.mural-marker.archived span{background:#4b3c16;border-color:#ffcf5a}.popup-card small{display:block;color:#ffcf5a;margin:.35rem 0}.editorial-view{min-height:75vh;padding:clamp(6rem,10vw,9rem) max(5vw,1rem) 6rem}.editorial-shell{width:min(1160px,100%);margin:0 auto}.editorial-shell>h1{font-size:clamp(3rem,9vw,7rem);line-height:.9;margin:2rem 0 3rem}.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#343434;border:1px solid #343434}.about-grid section{background:#131313;padding:clamp(1.4rem,3vw,2.7rem);min-height:220px}.about-grid h2{font-size:clamp(1.25rem,2vw,2rem)}.owner-shell{width:min(1050px,100%)}.owner-select{display:grid;gap:.55rem;max-width:760px;margin:2rem 0}.owner-select span,.owner-form label{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:#aaa79f;font-weight:700}.owner-select select,.owner-form input,.owner-form textarea,.owner-form select{width:100%;background:#131313;color:#f5f3ee;border:1px solid #3a3a37;border-radius:4px;padding:.9rem;font:inherit}.owner-form{display:grid;gap:1.2rem;padding:clamp(1rem,3vw,2.2rem);border:1px solid #343434;background:#101010}.owner-form label{display:grid;gap:.45rem}.owner-form-actions,.owner-export{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.4rem}.owner-export p{width:100%;color:#aaa79f}.mobile-dock-five{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-dock-five a{font-size:.72rem;padding-inline:.25rem}.top-nav{gap:clamp(.7rem,2vw,2rem)}.top-nav a{white-space:nowrap}
@media(max-width:900px){.discovery-switch-four{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{grid-template-columns:1fr}.gallery-toolbar{grid-template-columns:1fr}}
@media(max-width:560px){.discovery-switch-four{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-dock-five a{font-size:.64rem}.navigation-actions.compact,.owner-form-actions,.owner-export{display:grid;grid-template-columns:1fr}.navigation-actions.compact a,.owner-form-actions button,.owner-export button{width:100%}.editorial-view{padding-left:1rem;padding-right:1rem}.top-nav{display:none}}

@media (min-width:701px) and (max-width:1100px){.top-nav{gap:2px;padding:3px}.top-nav a{padding:8px 9px;font-size:11px}.prototype-label{display:none}.site-header{grid-template-columns:auto 1fr;gap:16px}.top-nav{justify-self:end}}

@media (max-width:700px){.discovery-switch-four{grid-template-columns:repeat(2,minmax(0,1fr))}.discovery-switch-four a{min-height:64px}.discovery-switch-four a+a{border-left:1px solid rgba(255,255,255,.35);border-top:0}.discovery-switch-four a:nth-child(odd){border-left:0}.discovery-switch-four a:nth-child(n+3){border-top:1px solid rgba(255,255,255,.35)}}

@media (max-width:700px){.discovery-switch-four{bottom:calc(76px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,minmax(0,1fr))}.discovery-switch-four a{min-height:72px;padding:8px 4px;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:4px;text-align:center;place-items:center}.discovery-switch-four a+a{border-top:0;border-left:1px solid rgba(255,255,255,.35)}.discovery-switch-four a:nth-child(odd){border-left:1px solid rgba(255,255,255,.35)}.discovery-switch-four a:first-child{border-left:0}.discovery-switch-four a:nth-child(n+3){border-top:0}.discovery-switch-four b{font-size:11px;line-height:1.05}.discovery-switch-four span{font-size:7px;justify-self:center}.discovery-switch-four i{display:none}}

/* Panel właściciela 2.0 — bezpieczne zarządzanie prezentacją fotografii */
.owner-media-editor{margin-top:1rem;padding-top:1.5rem;border-top:1px solid #343434}.owner-media-heading{display:flex;justify-content:space-between;align-items:end;gap:1.25rem;margin-bottom:1rem}.owner-media-heading h3{font-size:clamp(1.5rem,3vw,2.5rem);margin:.25rem 0 0}.owner-add-photo{display:grid!important;gap:.45rem;min-width:min(100%,280px)}.owner-add-photo input{padding:.65rem!important}.owner-media-list{display:grid;gap:.75rem;margin-top:1.25rem}.owner-media-item{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.75rem;border:1px solid #343434;background:#131313}.owner-media-item.is-hidden{opacity:.58;border-style:dashed}.owner-media-preview{width:120px;aspect-ratio:4/3;background:#202020;display:grid;place-items:center;overflow:hidden}.owner-media-preview img{width:100%;height:100%;object-fit:cover}.owner-media-added-preview{width:100%;height:100%;display:grid;place-items:center;color:#aaa79f;text-transform:uppercase;font-size:.68rem;letter-spacing:.08em}.owner-media-info{display:grid;gap:.3rem;min-width:0}.owner-media-info b,.owner-media-info small,.owner-media-info code{overflow-wrap:anywhere}.owner-media-info small{color:#aaa79f}.owner-media-info code{font-size:.7rem;color:#d8ff3e}.owner-media-actions{display:grid;grid-template-columns:minmax(130px,1fr) minmax(160px,1fr) 44px 44px;gap:.4rem}.owner-media-actions button{min-height:44px;padding:.55rem .7rem;border:1px solid #4a4a46;background:#1a1a1a;color:#f5f3ee;font:inherit;font-size:.75rem;cursor:pointer}.owner-media-actions button:hover:not(:disabled),.owner-media-actions button:focus-visible{border-color:#d8ff3e;color:#d8ff3e}.owner-media-actions button:disabled{opacity:.4;cursor:not-allowed}.owner-media-empty{padding:1.25rem;border:1px dashed #4a4a46;color:#aaa79f}.owner-export .navigate-button.apple{background:#f5f3ee;color:#090909}
@media(max-width:900px){.owner-media-item{grid-template-columns:92px minmax(0,1fr)}.owner-media-preview{width:92px}.owner-media-actions{grid-column:1/-1;grid-template-columns:1fr 1fr 44px 44px}}
@media(max-width:560px){.owner-media-heading{display:grid;align-items:stretch}.owner-media-item{grid-template-columns:72px minmax(0,1fr);gap:.75rem}.owner-media-preview{width:72px}.owner-media-actions{grid-template-columns:1fr 1fr}.owner-media-actions button:nth-last-child(-n+2){min-width:44px}.owner-add-photo{min-width:0}}

/* Wersja 2.2 — większy blok Wiedźmina, trasy spacerowe i prywatne statusy zdjęć */
.hero-copy{max-width:940px}.hero h1{font-size:clamp(82px,11.2vw,184px)}.hero-lead{max-width:610px;font-size:clamp(18px,1.65vw,26px);line-height:1.38}.discovery-switch-five{grid-template-columns:repeat(5,minmax(0,1fr))}.discovery-switch-five a{grid-template-columns:26px minmax(0,1fr) auto;padding-inline:clamp(10px,1.25vw,20px);gap:8px}.discovery-switch-five b{font-size:clamp(14px,1.35vw,22px);line-height:1.05}.tours-view{min-height:100vh;padding:clamp(7rem,10vw,10rem) var(--page) 8rem}.tours-shell{width:min(1420px,100%);margin:0 auto}.tours-shell>h1{font-size:clamp(3.8rem,9vw,9rem);line-height:.82;letter-spacing:-.07em;margin:2rem 0}.tours-intro{max-width:850px;color:#aaa79f;font-size:clamp(1.05rem,1.7vw,1.45rem);line-height:1.55}.tours-list{display:grid;gap:clamp(3rem,7vw,7rem);margin-top:clamp(4rem,8vw,8rem)}.tour-card{border-top:1px solid #484845;padding-top:1.5rem}.tour-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:start;margin-bottom:2rem}.tour-header h2{font-size:clamp(2.3rem,5vw,5.4rem);line-height:.9;letter-spacing:-.055em;margin:.45rem 0}.tour-header p{color:#aaa79f;margin:0}.tour-number{color:#d8ff3e;font:700 .7rem/1 ui-monospace,monospace}.tour-summary{display:grid;min-width:210px;border:1px solid #3a3a37;background:#131313}.tour-summary>*{padding:.75rem 1rem;border-bottom:1px solid #3a3a37}.tour-summary>*:last-child{border-bottom:0}.tour-summary b{color:#d8ff3e;font-size:1.15rem}.tour-summary span{color:#aaa79f}.tour-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:1px;background:#343434;border:1px solid #343434}.tour-map{min-height:690px;background:#171717}.tour-copy{background:#0d0d0d;padding:clamp(1rem,2.4vw,2rem)}.tour-stops{list-style:none;padding:0;margin:0;display:grid}.tour-stops li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:.75rem;padding:1rem 0;border-bottom:1px solid #343434}.tour-stop-number{color:#d8ff3e;font:700 .7rem/1.5 ui-monospace,monospace}.tour-stops b{display:block;font-size:1.02rem}.tour-stops small{display:block;color:#aaa79f;margin-top:.25rem}.tour-stop-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.tour-stop-actions a{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .65rem;border:1px solid #42423f;color:#f5f3ee;text-decoration:none;font-size:.72rem;font-weight:750}.tour-stop-actions a:hover{border-color:#d8ff3e;color:#d8ff3e}.tour-actions{margin-top:1.2rem}.tour-method{color:#77746e;font-size:.73rem;line-height:1.5;margin:1rem 0 0}.tour-map .leaflet-control-attribution{font-size:9px}.owner-photo-status{padding:1rem;border:1px solid #3d3d39;background:#181818}.owner-photo-status dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#343434;margin:.8rem 0 0}.owner-photo-status dl>div{background:#111;padding:.8rem}.owner-photo-status dt{color:#aaa79f;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em}.owner-photo-status dd{margin:.35rem 0 0;overflow-wrap:anywhere}.mobile-dock-six{grid-template-columns:repeat(6,minmax(0,1fr))}.mobile-dock-six a{font-size:.67rem;padding-inline:.15rem}
@media(max-width:980px){.tour-layout{grid-template-columns:1fr}.tour-map{min-height:54vh}.tour-header{grid-template-columns:1fr}.tour-summary{grid-template-columns:repeat(3,1fr);min-width:0}.tour-summary>*{border-bottom:0;border-right:1px solid #3a3a37}.tour-summary>*:last-child{border-right:0}}
@media(max-width:700px){.hero-copy{padding-bottom:248px;translate:0}.hero h1{font-size:clamp(76px,23vw,108px)}.hero-lead{font-size:18px;max-width:95%}.discovery-switch-five{bottom:calc(76px + env(safe-area-inset-bottom));grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.32);backdrop-filter:blur(12px)}.discovery-switch-five a{min-height:56px;padding:7px 5px;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:3px;text-align:center;place-items:center}.discovery-switch-five a+a{border-left:1px solid rgba(255,255,255,.35)}.discovery-switch-five a:nth-child(4){border-left:0}.discovery-switch-five a:nth-child(n+4){border-top:1px solid rgba(255,255,255,.35)}.discovery-switch-five b{font-size:10px;line-height:1.08}.discovery-switch-five span{font-size:7px;justify-self:center}.discovery-switch-five i{display:none}.mobile-dock-six{height:60px}.mobile-dock-six a{font-size:.6rem}.tours-view{padding-inline:1rem;padding-bottom:calc(8rem + env(safe-area-inset-bottom))}.tour-header h2{font-size:clamp(2.5rem,13vw,4.2rem)}.tour-summary{grid-template-columns:1fr}.tour-summary>*{border-right:0;border-bottom:1px solid #3a3a37}.tour-summary>*:last-child{border-bottom:0}.tour-map{min-height:52vh}.tour-copy{padding:1rem}.tour-stops li{grid-template-columns:34px minmax(0,1fr)}.tour-stop-actions{display:grid;grid-template-columns:1fr 1fr}.tour-stop-actions a:first-child{grid-column:1/-1}.owner-photo-status dl{grid-template-columns:1fr}}
@media(max-width:380px){.mobile-dock-six a{font-size:.54rem}.hero h1{font-size:clamp(70px,22vw,88px)}}

/* Panel właściciela 2.3 — trwałe szkice i publikacja nowych kart */
.owner-server-panel{margin:2.5rem 0;padding:clamp(1rem,3vw,2rem);border:1px solid #52611d;background:linear-gradient(135deg,#15190d,#101010 48%)}.owner-server-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start}.owner-server-heading h2{font-size:clamp(2rem,4vw,4.5rem);line-height:.9;margin:.4rem 0 1rem}.server-only-badge{display:inline-flex;align-items:center;min-height:32px;padding:.4rem .7rem;border:1px solid #71851f;border-radius:99px;color:#d8ff3e;font-size:.7rem;font-weight:800;letter-spacing:.07em}.owner-server-controls{display:grid;grid-template-columns:minmax(220px,.45fr) minmax(320px,1fr);gap:1rem;align-items:end;margin:1rem 0}.owner-server-controls>.navigate-button{min-height:52px}.owner-server-panel #owner-server-status,.new-card-form #new-card-status{color:#d8ff3e;min-height:1.5em}.owner-server-panel .is-error,.new-card-form .is-error{color:#ff8f76!important}.owner-divider{border:0;border-top:1px solid #343434;margin:4rem 0}.new-card-form{margin-top:2rem}.new-card-title{display:flex;justify-content:space-between;gap:1rem;align-items:center}.new-card-title h2{font-size:clamp(2.3rem,5vw,5rem);margin:.3rem 0}.new-card-version{color:#aaa79f}.new-card-gps{border:1px solid #3a3a37;padding:1rem}.new-card-gps legend{padding:0 .5rem;color:#d8ff3e;font-weight:800}.new-card-gps>div,.new-card-uploads{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.owner-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;margin-bottom:1rem}.owner-check input{width:auto!important}.new-card-media-summary{display:grid;gap:.35rem;padding:1rem;border:1px solid #343434;background:#0d0d0d}.new-card-media-summary span{color:#aaa79f;overflow-wrap:anywhere}.new-card-publish{margin-top:1rem;padding:1.25rem;border:1px solid #796128;background:#211d12}.new-card-publish code{color:#ffcf5a}.new-card-publish input{margin:.75rem 0}.new-card-publish button{width:100%;min-height:52px}
@media(max-width:700px){.owner-server-heading{display:grid}.owner-server-controls,.new-card-gps>div,.new-card-uploads{grid-template-columns:1fr}.new-card-title{display:grid}.owner-server-panel{padding:1rem;margin-inline:-.25rem}}

/* Korekta strony głównej — czytelny wyróżniony Wiedźmin bez zmiany głównego hasła */
.hero-object{max-width:min(46vw,760px);padding:clamp(18px,2.2vw,34px);border:1px solid rgba(255,255,255,.34);border-radius:3px;background:linear-gradient(120deg,rgba(0,0,0,.82),rgba(0,0,0,.52));box-shadow:0 18px 60px rgba(0,0,0,.38);backdrop-filter:blur(9px) saturate(1.15)}
.hero-object span{color:rgba(255,255,255,.88);font-size:clamp(9px,.72vw,12px);text-shadow:0 2px 12px rgba(0,0,0,.9)}
.hero-object b,#hero-title{max-width:100%;margin-top:clamp(12px,1.4vw,20px);color:#fff;font-size:clamp(54px,5.25vw,86px);font-weight:900;line-height:.86;letter-spacing:-.065em;overflow-wrap:anywhere;text-shadow:0 3px 3px rgba(0,0,0,.92),0 8px 28px rgba(0,0,0,.95)}
.hero-object small{max-width:520px;margin-top:14px;color:rgba(255,255,255,.92);font-size:clamp(12px,.95vw,15px);font-weight:650;line-height:1.35;text-shadow:0 2px 12px #000}
.hero-lead strong{font:inherit;color:inherit}
@media(max-width:980px){.hero-object{display:flex;top:auto;right:var(--page);bottom:calc(212px + env(safe-area-inset-bottom));translate:0;max-width:min(72vw,620px);padding:18px 20px}.hero-object b,#hero-title{font-size:clamp(42px,7vw,64px)}.hero-object small{font-size:12px}}
@media(max-width:700px){.hero-object{top:82px;left:auto;right:var(--page);bottom:auto;width:min(78vw,330px);max-width:none;padding:13px 15px;align-items:flex-end;text-align:right;background:linear-gradient(110deg,rgba(0,0,0,.88),rgba(0,0,0,.62))}.hero-object span{font-size:8px}.hero-object b,#hero-title{margin-top:7px;font-size:clamp(36px,11.5vw,50px);line-height:.88}.hero-object small{display:none}}
@media(max-width:380px){.hero-object{top:76px;width:min(80vw,300px);padding:11px 13px}.hero-object b,#hero-title{font-size:clamp(34px,10.8vw,43px)}}

/* O nas — zatwierdzony tekst właścicieli */
.about-final-shell{max-width:980px}.about-original-text{max-width:880px;margin-top:clamp(2.5rem,6vw,5rem);font-size:clamp(1.35rem,2.5vw,2.25rem);line-height:1.5;letter-spacing:-.025em}.about-original-text p{margin:0 0 1.6em}.about-original-text .about-signature{color:#d8ff3e;font-weight:750;white-space:pre-line}

/* Mobilna karta potwierdzonego nieistniejącego muralu — komunikat ponad stałą nawigacją */
@media(max-width:700px){.detail-view.is-confirmed-nonexistent .detail-main-figure{height:68svh}}

/* Kontakt i informacja prawna w istniejącej zakładce O nas */
.about-info-section{max-width:880px;margin-top:clamp(3.5rem,8vw,7rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line)}
.about-info-section h2{max-width:760px;margin:.35rem 0 1.4rem;font-size:clamp(2rem,5vw,4.5rem);line-height:.95;letter-spacing:-.055em;text-transform:uppercase}
.about-info-section a,.legal-notice a,.site-footer a[href^="mailto:"]{color:#d8ff3e;text-underline-offset:.22em;overflow-wrap:anywhere}
.about-info-section>p:last-child{font-size:clamp(1.1rem,2vw,1.45rem)}
.legal-notice{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65;max-width:800px}
.legal-notice p{margin:0 0 1.15em}

/* Pełne fotografie w kartach — bez kadrowania plików i bez zniekształcania proporcji */
.detail-main-figure{height:auto;background:#090909}
.detail-main-image{position:relative;display:grid;place-items:center;height:min(78svh,920px);overflow:hidden;background:radial-gradient(circle at 50% 42%,#292929 0,#151515 48%,#080808 100%)}
.detail-main-image img,.detail-main-figure[data-object-id="ML-063"] .detail-main-image img{width:100%;height:100%;object-fit:contain;object-position:center;position:relative;z-index:1}
.detail-main-figure::after{display:none}
.detail-photo-title{position:relative;left:auto;right:auto;bottom:auto;max-width:1200px;padding:clamp(34px,5vw,76px) var(--page) clamp(22px,3vw,44px);background:#090909}
.detail-main-figure .photo-credit{position:relative;right:auto;bottom:auto;display:block;margin:0;padding:0 var(--page) 28px;text-align:left;color:rgba(255,255,255,.65)}
@media(max-width:700px){
  .detail-main-figure,.detail-view.is-confirmed-nonexistent .detail-main-figure{height:auto}
  .detail-main-image{height:68svh;min-height:430px}
  .detail-photo-title{position:relative;left:auto;right:auto;bottom:auto;max-width:none;padding:28px var(--page) 20px}
  .detail-main-figure .photo-credit{position:relative;right:auto;bottom:auto;max-width:none;padding:0 var(--page) 22px;text-align:left}
}
@media(max-width:380px){.detail-main-image{height:64svh;min-height:390px}}

/* Stabilny obszar obrazu: procentowa wysokość nie może powiększać elementu poza przycisk. */
.detail-main-image img,.detail-main-figure[data-object-id="ML-063"] .detail-main-image img{position:absolute;inset:0;max-width:100%;max-height:100%;margin:auto}

/* Na mobilnej karcie nawigacja pozostaje dostępna na końcu treści, ale nie zasłania tytułu ani fotografii. */
@media(max-width:700px){body.detail-route .mobile-dock{position:relative;left:auto;right:auto;bottom:auto;transform:none;width:calc(100% - 24px);margin:0 12px 18px}}

/* Galerie wielozdjęciowe także pokazują pełne kadry; powiększenie nadal otwiera lightbox. */
.gallery button{min-height:0;aspect-ratio:4/3;display:grid;place-items:center;background:radial-gradient(circle at center,#252525,#0b0b0b)}
.gallery img{width:100%;height:100%;object-fit:contain;object-position:center}
@media(max-width:700px){.gallery button{aspect-ratio:3/4}}

.gallery button{position:relative;overflow:hidden}.gallery img{position:absolute;inset:0;max-width:100%;max-height:100%;margin:auto}

/* Testowy panel właściciela: dwa wyraźne tryby i trwałe szkice istniejących kart. */
.owner-mode-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.owner-mode-nav button{min-height:58px;border:1px solid var(--line);border-radius:999px;background:#151515;color:var(--paper);font:700 14px/1 var(--sans);cursor:pointer}.owner-mode-nav button:first-child{background:var(--lime);color:#050505}.owner-auth-panel{padding:22px;border:1px solid var(--line);border-radius:24px;background:#0d0d0d;margin-bottom:22px}.owner-existing-history{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.owner-existing-history label{margin:0}.owner-existing-history select{width:100%}.owner-server-panel{scroll-margin-top:24px}
@media(max-width:700px){.owner-mode-nav{grid-template-columns:1fr}.owner-existing-history{grid-template-columns:1fr}.owner-existing-history button{min-height:48px}}

.owner-existing-publish{display:grid;gap:12px;margin-top:28px;padding:22px;border:1px solid rgba(198,255,0,.45);border-radius:22px;background:rgba(198,255,0,.045)}.owner-existing-publish p,.owner-existing-publish small{margin:0}.owner-existing-publish input{width:100%}.owner-existing-publish .navigate-button{justify-self:start;text-decoration:none}.owner-existing-publish [hidden]{display:none!important}
@media(max-width:700px){.owner-existing-publish .navigate-button{width:100%;justify-content:center}}
