/* CERAMIKA CZUŁA NA ŚWIAT — wersja robocza strony
   Bez zewnętrznych fontów i bibliotek. */

:root{
  --paper:#f7f4ee;
  --paper-2:#ece6da;
  --ink:#22251f;
  --muted:#64685f;
  --forest:#274b3b;
  --forest-2:#183229;
  --clay:#a86546;
  --clay-light:#d9b39c;
  --turq:#317b7a;
  --line:#d7d0c3;
  --white:#fff;
  --shadow:0 18px 50px rgba(27,35,29,.10);
  --radius:22px;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height:1.65;
}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit}

.skip-link{
  position:absolute;
  left:1rem;
  top:-5rem;
  padding:.75rem 1rem;
  background:#fff;
  color:#000;
  z-index:999;
  border-radius:.5rem;
}
.skip-link:focus{top:1rem}

.container{width:min(var(--max), calc(100% - 2rem)); margin-inline:auto}
.narrow{max-width:820px}
.section{padding:6.5rem 0}
.section-soft{background:var(--paper-2)}
.section-dark{background:var(--forest-2); color:#f5f2e9}
.section-dark .section-kicker{color:#b9d7cc}

.topbar{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(247,244,238,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(39,75,59,.14);
}
.nav-wrap{
  display:flex;
  gap:1.5rem;
  align-items:center;
  justify-content:space-between;
  min-height:70px;
}
.brand{
  display:flex;
  gap:.65rem;
  align-items:center;
  font-weight:800;
  text-decoration:none;
}
.brand-dot{width:12px;height:12px;border-radius:50%;background:var(--clay)}
.nav{display:flex;gap:1.15rem;list-style:none;margin:0;padding:0;flex-wrap:wrap;justify-content:flex-end}
.nav a{text-decoration:none;font-size:.92rem;font-weight:700;color:#384038}
.nav a:hover,.nav a:focus-visible{color:var(--clay)}
a:focus-visible,summary:focus-visible{outline:3px solid #f2b858; outline-offset:4px}

.hero{
  min-height:84vh;
  position:relative;
  display:grid;
  align-items:end;
  overflow:hidden;
  background:#1f2c25;
}
.hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(16,28,23,.86) 0%,rgba(16,28,23,.52) 52%,rgba(16,28,23,.15) 100%),
             linear-gradient(0deg,rgba(16,28,23,.75) 0%,rgba(16,28,23,0) 58%);
}
.hero-content{
  position:relative;
  z-index:2;
  color:white;
  padding-top:8rem;
  padding-bottom:6rem;
}
.eyebrow,.section-kicker{
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:900;
}
.eyebrow{color:#e8d8cb}
.section-kicker{color:var(--clay);margin:0 0 .75rem}
.hero h1{
  font-size:clamp(3.4rem, 8vw, 7.4rem);
  line-height:.93;
  max-width:900px;
  margin:.2rem 0 1.2rem;
  letter-spacing:-.055em;
}
.hero-subtitle{
  max-width:820px;
  margin:0 0 1rem;
  font-size:clamp(1.2rem,2.3vw,1.8rem);
  line-height:1.3;
  font-weight:500;
}
.hero-author{font-weight:800;margin:0 0 2rem}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:.75rem 1.1rem;
  border-radius:999px;
  font-weight:800;
  text-decoration:none;
  transition:.2s ease;
}
.button-light{background:white;color:var(--forest-2)}
.button-light:hover{transform:translateY(-2px)}
.button-outline{border:1px solid rgba(255,255,255,.5);color:white}
.button-outline:hover{background:white;color:var(--forest-2)}

h2{
  font-size:clamp(2.2rem,4.6vw,4rem);
  letter-spacing:-.04em;
  line-height:1.04;
  margin:.25rem 0 1.5rem;
}
h3{line-height:1.25}
.lead{font-size:1.25rem;line-height:1.55}
.section-intro{max-width:820px;font-size:1.12rem;color:var(--muted);margin-bottom:2.2rem}
.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center}
.align-start{align-items:start}

.photo-card{
  margin:0;
  background:white;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.photo-card img{aspect-ratio:4/5;object-fit:cover}
.photo-card figcaption{padding:1rem 1.2rem 1.2rem;color:var(--muted);font-size:.9rem}

.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.4rem}
.pillar{background:rgba(255,255,255,.55);border:1px solid rgba(39,75,59,.12);border-radius:18px;padding:1.4rem}
.pillar .number{display:block;color:var(--clay);font-size:.85rem;font-weight:900;letter-spacing:.08em}
.pillar h3{margin:.5rem 0}
.pillar p{margin:0;color:var(--muted)}

.course-grid{display:grid;gap:1.4rem}
.course-card{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  background:white;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 8px 28px rgba(30,37,31,.06);
}
.course-gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;min-height:380px}
.course-gallery img{width:100%;height:100%;object-fit:cover}
.course-gallery img:first-child{grid-row:1/3}
.course-body{padding:2rem}
.meta{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:var(--clay)}
.small{font-size:.92rem;color:var(--muted)}
.text-link{font-weight:900;color:var(--forest);text-decoration-thickness:2px;text-underline-offset:4px}
.course-card-text{grid-template-columns:.55fr 1.45fr}
.ai-mark{
  display:grid;
  place-items:center;
  min-height:320px;
  background:linear-gradient(145deg,var(--turq),var(--forest));
  color:white;
  font-size:clamp(5rem,12vw,9rem);
  font-weight:950;
  letter-spacing:-.08em;
}

.achievement{
  display:flex;
  align-items:baseline;
  gap:1rem;
  margin-top:2rem;
  padding:1.2rem 1.5rem;
  background:#efe6dc;
  border-left:5px solid var(--clay);
  border-radius:12px;
}
.achievement strong{font-size:2.3rem;line-height:1}
.achievement span{font-weight:750}
.achievement-dark{background:rgba(255,255,255,.08);border-left-color:#b9d7cc}

.study-gallery{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.study-gallery img{width:100%;height:290px;object-fit:cover;border-radius:16px}
.study-gallery img:first-child{grid-column:1/3;height:390px;object-position:center 28%}

.consult-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.consult-card{padding:1.5rem;border:1px solid var(--line);border-radius:18px;background:white}
.consult-card h3{margin:.4rem 0 .8rem}

.pilot{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:3rem;
  align-items:center;
  padding:3.2rem 0;
  border-top:1px solid rgba(39,75,59,.16);
}
.pilot-reverse .pilot-copy{order:2}
.pilot-reverse .pilot-gallery{order:1}
.pilot h3{font-size:clamp(1.8rem,3vw,2.8rem);margin:.35rem 0 1rem}
.pilot-gallery{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:.7rem}
.pilot-gallery img{width:100%;height:100%;min-height:210px;object-fit:cover;border-radius:16px}
.pilot-gallery img:first-child{grid-row:1/3;min-height:430px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1.6rem 0 0}
.facts div{padding:.8rem;background:rgba(255,255,255,.58);border-radius:12px}
.facts dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--muted)}
.facts dd{margin:.2rem 0 0;font-weight:800}

.fire-section{background:#202620;color:#f8f3e9}
.fire-section .section-kicker{color:#e7b396}
.fire-section .lead{color:#d8ddd5}
.fire-grid{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr;gap:.8rem;margin-top:2rem}
.fire-grid figure{margin:0}
.fire-grid img{width:100%;height:100%;min-height:260px;object-fit:cover;border-radius:18px}
.fire-main{grid-row:1/3}
.fire-main img{min-height:540px}
.works-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem;margin-top:.8rem}
.works-strip img{height:240px;width:100%;object-fit:cover;border-radius:14px}

.toolbox{display:grid;gap:.8rem;max-width:960px}
details{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}
summary{
  cursor:pointer;
  list-style:none;
  padding:1.25rem 1.4rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.8rem;font-weight:300;color:var(--clay)}
details[open] summary::after{content:"–"}
summary strong{font-size:1.15rem}
summary small{display:block;color:var(--muted);margin-top:.15rem}
.details-body{padding:0 1.4rem 1.4rem;border-top:1px solid var(--line)}
.details-body h3{margin:1.3rem 0 .5rem}
.details-body ol{padding-left:1.25rem}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.stats article{background:white;border:1px solid var(--line);border-radius:18px;padding:1.5rem}
.stats strong{display:block;font-size:3.4rem;line-height:1;color:var(--forest)}
.stats span{display:block;margin-top:.6rem;font-weight:750;color:var(--muted)}
.result-note{max-width:820px;margin-top:2rem;padding:1.5rem;border-radius:16px;background:var(--paper-2)}


.footer{padding:3rem 0;background:#111914;color:#e9ede8}
.footer p{margin:.35rem 0}
.footer-small{max-width:900px;font-size:.86rem;color:#c2cbc5}

@media (max-width:980px){
  .two-col,.course-card,.pilot{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr 1fr}
  .consult-grid,.stats{grid-template-columns:1fr 1fr}
  .pilot-reverse .pilot-copy,.pilot-reverse .pilot-gallery{order:initial}
  .works-strip{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
  .section{padding:4.5rem 0}
  .hero{min-height:78vh}
  .hero-content{padding-bottom:3.5rem}
  .pillars,.consult-grid,.stats{grid-template-columns:1fr}
  .course-gallery{min-height:300px}
  .course-card-text{display:block}
  .ai-mark{min-height:190px}
  .study-gallery{grid-template-columns:1fr}
  .study-gallery img:first-child{grid-column:auto;height:320px}
  .pilot-gallery{grid-template-columns:1fr 1fr}
  .pilot-gallery img:first-child{grid-column:1/3;grid-row:auto;min-height:320px}
  .facts{grid-template-columns:1fr}
  .fire-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .fire-main{grid-row:auto}
  .fire-main img{min-height:360px}
  .works-strip{grid-template-columns:1fr 1fr}
  .works-strip img{height:190px}
  .achievement{align-items:center}
  .achievement strong{font-size:1.8rem}
}


/* SEO/performance: renderuj dalsze sekcje dopiero, gdy zbliżą się do widoku. */
@supports (content-visibility:auto){
  main > .section{content-visibility:auto;contain-intrinsic-size:1px 900px}
  .hero{content-visibility:visible}
}

/* Szanuj preferencję ograniczenia ruchu. */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}

/* Rozbudowany narzędziownik */
.toolbox-note{
  max-width:960px;
  margin:0 0 1.25rem;
  padding:1.15rem 1.3rem;
  background:#fff;
  border:1px solid var(--line);
  border-left:5px solid var(--turq);
  border-radius:16px;
}
.toolbox-note p{margin:0;color:var(--muted)}
.details-body{padding-bottom:1.8rem}
.details-body p{max-width:820px}
.details-body ul{padding-left:1.25rem;max-width:820px}
.details-body li+li{margin-top:.35rem}
.toolbox-images{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:.75rem;
  margin:1.35rem 0 1.6rem;
}
.toolbox-images img{
  width:100%;
  height:320px;
  object-fit:cover;
  border-radius:14px;
}
.toolbox-images img:last-child{height:320px}

/* Osobna galeria prac */
.project-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  align-items:start;
}
.gallery-card{
  margin:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 28px rgba(30,37,31,.06);
}
.gallery-card img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
}
.gallery-card-wide{grid-column:span 2}
.gallery-card-wide img{aspect-ratio:16/9}
.gallery-card figcaption{
  padding:.9rem 1rem 1rem;
  color:var(--muted);
  font-size:.9rem;
}

@media (max-width:980px){
  .project-gallery{grid-template-columns:1fr 1fr}
  .gallery-card-wide{grid-column:span 2}
}
@media (max-width:640px){
  .toolbox-images{grid-template-columns:1fr}
  .toolbox-images img,.toolbox-images img:last-child{height:280px}
  .project-gallery{grid-template-columns:1fr}
  .gallery-card-wide{grid-column:auto}
  .gallery-card-wide img,.gallery-card img{aspect-ratio:4/3}
}


/* KPO / NextGenerationEU – informacja o finansowaniu */
.funding-band{background:#fff;border-bottom:1px solid rgba(17,25,20,.12);padding:2.3rem 0}
.funding-wrap{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.5fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.funding-logos{background:#fff;padding:1.25rem;border:1px solid rgba(17,25,20,.12);border-radius:18px;box-shadow:0 12px 34px rgba(17,25,20,.07)}
.funding-logos img,.footer-logos img{display:block;width:100%;height:auto;object-fit:contain;background:#fff}
.funding-copy h2{margin-top:.15rem;max-width:780px}
.funding-copy>p{max-width:860px}
.funding-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1.4rem 0}
.funding-facts p{margin:0;padding:1rem 1.1rem;border-radius:14px;background:#f2f5f0;display:flex;flex-direction:column;gap:.25rem}
.funding-facts span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#607066}
.funding-facts strong{font-size:1rem;color:#173c2d}
.funding-formula{font-weight:700;color:#173c2d}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:2rem;align-items:center}
.footer-logos{background:#fff;padding:.8rem 1rem;border-radius:12px}
@media (max-width:820px){.funding-wrap,.footer-grid{grid-template-columns:1fr}.funding-facts{grid-template-columns:1fr}.funding-logos{max-width:680px}.footer-logos{max-width:680px}}

/* =========================================================
   GALERIE 2.0 — uporządkowane albumy, stałe proporcje
   Zdjęcia nie zmieniają wysokości sekcji i nie „rozjeżdżają” układu.
   Kliknięcie otwiera pełny plik zdjęcia.
   ========================================================= */
.gallery-uniform{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
  align-content:start;
}
.gallery-uniform figure{
  margin:0;
  min-width:0;
  overflow:hidden;
  border-radius:14px;
  background:#e8e3d9;
}
.gallery-link{
  display:block;
  width:100%;
  height:100%;
  background:#e8e3d9;
  overflow:hidden;
}
.gallery-uniform img,
.course-gallery.gallery-uniform img,
.study-gallery.gallery-uniform img,
.pilot-gallery.gallery-uniform img,
.fire-grid.gallery-uniform img,
.toolbox-images.gallery-uniform img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:contain;
  object-position:center;
  background:#e8e3d9;
  border-radius:0;
  min-height:0;
}

/* Kursy — cztery równe miniatury zamiast jednej wielkiej i dwóch wąskich. */
.course-gallery.gallery-uniform{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:none;
  min-height:0;
  padding:.8rem;
  background:#f0ece4;
}
.course-gallery.gallery-uniform img:first-child{
  grid-row:auto;
}

/* Wizyta studyjna — bez zdjęcia przy tablicy, cztery równe kadry z wnętrza i prac. */
.study-gallery.gallery-uniform{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
}
.study-gallery.gallery-uniform img:first-child{
  grid-column:auto;
  height:auto;
  object-position:center;
}

/* Pilotaże — każdy ma własny spójny album 2 × 2. */
.pilot-gallery.gallery-uniform{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:none;
  gap:.75rem;
}
.pilot-gallery.gallery-uniform img,
.pilot-gallery.gallery-uniform img:first-child{
  min-height:0;
  grid-row:auto;
  grid-column:auto;
}

/* Narzędziownik — dwie ilustracje scenariusza, bez rozciągania. */
.toolbox-images.gallery-uniform{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
}
.toolbox-images.gallery-uniform img,
.toolbox-images.gallery-uniform img:last-child{
  height:auto;
}

/* Proces wypału — osobno od galerii gotowych prac. */
.fire-grid.gallery-uniform{
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:none;
  gap:.8rem;
}
.fire-grid.gallery-uniform figure,
.fire-grid.gallery-uniform .fire-main{
  grid-row:auto;
}
.fire-grid.gallery-uniform img,
.fire-grid.gallery-uniform .fire-main img{
  min-height:0;
}

/* Galeria główna jako cztery osobne albumy. */
.gallery-albums{
  display:grid;
  gap:1rem;
  margin-top:2rem;
}
.gallery-album{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 28px rgba(30,37,31,.05);
}
.gallery-album > summary{
  padding:1.15rem 1.3rem;
  background:#fff;
}
.gallery-album > summary strong{
  font-size:1.2rem;
}
.gallery-album > summary small{
  margin-top:.2rem;
}
.album-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.8rem;
  padding:1rem 1rem 1.2rem;
  border-top:1px solid var(--line);
  background:#f3efe7;
}
.album-grid figure{
  margin:0;
  min-width:0;
  overflow:hidden;
  border-radius:14px;
  background:#e5dfd4;
  box-shadow:0 4px 14px rgba(30,37,31,.05);
}
.album-grid img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:contain;
  object-position:center;
  background:#e5dfd4;
  transition:transform .2s ease;
}
.album-grid a:hover img,
.album-grid a:focus-visible img{
  transform:scale(1.02);
}

/* Usuwamy dawne reguły mozaiki, które powodowały nierówne wysokości. */
.project-gallery{display:none}
.works-strip{display:none}

@media (max-width:980px){
  .album-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fire-grid.gallery-uniform{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .gallery-uniform,
  .course-gallery.gallery-uniform,
  .study-gallery.gallery-uniform,
  .pilot-gallery.gallery-uniform,
  .toolbox-images.gallery-uniform,
  .fire-grid.gallery-uniform{
    grid-template-columns:1fr 1fr;
  }
  .album-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:440px){
  .gallery-uniform,
  .course-gallery.gallery-uniform,
  .study-gallery.gallery-uniform,
  .pilot-gallery.gallery-uniform,
  .toolbox-images.gallery-uniform,
  .fire-grid.gallery-uniform,
  .album-grid{
    grid-template-columns:1fr;
  }
  .gallery-uniform img,
  .album-grid img{
    aspect-ratio:4/3;
  }
}

/* =========================================================
   KOREKTA UKŁADU 2026-08-11
   Projekt: spójna kompozycja zamiast pojedynczego pionowego zdjęcia.
   Galerie: jednakowe ramki wypełnione kadrem + osobna galeria prac.
   ========================================================= */

/* O projekcie — tekst i trzy fotografie pokazujące trzy wątki projektu */
.project-overview{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:clamp(2rem,5vw,4.5rem);
  align-items:start;
}
.project-copy{max-width:760px}
.project-collage{
  margin:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:auto auto auto;
  gap:.8rem;
  padding:.85rem;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
}
.project-collage a{
  min-width:0;
  overflow:hidden;
  border-radius:15px;
  background:#e7e0d4;
}
.project-collage-main{grid-column:1/-1;aspect-ratio:16/9}
.project-collage-small{aspect-ratio:4/5}
.project-collage img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .25s ease;
}
.project-collage a:hover img,
.project-collage a:focus-visible img{transform:scale(1.025)}
.project-collage figcaption{
  grid-column:1/-1;
  margin:0;
  padding:.25rem .25rem .1rem;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.45;
}

/* Główne galerie w sekcjach — ramka ma stały rozmiar i jest wypełniona zdjęciem. */
.gallery-uniform figure{aspect-ratio:4/3}
.gallery-uniform .gallery-link{height:100%}
.gallery-uniform img,
.course-gallery.gallery-uniform img,
.study-gallery.gallery-uniform img,
.pilot-gallery.gallery-uniform img,
.fire-grid.gallery-uniform img,
.toolbox-images.gallery-uniform img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
}

/* Osobna galeria gotowych prac */
.works-section{overflow:hidden}
.works-gallery{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.9rem;
  margin-top:1.7rem;
}
.work-card{
  margin:0;
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:16px;
  background:#e6dfd4;
  box-shadow:0 7px 22px rgba(30,37,31,.07);
}
.work-card .gallery-link{height:100%}
.work-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .22s ease;
}
.work-card a:hover img,
.work-card a:focus-visible img{transform:scale(1.03)}
.gallery-note{
  margin:1rem 0 0;
  color:var(--muted);
  font-size:.9rem;
}

/* Dokumentacja fotograficzna — spójne albumy i spójne proporcje miniaturek */
.gallery-albums{gap:1.15rem}
.gallery-album{
  border-radius:20px;
  box-shadow:0 8px 26px rgba(30,37,31,.055);
}
.gallery-album > summary{
  padding:1.2rem 1.35rem;
  cursor:pointer;
}
.gallery-album > summary span{
  display:flex;
  flex-direction:column;
  gap:.15rem;
}
.album-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.85rem;
  padding:1rem;
  background:#f2eee7;
}
.album-grid figure{
  aspect-ratio:4/3;
  border-radius:14px;
  overflow:hidden;
  background:#dfd8cc;
}
.album-grid .gallery-link{height:100%}
.album-grid img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
  background:transparent;
}

@media (max-width:1050px){
  .project-overview{grid-template-columns:1fr 1fr;gap:2.4rem}
  .works-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:820px){
  .project-overview{grid-template-columns:1fr}
  .project-copy{max-width:none}
  .project-collage{max-width:760px}
  .works-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .project-collage{padding:.65rem;gap:.6rem}
  .project-collage-main{aspect-ratio:4/3}
  .works-gallery{grid-template-columns:1fr 1fr;gap:.65rem}
  .album-grid{grid-template-columns:1fr;gap:.7rem;padding:.8rem}
}

/* Dodatkowe doszkolenie SensoCeramiki — celowo poza licznikiem 4/4 kursów. */
.extra-training{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:1.3rem;
  margin-top:1.6rem;
  padding:1.3rem;
  background:linear-gradient(145deg,#f6f0e8,#eef3ed);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 8px 28px rgba(30,37,31,.05);
}
.extra-training-copy{padding:.55rem .7rem}
.extra-training-copy .section-kicker{margin:.3rem 0 .55rem}
.extra-training-copy h3{margin-top:0;font-size:clamp(1.45rem,2.3vw,2rem)}
.extra-training-gallery{align-self:start}
.extra-training-gallery figure{aspect-ratio:4/3}
.extra-training-gallery img{object-fit:cover;object-position:center}
@media (max-width:900px){
  .extra-training{grid-template-columns:1fr}
}

/* =========================================================
   AUDYT SEO + DOSTĘPNOŚCI 2026-08-11
   Korekty WCAG 2.2 AA / mobile / focus / kontrast
   ========================================================= */

/* Mocniejszy odcień akcentu: zachowuje charakter gliny i daje
   bezpieczny kontrast dla drobnego tekstu także na jaśniejszych tłach. */
:root{--clay:#95563a}

/* Kotwice nie chowają się pod przyklejonym nagłówkiem. */
html{scroll-padding-top:92px}
section[id],main[id]{scroll-margin-top:92px}

/* Dwukolorowy wskaźnik fokusu pozostaje widoczny na jasnym i ciemnym tle. */
a:focus-visible,summary:focus-visible{
  outline:3px solid #fff;
  outline-offset:3px;
  box-shadow:0 0 0 6px #111;
}

/* Odnośniki nawigacyjne mają wygodniejszy obszar aktywacji. */
.nav a{display:inline-block;padding:.3rem .1rem;min-height:24px}

/* Na tabletach i telefonach menu nie znika. Nagłówek przestaje być sticky,
   aby nie zabierał dużej części ekranu po powiększeniu tekstu. */
@media (max-width:980px){
  .topbar{position:static}
  .nav-wrap{flex-direction:column;align-items:flex-start;gap:.55rem;padding:.7rem 0 .9rem}
  .nav{display:flex;justify-content:flex-start;gap:.2rem .9rem}
  html{scroll-padding-top:0}
  section[id],main[id]{scroll-margin-top:0}
}

/* Ostatnie dopracowanie: logotypy finansowania na hero + kontakt */
.hero-funding-logos{
  position:absolute;
  z-index:3;
  right:max(1rem, calc((100vw - var(--max))/2));
  bottom:1.35rem;
  width:clamp(300px,31vw,440px);
  padding:.65rem .8rem;
  background:#fff;
  border-radius:12px;
  box-shadow:0 12px 34px rgba(0,0,0,.18);
}
.hero-funding-logos img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:#fff;
}
.funding-wrap{
  display:block;
}
.funding-copy{
  max-width:980px;
}
.footer-contact{
  margin:.55rem 0 .8rem;
  font-size:1rem;
}
.footer-contact a{
  color:#fff;
  text-underline-offset:.18em;
}
.footer-contact a:hover{
  text-decoration-thickness:2px;
}

@media (min-width:901px){
  .hero-content{padding-right:min(38vw,480px)}
}
@media (max-width:900px){
  .hero-content{padding-bottom:8.5rem}
  .hero-funding-logos{
    left:1rem;
    right:1rem;
    bottom:1rem;
    width:auto;
    max-width:560px;
  }
}
@media (max-width:520px){
  .hero-content{padding-bottom:8rem}
  .hero-funding-logos{padding:.5rem .6rem;border-radius:10px}
}


/* Ostateczne uporządkowanie galerii: pełne rzędy bez pustych pól. */
.album-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.album-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.album-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:820px){
  .album-grid.cols-2,.album-grid.cols-3,.album-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:520px){
  .album-grid.cols-2,.album-grid.cols-3,.album-grid.cols-4{grid-template-columns:1fr;}
}
