/* Podstrony projektów i darowizn — spójne z paletą marki. */
.project-section { background: #f1f5f7; min-height: 65vh; }
.project-heading { max-width: 900px; margin: 0 auto 3rem; padding-top: 2.5rem; text-align: center; }
.project-heading h1 { font-family: var(--font-heading); font-size: clamp(2.1rem, 5vw, 3.8rem); line-height: 1.13; color: #10253e; margin: .75rem 0 1.25rem; }
.project-heading p { color: #415563; line-height: 1.75; font-size: clamp(1rem, 2vw, 1.18rem); }
.project-heading a, .project-docs a, .project-back a, .project-callout a, .support-notice a { color: #006c71; text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }
.project-eyebrow { font-size: .86rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; color: #007f84; }
.project-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.project-tile { min-width: 0; padding: 1.6rem; display: flex; flex-direction: column; gap: .9rem; background: rgba(255,255,255,.94); }
.project-tile img { width: 100%; height: 190px; object-fit: contain; border-radius: 12px; background: #e5eff0; }
.project-tile h2, .project-detail h2, .project-callout h2, .support-notice h2 { color: #10253e; font-family: var(--font-heading); }
.project-tile p { line-height: 1.7; color: #415563; flex: 1; }
.project-tile-icon { height: 190px; display: grid; place-items: center; font-size: 5rem; border-radius: 12px; background: #e5eff0; }
.project-status { color: #007f84; font-size: .8rem; letter-spacing: .04em; font-weight: 800; text-transform: uppercase; }
.project-link { font-weight: 800; color: #006c71; text-decoration: underline; text-underline-offset: 3px; }
.project-callout, .project-docs, .support-notice { padding: clamp(1.5rem,4vw,2.8rem); max-width: 1000px; margin: 2.5rem auto; }
.project-callout p, .project-docs p, .support-notice p { margin: 1rem 0; line-height: 1.7; color: #415563; }
.project-breadcrumb { color: #415563; margin: -1.5rem 0 1.5rem; text-align: left; font-size: .9rem; }
.project-breadcrumb a { color: #006c71; }
.project-cover { margin: 0 auto 2.5rem; max-width: 850px; text-align: center; }
.project-cover img { max-width: 100%; width: 100%; max-height: 330px; object-fit: contain; border-radius: 16px; background: #e5eff0; padding: 1rem; }
.project-cover figcaption { color: #415563; padding: .5rem; font-size: .88rem; }
.project-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.project-detail-grid section { padding: clamp(1.5rem,3vw,2.5rem); background: white; }
.project-detail-grid p { margin-top: 1rem; line-height: 1.75; color: #415563; }
.project-back { margin-top: 2rem; }
.support-heading { padding-top: 5rem; }
.support-notice { margin-bottom: 5rem; }
@media(max-width: 850px) { .project-grid, .project-detail-grid { grid-template-columns: 1fr; } }
@media(max-width: 600px) { .project-heading { padding-top: 1.5rem; } .project-section { padding-top: 3rem; } .project-tile { padding: 1.2rem; } }

/* Portfolio badawcze: istniejące ilustracje repozytoryjne i czytelny opis metod. */
.project-heading { max-width: 950px; }
.project-heading p { max-width: 850px; margin-inline: auto; }
.project-status-line { margin-top: 1.5rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .85rem 1.5rem; color: #415563; font-size: .89rem; }
.project-status-line .project-status { border: 1px solid #a2cccc; border-radius: 99px; padding: .45rem .9rem; background: #e7f3f0; }
.project-cover-research img { max-height: 450px; background: #fff; }
.project-cover figcaption { font-size: .87rem; line-height: 1.6; }
.project-cover figcaption a { color: #006c71; text-decoration: underline; font-weight: 600; }
.project-research-gallery { margin: 3.5rem auto; }
.project-gallery-intro { text-align: center; margin: 0 auto 1.8rem; max-width: 800px; }
.project-gallery-intro h2 { font-family: var(--font-heading); font-size: clamp(1.5rem, 3vw, 2.2rem); color: #10253e; }
.project-gallery-intro p { color: #415563; margin-top: .8rem; line-height: 1.65; }
.project-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.project-gallery-grid figure { overflow: hidden; padding: 1.2rem; background: #fff; }
.project-gallery-grid img { width: 100%; height: 260px; object-fit: contain; background: #f1f5f7; border-radius: 10px; display: block; }
.project-gallery-grid figcaption { padding: .9rem .2rem .25rem; line-height: 1.6; font-size: .9rem; color: #415563; }
.project-gallery-grid a, .project-support-inline a, .project-link-row a, .support-projects a:not(.project-link) { color: #006c71; text-decoration: underline; text-underline-offset: 3px; font-weight: 650; }
.project-docs { max-width: none; }
.project-link-row { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; }
.project-support-inline { max-width: none; margin-top: 1.5rem; padding: 2.1rem; border-left: 4px solid #007f84; }
.project-support-inline p { margin: .75rem 0 1rem; line-height: 1.7; color: #415563; }
.project-tile-media { display: block; }
.project-tile-type { font-family: var(--font-heading); font-weight: 800; font-size: 3rem; color: #10253e; letter-spacing: .06em; }
.support-projects { background: #e5eff0; scroll-margin-top: 95px; }
.support-grid .project-tile { padding: 2rem; }
.support-grid .project-tile h3 { color: #10253e; font-family: var(--font-heading); font-size: 1.45rem; }
.support-grid .project-tile p { flex: 0; }
.support-grid .project-tile .project-link { margin-top: auto; }
.project-section { scroll-margin-top: 90px; }
@media (max-width: 850px) { .project-gallery-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .project-gallery-grid img { height: 220px; } .project-support-inline { padding: 1.4rem; } .support-grid .project-tile { padding: 1.4rem; } }

/* Portfolio: cztery równorzędne projekty w układzie 2x2. */
.project-grid.project-portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 850px) {
  .project-grid.project-portfolio-grid { grid-template-columns: 1fr; }
}
