/* Ściana zdjęć i niezależna karuzela opinii; treść dostępna również bez JS. */
.project-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.5rem;margin-top:1.5rem}
.project-wall-more:not([open])>summary>.project-wall-more__open,
.project-wall-more[open]>summary>.project-wall-more__closed,
.project-wall-more>summary>[hidden]{display:none}
html:not(.js) .project-wall-more>.project-wall-collapse{display:none}
.project-wall .realcard{min-width:0;margin:0;align-content:start}
.project-wall .realcard-media{display:block;border-radius:var(--r-md);overflow:hidden}
.project-wall .realcard img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.project-wall .realcard:hover{transform:none}
.project-wall figcaption{margin-top:.85rem;font-size:var(--fs-body);line-height:1.55;color:var(--slate)}
.project-wall figcaption strong{display:block;font-family:var(--font-head);font-size:clamp(1.4rem,1.1rem + .6vw,1.8rem);font-weight:600;line-height:1.35;color:var(--ink)}
.realcard-facts{display:block;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--accent-text);margin-top:.45rem}
.realcard-credit{display:block;font-size:var(--fs-xs);line-height:1.5;color:var(--slate);margin:0 0 .4rem}
.realcard-details{margin-top:.65rem;border-top:1px solid var(--line)}
.realcard-details summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;cursor:pointer;list-style:none;font-size:var(--fs-sm);font-weight:600}
.realcard-details summary::-webkit-details-marker{display:none}
.realcard-details summary::after{content:'';width:.5rem;height:.5rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);flex-shrink:0;margin-right:.3rem}
.realcard-details[open] summary::after{transform:rotate(225deg)}
.realcard-details p{font-size:var(--fs-sm);margin:.25rem 0 .5rem}
.realcard-details summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
.project-rail{display:flex;gap:1.5rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:1rem .2rem 1.5rem;scroll-padding-inline:.2rem;scrollbar-color:var(--accent-text) var(--mist)}
.project-rail:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}
.project-rail>*{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start}
.references-section{background:var(--mist);overflow:hidden}
.references-section .eyebrow{color:var(--accent-text)}
.references-section h2{max-width:22ch}
.references-section .lead{max-width:52ch}
.reference-rail{gap:1.25rem;scrollbar-width:none;padding:1.5rem .15rem .5rem}
.reference-rail::-webkit-scrollbar{display:none}
.reference-rail>.reference-story{flex-basis:calc(46% - .625rem)}
.reference-story{position:relative;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}
.reference-story::before{content:"";position:absolute;inset:0 auto auto 2rem;width:3.5rem;height:4px;background:var(--accent)}
.reference-story__body{display:flex;flex-direction:column;height:100%;padding:2rem}
.reference-story blockquote{position:relative;margin:0 0 1.75rem;padding:2.5rem 0 0;border:0;font-family:var(--font-head);color:var(--ink);font-size:clamp(1.5rem,1.2rem + .65vw,2rem);line-height:1.4;font-weight:500;font-style:normal;text-wrap:pretty}
.reference-story blockquote::before{content:"“";position:absolute;top:-.4rem;left:0;font-family:Georgia,serif;font-size:4.5rem;line-height:1;color:var(--accent-text)}
.reference-story__issuer{font-size:var(--fs-body);font-weight:650;color:var(--accent-text);margin: auto 0 0;padding-top:.5rem}
.reference-story__issuer span{display:block;font-size:var(--fs-sm);color:var(--slate);font-weight:400;margin-top:.35rem}
.reference-story__meta{display:flex;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--fs-xs);line-height:1.65;color:var(--slate);border-top:1px solid var(--line);padding-top:1rem;margin:1.25rem 0 0}
.reference-story__meta span{font-variant-numeric:tabular-nums;white-space:nowrap}
.reference-story__beneficiary{font-size:var(--fs-xs);line-height:1.6;color:var(--slate);margin:.65rem 0 0}
.rail-controls{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
.rail-controls[hidden],.rail-controls button[hidden]{display:none}
.rail-controls button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:50%;cursor:pointer;font:inherit;font-size:1.25rem}
.rail-controls button:disabled{opacity:.4;cursor:default}
.rail-controls button:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--white)}
.rail-controls button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
.rail-controls .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.rail-playback{margin-right:auto}
.rail-playback span{width:12px;height:14px;border-left:4px solid currentColor;border-right:4px solid currentColor}
.rail-playback[data-state="paused"] span{width:0;height:0;border:7px solid transparent;border-right:0;border-left:11px solid currentColor;margin-left:3px}
@media(max-width:1099px){.project-wall{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:719px){.project-wall{grid-template-columns:minmax(0,1fr)}.project-rail{gap:1rem}.reference-rail>.reference-story{flex-basis:90%}.reference-story__body{padding:1.5rem}.reference-story::before{left:1.5rem}.reference-story blockquote{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){.project-rail{scroll-behavior:auto}}

.reference-story__scope{font-size:var(--fs-sm);line-height:1.6;color:var(--slate);margin:.75rem 0 0}

.realcard-head { display: block; }
@supports (grid-template-rows: subgrid) {
  .project-wall > .realcard {
    grid-row: span 3;
    grid-template-rows: subgrid;
    row-gap: 0;
  }
  .project-wall > .realcard > .realcard-media { margin-bottom: var(--s-2); }
  .project-wall > .realcard > figcaption {
    grid-row: span 2;
    display: grid;
    /* Region links need their own rows, including cards with two links. */
    grid-template-rows: auto;
    row-gap: 0;
  }
}

/* Wspólna oś tekstu i wezwania do rozmowy. */
.realizacje-most__panel{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(2rem,5vw,5rem);row-gap:var(--s-3);align-items:center}
.realizacje-most__panel>h2,.realizacje-most__panel>.lead{grid-column:1;margin:0}
.realizacje-most__panel>.btn{grid-column:2;grid-row:1 / span 2;margin:0}
.realizacje-most h2,.realizacje-most .lead{color:var(--white)}
@media(max-width:819px){.realizacje-most__panel{grid-template-columns:minmax(0,1fr)}.realizacje-most__panel>.btn{grid-column:1;grid-row:auto;justify-self:start}}

.project-wall.is-ready>[data-more]:not(.is-shown){display:none}
.project-wall-actions{margin-top:2rem}
.project-wall-next{display:inline-flex;align-items:center;gap:1rem;min-height:44px;padding:.75rem 1.25rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--white);color:var(--ink);font:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}
.project-wall-next[hidden]{display:none}
.project-wall-next::after{content:"";width:.5rem;height:.5rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);flex-shrink:0}
.project-wall-next:hover{border-color:var(--ink)}
.project-wall-next:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}

/* Realizacje bez fotografii pozostają czytelnymi kartami tekstowymi. */
.project-wall>.realcard--text>figcaption{grid-row:1 / -1;display:flex;flex-direction:column;justify-content:center;gap:var(--s-4);min-height:20rem;margin:0;padding:clamp(1.25rem,3vw,2rem);border-left:3px solid var(--accent);background:var(--mist)}
