.project-open{display:block;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.projects>.project[hidden],#more-projects[hidden]{display:none!important}
.portfolio-more{display:flex;justify-content:center;margin-top:48px}
.portfolio-more:has(button[hidden]){display:none}
.project-open .project-visual{display:block;aspect-ratio:1;isolation:isolate}
.project-wide .project-open .project-visual{aspect-ratio:1.8}
.project-visual img{transition:transform .5s ease}
.project-open:hover .project-visual img{transform:scale(1.035)}
.project-view{position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:24px;border-radius:99px;padding:12px 18px;background:#0a0a0a;color:#fff;font-size:13px}
.project-view>span{color:var(--accent);font-size:20px}
.project-name{display:block;font-size:26px;line-height:1.15;margin-top:9px}
.project-note{display:block}
.project-open:focus-visible{outline:2px solid var(--accent);outline-offset:8px}
body.gallery-open{overflow:hidden}
.project-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--bg);color:var(--white);overflow-y:auto;overscroll-behavior:contain}
.project-dialog::backdrop{background:#0a0a0aee}
.gallery-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px var(--gutter);border-bottom:1px solid var(--line);background:var(--bg)}
.gallery-close{display:flex;align-items:center;gap:22px;padding:8px 16px;background:none;border:1px solid var(--line);border-radius:99px;color:var(--white);font:inherit;cursor:pointer;min-height:48px}
.gallery-close span{font-size:28px;line-height:1;color:var(--accent)}
.gallery-inner{max-width:1320px;margin:auto;padding:60px var(--gutter) 80px}
.gallery-heading{padding-bottom:48px}.gallery-heading .eyebrow{color:var(--accent)}
.gallery-heading h2{margin:18px 0;font-size:clamp(44px,7vw,100px)}
#gallery-count{font-size:14px;color:var(--muted)}
#gallery-images{display:grid;gap:34px}
#gallery-images figure{margin:0;min-width:0}
#gallery-images img{display:block;width:100%;height:auto;background:var(--surface)}
#gallery-images figcaption{font:11px var(--mono);text-align:right;color:var(--muted);padding-top:10px}
.gallery-return{margin-top:48px}
@media(max-width:760px){.project-wide .project-open .project-visual{aspect-ratio:1}.project-name{font-size:24px}.project-view{right:12px;bottom:12px;font-size:12px}.gallery-bar{padding:12px 20px}.gallery-bar>.eyebrow{font-size:9px}.gallery-inner{padding:36px 20px 50px}.gallery-heading{padding-bottom:30px}#gallery-images{gap:22px}}
@media(prefers-reduced-motion:reduce){.project-visual img{transition:none}.project-open:hover .project-visual img{transform:none}}
.motion-paused .project-visual img{transition:none}

/* Reakcja CTA również przy fokusie klawiatury i dotyku. */
.project-view{transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease}
.project-view>span{display:inline-block;transition:transform .3s cubic-bezier(.2,.8,.2,1),color .25s ease}
@media(hover:hover) and (pointer:fine){
  #realizacje .project-open:hover .project-view{background:#5be7c3;color:#10231c;box-shadow:0 5px 18px #10231c26;transform:translateY(-3px)}
  #realizacje .project-open:hover .project-view>span{color:#10231c;transform:translate(3px,-3px)}
}
#realizacje .project-open:focus-visible .project-view{background:#5be7c3;color:#10231c;transform:translateY(-3px)}
#realizacje .project-open:focus-visible .project-view>span{color:#10231c;transform:translate(3px,-3px)}
#realizacje .project-open:active .project-view{background:#5be7c3;color:#10231c;transform:scale(.96)}
#realizacje .project-open:active .project-view>span{color:#10231c}
@media(prefers-reduced-motion:reduce){.project-view,.project-view>span{transition:none!important;transform:none!important}}
.motion-paused .project-view,.motion-paused .project-view>span{transition:none!important;transform:none!important}

