/* =====================================================================
   OLGGARTO - arkusz stylów makiety
   Prefiks klas: olg-   |   Komentarze i nazwy po polsku
   Przy przenoszeniu do WordPressa (Kadence) plik trafia 1:1 do
   motywu potomnego: /assets/css/olg-style.css (patrz docs/02).
   ===================================================================== */

/* ---------- 01. Tokeny (kolory, typografia, odstępy) ---------------- */
:root {
  --olg-atrament: #100e0d;      /* tło główne: cień pracowni */
  --olg-orzech: #161413;        /* ciemne powierzchnie: głęboki, ciemny brąz (odcina się od tła #100e0d) */
  --olg-orzech-jasny: #282523;
  --olg-zloto: #7f766f;         /* złoto farby z płótna */
  --olg-zloto-jasne: #d7d0ca;   /* złoto na ciemnym tle, blask */
  --olg-zloto-ciemne: #514c47;  /* złoto na jasnym płótnie (kontrast AA) */
  --olg-plotno: #e2dedb;        /* kolor płótna, tekst na ciemnym */
  --olg-plotno-cien: #a1968d;   /* tekst drugorzędny na ciemnym */
  --olg-wisnia: #7c2329;        /* trzonek pędzla: tylko komunikaty błędów */

  --olg-font-szeryf: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;
  --olg-font-bez: "Jost", "Century Gothic", "Helvetica Neue", Arial, sans-serif;

  --olg-skala-xs: 0.8125rem;
  --olg-skala-s: 0.9375rem;
  --olg-skala-m: 1.0625rem;
  --olg-skala-l: clamp(1.25rem, 1.05rem + 0.8vw, 1.625rem);
  --olg-skala-xl: clamp(2rem, 1.3rem + 2.8vw, 3.5rem);
  --olg-skala-xxl: clamp(2.75rem, 1.4rem + 5.6vw, 6.5rem);
  --olg-skala-mega: clamp(3.25rem, 1rem + 9vw, 10.5rem);

  --olg-margines: clamp(1.25rem, 4vw, 4rem);
  --olg-szerokosc: 1320px;
  --olg-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --olg-ease-miekki: cubic-bezier(0.65, 0, 0.35, 1);
}

/* ---------- 02. Fonty lokalne (bez Google Fonts - zgodnie z RODO) ---
   Jeden plik na krój (łacina + polskie znaki razem), bez dzielenia unicode-range.
   Jost: osobne pliki statyczne dla grubości 300/400/500/700 (Safari rysuje je pewniej niż wersję zmienną).
   Polskie litery są zwykłymi konturami (nie składanymi) - Safari rysuje je w tej samej grubości co resztę. */
@font-face {
  font-family: "Bodoni Moda"; font-style: normal; font-display: swap; font-weight: 400 900;
  src: url("../fonts/olg-bodoni.woff2?v=23") format("woff2");
}
@font-face {
  font-family: "Bodoni Moda"; font-style: italic; font-display: swap; font-weight: 400 900;
  src: url("../fonts/olg-bodoni-italic.woff2?v=23") format("woff2");
}
/* Bodoni Moda w dużych rozmiarach rysuje półpauzę i pauzę jako włoskową kreskę (niewidoczną na ekranie) -
   te dwa znaki w nagłówkach bierzemy z kroju Jost (unicode-range: reszta tekstu zostaje w Bodoni) */
@font-face {
  font-family: "Bodoni Moda"; font-style: normal; font-display: swap; font-weight: 400 900;
  src: url("../fonts/olg-jost-300.woff2?v=23") format("woff2"); unicode-range: U+002D, U+2013-2014;
}
@font-face {
  font-family: "Bodoni Moda"; font-style: italic; font-display: swap; font-weight: 400 900;
  src: url("../fonts/olg-jost-300.woff2?v=23") format("woff2"); unicode-range: U+002D, U+2013-2014;
}
@font-face {
  font-family: "Jost"; font-style: normal; font-display: swap; font-weight: 300;
  src: url("../fonts/olg-jost-300.woff2?v=23") format("woff2");
}
@font-face {
  font-family: "Jost"; font-style: normal; font-display: swap; font-weight: 400;
  src: url("../fonts/olg-jost-400.woff2?v=23") format("woff2");
}
@font-face {
  font-family: "Jost"; font-style: normal; font-display: swap; font-weight: 500;
  src: url("../fonts/olg-jost-500.woff2?v=23") format("woff2");
}
@font-face {
  font-family: "Jost"; font-style: normal; font-display: swap; font-weight: 700;
  src: url("../fonts/olg-jost-700.woff2?v=23") format("woff2");
}

/* ---------- 03. Baza --------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
body {
  margin: 0;
  background: var(--olg-atrament);
  color: var(--olg-plotno);
  font-family: var(--olg-font-bez);
  font-size: var(--olg-skala-m);
  font-weight: 350;
  line-height: 1.65;
  letter-spacing: 0.005em;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.olg-blokada { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button { font: inherit; color: inherit; }
::selection { background: var(--olg-zloto); color: var(--olg-atrament); }
:focus-visible { outline: 1px solid var(--olg-zloto-jasne); outline-offset: 4px; }
[hidden] { display: none !important; }
.olg-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.olg-skip { position: fixed; left: 1rem; top: -4rem; z-index: 999; background: var(--olg-plotno); color: var(--olg-atrament); padding: .6rem 1rem; transition: top .3s; }
.olg-skip:focus { top: 1rem; }

.olg-kontener { width: min(100% - 2 * var(--olg-margines), var(--olg-szerokosc)); margin-inline: auto; }
.olg-sekcja { position: relative; z-index: 2; }
.olg-main { position: relative; }

/* Typografia */
.olg-naglowek {
  font-family: var(--olg-font-szeryf);
  font-weight: 400;
  font-variation-settings: "opsz" 96;
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0;
  text-wrap: balance;
}
.olg-naglowek--mega { font-size: var(--olg-skala-mega); letter-spacing: -0.03em; }
.olg-naglowek--xxl { font-size: var(--olg-skala-xxl); }
.olg-naglowek--xl { font-size: var(--olg-skala-xl); line-height: 1.08; }
.olg-kursywa { font-style: italic; }
.olg-tekst { max-width: 36em; margin: 0 0 1.2em; }
.olg-tekst--duzy { font-size: var(--olg-skala-l); line-height: 1.55; font-weight: 300; max-width: 30em; }
.olg-tekst--cichy { color: var(--olg-plotno-cien); }
.olg-cytat {
  font-family: var(--olg-font-szeryf);
  font-style: italic;
  font-variation-settings: "opsz" 72;
  font-size: var(--olg-skala-xl);
  line-height: 1.18;
  margin: 0;
  text-wrap: balance;
}

/* Link-przycisk: cienka złota kreska, która „maluje się” pod tekstem */
.olg-link {
  --olg-link-kolor: var(--olg-zloto-jasne);
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .9em;
  color: var(--olg-link-kolor);
  text-decoration: none;
  font-size: var(--olg-skala-s);
  letter-spacing: 0.06em;
  padding: .5em 0;
}
.olg-link::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: .2em; height: 1px;
  background: currentColor;
  transform-origin: right; transform: scaleX(.35);
  transition: transform .7s var(--olg-ease);
}
.olg-link:hover::after, .olg-link:focus-visible::after { transform-origin: left; transform: scaleX(1); }
.olg-link__kropla { width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: none; }

/* ---------- 04. Ziarno płótna i kursor ----------------------------- */
.olg-ziarno {
  position: fixed; inset: -50%; z-index: 90; pointer-events: none; opacity: .07;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .95 0 0 0 0 .85 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation: olg-ziarno 1.2s steps(6) infinite;
}
@keyframes olg-ziarno {
  0% { transform: translate(0, 0); } 20% { transform: translate(-3%, 2%); } 40% { transform: translate(2%, -3%); }
  60% { transform: translate(-2%, -1%); } 80% { transform: translate(3%, 3%); } 100% { transform: translate(0, 0); }
}
.olg-kursor { position: fixed; left: 0; top: 0; z-index: 1000; pointer-events: none; display: none; }
.olg-kursor__kropla, .olg-kursor__krag { position: absolute; left: 0; top: 0; border-radius: 50%; transform: translate(-50%, -50%); }
.olg-kursor__kropla { width: 6px; height: 6px; background: var(--olg-zloto-jasne); }
.olg-kursor__krag {
  width: 38px; height: 38px; border: 1px solid rgba(215, 208, 202, .45);
  transition: width .45s var(--olg-ease), height .45s var(--olg-ease), background-color .45s, border-color .45s;
}
.olg-kursor.is-link .olg-kursor__krag { width: 68px; height: 68px; background: rgba(215, 208, 202, .08); border-color: rgba(215, 208, 202, .8); }
.olg-kursor.is-ukryty { opacity: 0; }
@media (hover: hover) and (pointer: fine) {
  .olg-ma-kursor .olg-kursor { display: block; }
  .olg-ma-kursor, .olg-ma-kursor a, .olg-ma-kursor button, .olg-ma-kursor label { cursor: none; }
  .olg-ma-kursor input, .olg-ma-kursor textarea { cursor: text; }
}

/* ---------- 05. Intro: podpis kreślony złotem ---------------------- */
.olg-intro {
  position: fixed; inset: 0; z-index: 300;
  display: none; place-items: center; cursor: pointer;
  animation: olg-intro-awaryjne .4s 1.6s forwards; /* nigdy dłużej niż 2 s — także gdy skrypt startuje później */
  /* bardzo ciemny brąz z lekką przezroczystością: strona delikatnie prześwituje */
  background: radial-gradient(ellipse 60% 55% at 50% 50%, rgba(22, 20, 19, .9), rgba(11, 10, 9, .94) 70%), rgba(11, 10, 9, .9);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.olg-js:not(.olg-bez-intro) .olg-intro { display: grid; }
.olg-intro[hidden] { display: none !important; }
@keyframes olg-intro-awaryjne { to { visibility: hidden; opacity: 0; pointer-events: none; } }
.olg-intro__znak { text-align: center; }
.olg-intro__slowo {
  font-family: var(--olg-font-szeryf); font-variation-settings: "opsz" 96;
  font-size: clamp(1.9rem, 5.5vw, 4.2rem); letter-spacing: .34em; margin-right: -.34em;
  color: var(--olg-plotno); display: flex; justify-content: center;
}
.olg-intro__slowo span { display: inline-block; opacity: 0; }
.olg-intro__pasek { position: relative; width: min(46vw, 220px); height: 1px; margin: clamp(1.4rem, 3.5vh, 2.2rem) auto 0; background: rgba(215, 208, 202, .16); overflow: hidden; }
.olg-intro__pasek i { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(215, 208, 202, 0), var(--olg-zloto-jasne) 40%, #dad5d1); transform-origin: left; transform: scaleX(0); }

/* ---------- 06. Nagłówek i menu pełnoekranowe --------------------- */
.olg-naglowek-strony {
  position: fixed; inset: 0 0 auto 0; z-index: 120;
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.35rem var(--olg-margines);
  color: var(--olg-plotno);
  transition: transform .7s var(--olg-ease), color .5s;
}
.olg-naglowek-strony.is-schowany { transform: translateY(-110%); }
.olg-naglowek-strony.is-jasny { color: var(--olg-atrament); }
.olg-naglowek-strony::before {
  content: ""; position: absolute; inset: 0 0 -2.5rem 0; z-index: -1; pointer-events: none;
  background: linear-gradient(to bottom, rgba(16, 14, 13, .55), rgba(16, 14, 13, 0));
  transition: opacity .5s;
}
.olg-naglowek-strony.is-jasny::before { opacity: 0; }
.olg-logo { display: inline-flex; align-items: center; gap: .9rem; text-decoration: none; color: inherit; }
.olg-logo__slowo { font-family: var(--olg-font-szeryf); font-variation-settings: "opsz" 40; font-size: 1.05rem; letter-spacing: .34em; }
/* Miejsce na skan podpisu klientki - po dostarczeniu podmienić <svg> na <img> */
.olg-logo__podpis { width: 64px; height: 22px; color: var(--olg-zloto-jasne); }
.olg-naglowek-strony.is-jasny .olg-logo__podpis { color: var(--olg-zloto-ciemne); }
.olg-logo__podpis path { fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; }
.olg-menu-przycisk {
  display: inline-flex; align-items: center; gap: .9rem;
  background: none; border: 0; padding: .6rem 0; cursor: pointer;
  font-size: var(--olg-skala-xs); letter-spacing: .14em;
}
.olg-menu-przycisk__kreski { position: relative; width: 30px; height: 9px; }
.olg-menu-przycisk__kreski::before, .olg-menu-przycisk__kreski::after {
  content: ""; position: absolute; right: 0; height: 1px; background: currentColor; transition: transform .6s var(--olg-ease), width .6s var(--olg-ease);
}
.olg-menu-przycisk__kreski::before { top: 0; width: 100%; }
.olg-menu-przycisk__kreski::after { bottom: 0; width: 62%; }
.olg-menu-przycisk:hover .olg-menu-przycisk__kreski::after { width: 100%; }
.olg-menu-otwarte .olg-menu-przycisk__kreski::before { transform: translateY(4px) rotate(18deg); }
.olg-menu-otwarte .olg-menu-przycisk__kreski::after { width: 100%; transform: translateY(-4px) rotate(-18deg); }
.olg-menu-otwarte .olg-naglowek-strony { color: var(--olg-plotno); transform: none; }
.olg-menu-otwarte .olg-naglowek-strony::before { opacity: 0; }

.olg-menu {
  position: fixed; inset: 0; z-index: 110;
  background: var(--olg-atrament);
  clip-path: circle(0% at calc(100% - 3rem) 2.4rem);
  visibility: hidden;
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  overflow: hidden;
}
.olg-menu__mapa {
  position: absolute; inset: 0; pointer-events: none; opacity: .16;
  background: url("../img/olg-mapa-linie.webp") center / cover no-repeat;
  -webkit-mask-image: radial-gradient(ellipse at 70% 50%, #000 0%, transparent 70%);
          mask-image: radial-gradient(ellipse at 70% 50%, #000 0%, transparent 70%);
}
.olg-menu__lista {
  position: relative; list-style: none; margin: 0; padding: 7.5rem var(--olg-margines) 3rem;
  display: flex; flex-direction: column; justify-content: center; gap: .15rem; counter-reset: none;
}
.olg-menu__pozycja { overflow: hidden; }
.olg-menu__link {
  display: flex; align-items: baseline; gap: 1.4rem; text-decoration: none; padding: .15rem 0;
  transform: translateY(105%);
}
.olg-menu__numer { font-size: var(--olg-skala-xs); color: var(--olg-zloto); letter-spacing: .08em; min-width: 1.8rem; font-variant-numeric: tabular-nums; }
.olg-menu__nazwa {
  font-family: var(--olg-font-szeryf); font-variation-settings: "opsz" 96;
  font-size: clamp(2rem, 1.2rem + 3.4vw, 4.4rem); line-height: 1.08;
  transition: color .5s, transform .7s var(--olg-ease);
}
.olg-menu__link:hover .olg-menu__nazwa, .olg-menu__link:focus-visible .olg-menu__nazwa { color: var(--olg-zloto-jasne); transform: translateX(.6rem); font-style: italic; }
.olg-menu__link[aria-current="page"] .olg-menu__nazwa { font-style: italic; color: var(--olg-zloto-jasne); }
.olg-menu__wkrotce { font-size: var(--olg-skala-xs); color: var(--olg-plotno-cien); letter-spacing: .04em; }
.olg-menu__bok {
  position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 2rem;
  padding: 7.5rem var(--olg-margines) 3.2rem;
  border-left: 1px solid rgba(127, 118, 111, .22);
}
.olg-menu__podglad { position: relative; flex: 1; min-height: 0; overflow: hidden; }
.olg-menu__podglad img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  opacity: 0; transform: scale(1.08); transition: opacity .8s var(--olg-ease), transform 1.4s var(--olg-ease);
}
.olg-menu__podglad img.is-aktywny { opacity: .85; transform: scale(1); }
.olg-menu__dane { font-size: var(--olg-skala-s); color: var(--olg-plotno-cien); }
.olg-menu__dane a { color: var(--olg-plotno); text-decoration: none; }
.olg-menu__dane a:hover { color: var(--olg-zloto-jasne); }

/* ---------- 07. Złota trasa (globalna linia na stronie) ------------ */
[data-olg-trasa-punkt] { position: relative; }

/* ---------- 08. Start: hero „w stronę pędzla” ---------------------- */
.olg-hero { position: relative; z-index: 2; height: 100vh; height: 100svh; overflow: hidden; background: var(--olg-atrament); }
.olg-hero__obraz { position: absolute; inset: 0; will-change: transform; }
.olg-hero__obraz img { width: 100%; height: 100%; object-fit: cover; object-position: 47% 50%; }
.olg-hero__ciemnienie { position: absolute; inset: 0; background: var(--olg-atrament); opacity: 0; }
.olg-hero__winieta { position: absolute; inset: 0; background: radial-gradient(ellipse 80% 70% at 50% 45%, transparent 40%, rgba(16, 14, 13, .55) 100%); }
.olg-hero__tresc {
  position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center;
  padding: 0 var(--olg-margines); pointer-events: none;
}
.olg-hero__tytul { color: var(--olg-plotno); }
@media (min-width: 900px) { .olg-hero__tytul .olg-wiersz { white-space: nowrap; } }
.olg-hero__tytul .olg-wiersz { display: block; overflow: hidden; padding-bottom: .08em; }
.olg-hero__tytul .olg-wiersz > span { display: inline-block; }
.olg-hero__tytul .olg-wiersz:nth-child(2) { padding-left: 1.4em; font-style: italic; color: var(--olg-zloto-jasne); }
.olg-hero__stopka {
  position: absolute; left: var(--olg-margines); right: var(--olg-margines); bottom: 2rem;
  display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem;
  font-size: var(--olg-skala-xs); letter-spacing: .06em; color: var(--olg-plotno);
}
.olg-hero__wskazowka { display: flex; align-items: center; gap: .9rem; }
.olg-hero__wskazowka i { display: block; width: 1px; height: 46px; background: linear-gradient(var(--olg-zloto-jasne), transparent); animation: olg-kapanie 2.4s var(--olg-ease-miekki) infinite; transform-origin: top; }
@keyframes olg-kapanie { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }

/* ---------- 09. Start: powitanie, droga obrazu, spis sal ----------- */
.olg-powitanie { padding: clamp(7rem, 16vh, 12rem) 0 clamp(5rem, 12vh, 9rem); }
.olg-powitanie__siatka { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; row-gap: 2.5rem; }
.olg-powitanie__tytul { grid-column: 1 / span 8; }
.olg-powitanie__tekst { grid-column: 7 / span 5; }

.olg-droga-obrazu { padding: 2rem 0 clamp(6rem, 14vh, 10rem); }
.olg-droga-obrazu__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(4rem, 12vh, 8rem); }
.olg-etap { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; align-items: center; }
.olg-etap__tresc { grid-column: 2 / span 4; }
.olg-etap:nth-child(even) .olg-etap__tresc { grid-column: 8 / span 4; }
.olg-etap__zdjecie { grid-column: 8 / span 4; }
.olg-etap__zdjecie--lewo { grid-column: 2 / span 4; grid-row: 1; }
.olg-etap__numer { font-family: var(--olg-font-szeryf); font-style: italic; color: var(--olg-zloto); font-size: var(--olg-skala-l); display: block; margin-bottom: .4rem; }
.olg-etap__tytul { font-family: var(--olg-font-szeryf); font-variation-settings: "opsz" 72; font-weight: 400; font-size: var(--olg-skala-xl); line-height: 1.08; margin: 0 0 .9rem; }
.olg-etap__tekst { color: var(--olg-plotno-cien); margin: 0; max-width: 26em; }

.olg-spis { padding: clamp(5rem, 12vh, 9rem) 0 clamp(6rem, 14vh, 10rem); }
.olg-spis__wstep { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin-bottom: 3rem; flex-wrap: wrap; }
.olg-spis__lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(127, 118, 111, .28); }
.olg-spis__pozycja { border-bottom: 1px solid rgba(127, 118, 111, .28); }
.olg-spis__link {
  display: grid; grid-template-columns: 4rem minmax(0, 1fr) minmax(0, 22rem); align-items: baseline; gap: 1.5rem;
  padding: 1.6rem 0; text-decoration: none; position: relative;
}
.olg-spis__numer { color: var(--olg-zloto); font-size: var(--olg-skala-xs); letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.olg-spis__nazwa { font-family: var(--olg-font-szeryf); font-variation-settings: "opsz" 96; font-size: clamp(2rem, 1.3rem + 2.6vw, 3.6rem); line-height: 1.05; transition: transform .8s var(--olg-ease), color .5s; }
.olg-spis__opis { color: var(--olg-plotno-cien); font-size: var(--olg-skala-s); }
.olg-spis__link:hover .olg-spis__nazwa, .olg-spis__link:focus-visible .olg-spis__nazwa { transform: translateX(1.2rem); color: var(--olg-zloto-jasne); font-style: italic; }
.olg-spis__pozycja--wkrotce .olg-spis__nazwa { color: rgba(226, 222, 219, .42); }
.olg-spis__podglad {
  position: fixed; left: 0; top: 0; z-index: 60; width: 300px; aspect-ratio: 4 / 5; pointer-events: none;
  overflow: hidden; opacity: 0; transform: translate(-50%, -50%) scale(.85); transition: opacity .5s var(--olg-ease), transform .6s var(--olg-ease);
}
.olg-spis__podglad.is-widoczny { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.olg-spis__podglad img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .4s; }
.olg-spis__podglad img.is-aktywny { opacity: 1; }

/* ---------- 10. O mnie: otwarcie ----------------------------------- */
.olg-otwarcie { padding: clamp(8rem, 20vh, 13rem) 0 clamp(5rem, 12vh, 9rem); }
.olg-otwarcie__siatka { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; align-items: end; }
.olg-otwarcie__tytul { grid-column: 1 / span 7; grid-row: 1; position: relative; z-index: 2; margin-bottom: 3rem; }
.olg-otwarcie__zdjecie { grid-column: 8 / span 5; grid-row: 1 / span 2; position: relative; }
.olg-otwarcie__tekst { grid-column: 1 / span 6; grid-row: 2; padding-right: 2rem; }
.olg-ramka { position: relative; overflow: hidden; }
.olg-ramka img { width: 100%; height: 100%; object-fit: cover; }
.olg-ramka--pion { aspect-ratio: 2 / 3; }
.olg-podpis-zdjecia { margin-top: .9rem; font-size: var(--olg-skala-xs); color: var(--olg-plotno-cien); font-style: italic; font-family: var(--olg-font-szeryf); }

/* ---------- 11. Droga: studia, poziome przewijanie ----------------- */
.olg-droga { --olg-miasto-h: clamp(6rem, 4rem + 6vw, 10rem); position: relative; z-index: 2; background: var(--olg-orzech); overflow: hidden; }
.olg-droga__pin { height: 100vh; height: 100svh; display: flex; flex-direction: column; justify-content: center; position: relative; padding-top: 6rem; }
.olg-droga__naglowek { position: absolute; top: clamp(5.5rem, 13vh, 8rem); left: var(--olg-margines); right: var(--olg-margines); display: flex; justify-content: space-between; align-items: baseline; gap: 2rem; }
.olg-droga__postep { font-size: var(--olg-skala-xs); color: var(--olg-plotno-cien); letter-spacing: .06em; font-variant-numeric: tabular-nums; }
.olg-droga__tor { display: flex; align-items: flex-start; gap: 0; width: max-content; padding-left: var(--olg-margines); position: relative; will-change: transform; }
.olg-droga__linia { position: absolute; left: 0; top: calc(var(--olg-miasto-h) + 1.5rem); height: 1px; width: 100%; background: rgba(127, 118, 111, .22); }
.olg-droga__linia i { position: absolute; inset: 0; background: var(--olg-zloto); transform-origin: left; transform: scaleX(0); }
.olg-stacja {
  position: relative; width: min(78vw, 520px); flex: none; padding: 0 5vw 0 0;
  display: grid; grid-template-rows: var(--olg-miasto-h) 3rem auto;
}
.olg-stacja__miasto { align-self: end; font-family: var(--olg-font-szeryf); font-style: italic; font-variation-settings: "opsz" 96; font-size: clamp(3rem, 2rem + 4vw, 6.5rem); line-height: 1; color: var(--olg-zloto-jasne); padding-bottom: 1.4rem; }
.olg-stacja__punkt { position: relative; }
.olg-stacja__punkt::before { content: ""; position: absolute; left: 0; top: 50%; width: 13px; height: 13px; border-radius: 50%; border: 1px solid var(--olg-zloto); background: var(--olg-orzech); transform: translate(0, -50%); transition: background .5s; }
.olg-stacja.is-aktywna .olg-stacja__punkt::before { background: var(--olg-zloto-jasne); box-shadow: 0 0 0 8px rgba(215, 208, 202, .12); }
.olg-stacja__opis { padding-top: 1.4rem; }
.olg-stacja__uczelnia { font-family: var(--olg-font-szeryf); font-variation-settings: "opsz" 48; font-size: var(--olg-skala-l); line-height: 1.25; margin: 0 0 .7rem; color: var(--olg-plotno); }
.olg-stacja__tekst { color: var(--olg-plotno-cien); margin: 0; max-width: 28em; }
.olg-stacja--final { width: min(88vw, 760px); grid-template-rows: auto; padding-top: 1rem; padding-left: 2rem; }
.olg-stacja--final .olg-cytat { font-size: var(--olg-skala-l); font-size: clamp(1.5rem, 1rem + 1.6vw, 2.4rem); line-height: 1.3; }
.olg-stacja--final .olg-cytat { color: var(--olg-plotno); }

/* ---------- 12. Sekcja jasna: płótno (cytat „Nie tworzę kopii”) ---- */
.olg-plotno {
  position: relative; z-index: 2; color: var(--olg-atrament);
  background-color: var(--olg-plotno);
  background-image:
    radial-gradient(ellipse at 20% 0%, rgba(255, 255, 255, .5), transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='4'/%3E%3CfeDiffuseLighting lighting-color='%23f3ecdf' surfaceScale='1.6'%3E%3CfeDistantLight azimuth='45' elevation='58'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");
  background-blend-mode: normal, multiply;
  padding: clamp(6rem, 16vh, 11rem) 0;
}
.olg-plotno .olg-tekst--cichy { color: #59534e; }
.olg-muzeum__siatka { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; row-gap: 3rem; }
.olg-muzeum__wstep { grid-column: 1 / span 5; }
.olg-muzeum__cytat { grid-column: 3 / span 9; }
.olg-muzeum__cytat .olg-cytat { font-size: var(--olg-skala-xxl); line-height: 1.04; font-style: normal; }
.olg-muzeum__cytat .olg-cytat em { font-style: italic; color: var(--olg-zloto-ciemne); }
.olg-muzeum__zdjecia { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; align-items: start; margin-top: 2rem; }
.olg-muzeum__zdjecie-a { grid-column: 1 / span 5; }
.olg-muzeum__zdjecie-b { grid-column: 7 / span 4; margin-top: 12rem; }
.olg-plotno .olg-podpis-zdjecia { color: #59534e; }

/* ---------- 13. Mapa: linie odsłaniane jak atrament ---------------- */
.olg-mapa { position: relative; z-index: 2; background: var(--olg-atrament); overflow: hidden; }
.olg-mapa__pin { position: relative; height: 100vh; height: 100svh; display: grid; place-items: center; }
.olg-mapa__linie {
  position: absolute; inset: -4% -4%; background: url("../img/olg-mapa-linie.webp") center / cover no-repeat;
  -webkit-mask-image: radial-gradient(circle at var(--olg-mx, 55%) var(--olg-my, 52%), #000 calc(var(--olg-r, 0%) - 12%), transparent var(--olg-r, 0%));
          mask-image: radial-gradient(circle at var(--olg-mx, 55%) var(--olg-my, 52%), #000 calc(var(--olg-r, 0%) - 12%), transparent var(--olg-r, 0%));
  will-change: mask-image, transform;
}
.olg-mapa__blask { position: absolute; inset: 0; background: radial-gradient(circle at 55% 52%, rgba(215, 208, 202, .14), transparent 45%); pointer-events: none; }
.olg-mapa__znacznik { position: absolute; left: 55%; top: 52%; width: 16px; height: 16px; transform: translate(-50%, -50%); }
.olg-mapa__znacznik::before, .olg-mapa__znacznik::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 1px solid var(--olg-zloto-jasne); }
.olg-mapa__znacznik::after { animation: olg-puls 2.8s var(--olg-ease) infinite; }
.olg-mapa__znacznik i { position: absolute; inset: 5px; border-radius: 50%; background: var(--olg-zloto-jasne); }
@keyframes olg-puls { from { transform: scale(1); opacity: .9; } to { transform: scale(4.5); opacity: 0; } }
.olg-mapa__tresc {
  position: relative; z-index: 2; max-width: 34rem; margin-right: auto; margin-left: var(--olg-margines);
  padding: 2.2rem 2.4rem; background: rgba(16, 14, 13, .72); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  border-left: 1px solid var(--olg-zloto);
}
.olg-mapa__tresc .olg-cytat { font-size: var(--olg-skala-l); margin-top: 1.2rem; color: var(--olg-zloto-jasne); }

/* ---------- 14. Pokój 3D: obraz w zaprojektowanym wnętrzu --------- */
.olg-pokoj-sekcja { position: relative; z-index: 2; background: #090808; overflow: hidden; }
.olg-pokoj-sekcja__pin { position: relative; height: 100vh; height: 100svh; overflow: hidden; }
.olg-scena { position: absolute; inset: 0; perspective: 1200px; perspective-origin: 50% 46%; }
.olg-pokoj {
  --W: 1400px; --H: 800px; --D: 1200px;
  position: absolute; left: 50%; top: 50%; width: 0; height: 0;
  transform-style: preserve-3d; will-change: transform;
}
.olg-pokoj__sciana { position: absolute; backface-visibility: hidden; }
.olg-pokoj__tyl {
  width: var(--W); height: var(--H); margin: calc(var(--H) / -2) 0 0 calc(var(--W) / -2);
  transform: translateZ(calc(var(--D) * -1));
  background:
    radial-gradient(ellipse 34% 48% at 50% 38%, rgba(228, 225, 223, .16), transparent 70%),
    linear-gradient(180deg, #211f1d 0%, #1a1816 70%, #141211 100%);
}
.olg-pokoj__podloga {
  width: var(--W); height: var(--D); margin: calc(var(--D) / -2) 0 0 calc(var(--W) / -2);
  transform: translateY(calc(var(--H) / 2)) translateZ(calc(var(--D) / -2)) rotateX(90deg);
  background:
    linear-gradient(to top, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0) 60%),
    repeating-linear-gradient(90deg, rgba(0, 0, 0, .35) 0 2px, transparent 2px 120px),
    repeating-linear-gradient(0deg, rgba(0, 0, 0, .25) 0 2px, transparent 2px 520px),
    linear-gradient(90deg, #3a3633, #2d2a27 30%, #3b3734 55%, #242220 80%, #36322e);
}
.olg-pokoj__sufit {
  width: var(--W); height: var(--D); margin: calc(var(--D) / -2) 0 0 calc(var(--W) / -2);
  transform: translateY(calc(var(--H) / -2)) translateZ(calc(var(--D) / -2)) rotateX(-90deg);
  background: linear-gradient(to top, #100e0d, #151312);
}
.olg-pokoj__lewa, .olg-pokoj__prawa {
  width: var(--D); height: var(--H); margin: calc(var(--H) / -2) 0 0 calc(var(--D) / -2);
  background: linear-gradient(90deg, #161413, #1e1c1a);
}
.olg-pokoj__lewa { transform: translateX(calc(var(--W) / -2)) translateZ(calc(var(--D) / -2)) rotateY(90deg); }
.olg-pokoj__prawa { transform: translateX(calc(var(--W) / 2)) translateZ(calc(var(--D) / -2)) rotateY(-90deg); background: linear-gradient(270deg, #131211, #1b1918); }
/* Wysokie okno w lewej ścianie i smuga światła */
.olg-pokoj__okno {
  position: absolute; left: 34%; top: 10%; width: 22%; height: 72%;
  background: linear-gradient(180deg, #e2dfdc, #c0b9b3 60%, #9c9086);
  box-shadow: 0 0 80px 20px rgba(226, 223, 220, .35);
}
.olg-pokoj__okno::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 3px; margin-left: -1.5px; background: #1a1816; }
.olg-pokoj__okno::after { content: ""; position: absolute; left: 0; right: 0; top: 38%; height: 3px; background: #1a1816; }
.olg-pokoj__plama {
  position: absolute; pointer-events: none; mix-blend-mode: screen;
  background: linear-gradient(90deg, rgba(226, 222, 219, 0), rgba(226, 222, 219, .38) 30%, rgba(226, 222, 219, .3) 70%, rgba(226, 222, 219, 0));
  filter: blur(6px);
}
.olg-pokoj__plama--podloga { left: 0; top: var(--olg-plama-y, 30%); width: 62%; height: 26%; transform: skewX(-28deg); transform-origin: left; }
.olg-pokoj__plama--sciana { left: var(--olg-plama-x, 8%); top: 18%; width: 16%; height: 70%; transform: skewY(-8deg); opacity: .8; }
/* Obraz na ścianie */
.olg-pokoj__obraz {
  position: absolute; left: 50%; top: 42%; height: 52%; aspect-ratio: 4 / 5; transform: translate(-50%, -50%);
  padding: 1.1%; background: #e3e0dd; box-shadow: 0 30px 60px rgba(0, 0, 0, .55), 0 0 0 1px rgba(127, 118, 111, .6);
}
.olg-pokoj__obraz img { width: 100%; height: 100%; object-fit: cover; }
.olg-pokoj__lawka { position: absolute; left: 50%; bottom: 9%; width: 30%; height: 4.5%; transform: translateX(-50%); background: linear-gradient(#282523, #161514); box-shadow: 0 18px 30px rgba(0, 0, 0, .6); }
.olg-pokoj__lawka::before, .olg-pokoj__lawka::after { content: ""; position: absolute; top: 100%; width: 3%; height: 180%; background: #11100f; }
.olg-pokoj__lawka::before { left: 8%; } .olg-pokoj__lawka::after { right: 8%; }
.olg-pokoj-sekcja__teksty { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.olg-pokoj__przyciemnienie { position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0; background: linear-gradient(to top, rgba(9, 8, 8, .92) 0%, rgba(9, 8, 8, .6) 45%, rgba(9, 8, 8, .15) 100%); }
.olg-pokoj-tekst {
  position: absolute; left: var(--olg-margines); bottom: clamp(2.5rem, 9vh, 6rem); max-width: 30rem;
  padding: 1.8rem 2rem; background: rgba(9, 8, 8, .74); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  opacity: 0; transform: translateY(24px);
}
.olg-pokoj-tekst--b { left: auto; right: var(--olg-margines); }
.olg-pokoj-tekst--c { left: 0; right: 0; top: auto; bottom: clamp(2.5rem, 8vh, 5rem); margin: 0 auto; height: fit-content; background: none; backdrop-filter: none; -webkit-backdrop-filter: none; max-width: 52rem; text-align: center; }
.olg-pokoj-sekcja.is-statyczny .olg-pokoj-tekst { opacity: 1; transform: none; }
.olg-pokoj-sekcja.is-statyczny .olg-pokoj-tekst--c { display: none; }
.olg-puzzle.is-statyczny .olg-puzzle__pin { height: auto; }
.olg-puzzle.is-statyczny .olg-puzzle__teksty { min-height: 0; display: grid; gap: 1.5rem; }
.olg-pokoj-tekst--c .olg-cytat { font-size: var(--olg-skala-xl); line-height: 1.12; text-shadow: 0 4px 40px rgba(0, 0, 0, .8); }

/* ---------- 15. Puzzle: układanka składa się podczas przewijania --- */
.olg-puzzle { position: relative; z-index: 2; background: var(--olg-atrament); overflow: hidden; }
.olg-puzzle__pin { position: relative; height: 100vh; height: 100svh; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: 3rem; padding: 6rem var(--olg-margines) 3rem; }
.olg-puzzle__teksty { position: relative; z-index: 2; min-height: 22rem; }
.olg-puzzle__plansza { z-index: 0; }
.olg-puzzle__krok { position: absolute; inset: 0 0 auto 0; opacity: 0; }
.olg-puzzle__krok:first-child { opacity: 1; }
.olg-puzzle__plansza { position: relative; height: min(80vh, 900px); width: auto; max-width: 100%; aspect-ratio: 5 / 7; justify-self: center; }
.olg-puzzle__plotno { position: absolute; left: 0; top: 0; z-index: 1; pointer-events: none; }
.olg-puzzle__kawalek { cursor: default; }
.olg-puzzle__szew { fill: none; stroke: rgba(215, 208, 202, .5); stroke-width: 1.2; }
.olg-puzzle__cien { fill: rgba(0, 0, 0, .55); }
.olg-puzzle__licznik { position: absolute; right: 0; bottom: -2.2rem; font-size: var(--olg-skala-xs); color: var(--olg-plotno-cien); letter-spacing: .06em; font-variant-numeric: tabular-nums; }

/* ---------- 16. Finał i ważka kreślona złotem ---------------------- */
.olg-final { padding: clamp(7rem, 18vh, 12rem) 0; text-align: center; }
.olg-final__wazka { width: clamp(140px, 18vw, 220px); margin: 0 auto 2.5rem; }
.olg-final__wazka svg { overflow: visible; }
.olg-final .olg-naglowek { max-width: 16ch; margin-inline: auto; }
.olg-final__akcje { display: flex; justify-content: center; gap: 2.5rem; margin-top: 3rem; flex-wrap: wrap; }

/* Ważka - wspólne style (kontakt, finał) */
.olg-wazka { position: relative; width: 100%; height: auto; overflow: visible; }
.olg-wazka__skrzydlo { fill: rgba(215, 208, 202, .07); stroke: var(--olg-zloto-jasne); stroke-width: 1; transform-box: fill-box; }
.olg-wazka__zylka { fill: none; stroke: rgba(215, 208, 202, .45); stroke-width: .6; }
.olg-wazka__cialo { fill: none; stroke: var(--olg-zloto-jasne); stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }
.olg-wazka__oko { fill: var(--olg-zloto-jasne); }
.olg-wazka__skrzydlo--lp, .olg-wazka__skrzydlo--lt { transform-origin: 100% 50%; }
.olg-wazka__skrzydlo--pp, .olg-wazka__skrzydlo--pt { transform-origin: 0% 50%; }
.olg-wazka.is-lot .olg-wazka__skrzydla { animation: olg-trzepot .07s linear infinite alternate; }
.olg-wazka.is-spoczynek .olg-wazka__skrzydla { animation: olg-oddech 3.2s ease-in-out infinite; }
.olg-wazka__skrzydla { transform-origin: 100px 64px; transform-box: view-box; }
@keyframes olg-trzepot { from { transform: scaleX(1) scaleY(1); } to { transform: scaleX(.72) scaleY(.94); } }
@keyframes olg-oddech { 0%, 100% { transform: scaleX(1); } 50% { transform: scaleX(.86); } }

/* ---------- 17. Galeria: ściana muzealna --------------------------- */
.olg-galeria-wstep { padding: clamp(8rem, 20vh, 12rem) 0 3rem; }
.olg-galeria-wstep__siatka { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; align-items: end; }
.olg-galeria-wstep__tytul { grid-column: 1 / span 7; }
.olg-galeria-wstep__tekst { grid-column: 8 / span 5; }
.olg-sciana { position: relative; z-index: 2; overflow: hidden; }
.olg-sciana__pin { height: 100vh; height: 100svh; display: flex; align-items: center; }
.olg-sciana__tor { display: flex; align-items: center; gap: clamp(4rem, 9vw, 9rem); padding: 0 var(--olg-margines); width: max-content; will-change: transform; }
.olg-dzielo { flex: none; margin: 0; display: flex; flex-direction: column; gap: 1.4rem; }
.olg-dzielo__przycisk { display: block; padding: 0; border: 0; background: none; cursor: zoom-in; }
.olg-dzielo__rama {
  display: block; position: relative; padding: 14px; background: #e7e4e2;
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .9), 0 0 0 1px rgba(127, 118, 111, .5);
  transition: transform .9s var(--olg-ease);
}
.olg-dzielo__przycisk:hover .olg-dzielo__rama { transform: translateY(-8px); }
.olg-dzielo__rama img { display: block; height: clamp(260px, 52vh, 560px); width: auto; object-fit: cover; }
.olg-dzielo--szerokie .olg-dzielo__rama img { aspect-ratio: 4 / 3; }
.olg-dzielo--pionowe .olg-dzielo__rama img { aspect-ratio: 4 / 5; }
.olg-dzielo__plakietka { font-size: var(--olg-skala-xs); color: var(--olg-plotno-cien); line-height: 1.5; border-left: 1px solid var(--olg-zloto); padding-left: 1rem; max-width: 22rem; }
.olg-dzielo__plakietka strong { display: block; font-family: var(--olg-font-szeryf); font-weight: 400; font-style: italic; font-size: var(--olg-skala-m); color: var(--olg-plotno); margin-bottom: .2rem; }
.olg-dzielo--koniec { width: min(70vw, 420px); }
.olg-lightbox { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; color: var(--olg-plotno); }
.olg-lightbox::backdrop { background: rgba(9, 8, 8, .94); }
.olg-lightbox__wnetrze { height: 100%; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 22rem); gap: 3rem; align-items: center; padding: 5rem var(--olg-margines) 3rem; }
.olg-lightbox__obraz { max-height: 82vh; width: 100%; object-fit: contain; }
.olg-lightbox__zamknij { position: absolute; top: 1.4rem; right: var(--olg-margines); background: none; border: 0; cursor: pointer; letter-spacing: .1em; font-size: var(--olg-skala-xs); padding: .6rem 0; }

/* ---------- 18. Strony „w przygotowaniu” (03-06) ------------------ */
.olg-wkrotce { position: relative; z-index: 2; min-height: 100vh; min-height: 100svh; display: grid; place-items: center; overflow: hidden; text-align: center; }
.olg-wkrotce__mapa {
  position: absolute; inset: -5%; background: url("../img/olg-mapa-linie.webp") center / cover no-repeat;
  -webkit-mask-image: radial-gradient(circle 22vmax at var(--olg-mx, 50%) var(--olg-my, 50%), rgba(0, 0, 0, .9), transparent 100%);
          mask-image: radial-gradient(circle 22vmax at var(--olg-mx, 50%) var(--olg-my, 50%), rgba(0, 0, 0, .9), transparent 100%);
  opacity: .8;
}
.olg-wkrotce__tresc { position: relative; padding: 8rem var(--olg-margines) 5rem; max-width: 46rem; }
.olg-wkrotce__numer { font-family: var(--olg-font-szeryf); font-style: italic; color: var(--olg-zloto); font-size: var(--olg-skala-l); display: block; margin-bottom: 1rem; }
.olg-wkrotce__tekst { color: var(--olg-plotno-cien); margin: 1.6rem auto 2.4rem; max-width: 30em; }
.olg-wkrotce__akcje { display: flex; justify-content: center; gap: 2.4rem; flex-wrap: wrap; }

/* ---------- 19. Kontakt: wizytówka, ważka, formularz -------------- */
.olg-kontakt { position: relative; z-index: 2; min-height: 100vh; min-height: 100svh; overflow: hidden; overflow: clip; display: grid; place-items: center; }
.olg-kontakt__swiatlo { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle 38vmax at var(--olg-mx, 50%) var(--olg-my, 45%), rgba(215, 208, 202, .1), transparent 70%); }
.olg-kontakt__mapa { position: absolute; inset: -10%; background: url("../img/olg-mapa-linie.webp") center / cover no-repeat; opacity: .06; animation: olg-dryf 60s linear infinite alternate; }
@keyframes olg-dryf { from { transform: translate(-2%, -1%) scale(1.02); } to { transform: translate(2%, 1%) scale(1.06); } }
.olg-kontakt__uklad { position: relative; width: min(100% - 2 * var(--olg-margines), 1240px); display: flex; align-items: center; justify-content: center; min-height: 100vh; min-height: 100svh; padding: 6rem 0 4rem; }
.olg-kontakt__stol { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; perspective: 1400px; }

.olg-wizytowka {
  --olg-rx: 0deg; --olg-ry: 0deg; --olg-bx: 50%; --olg-by: 50%;
  position: relative; width: min(680px, 100%); aspect-ratio: 1.75 / 1; flex: none;
  perspective: 1400px;
  filter: drop-shadow(0 50px 60px rgba(0, 0, 0, .7)) drop-shadow(0 10px 18px rgba(0, 0, 0, .5));
  z-index: 3;
}
/* Warstwa pochylenia (zmienne ustawia JS); pozycję całej wizytówki animuje GSAP na rodzicu */
.olg-wizytowka__pochyl {
  position: absolute; inset: 0; transform-style: preserve-3d;
  transform: rotateX(var(--olg-rx)) rotateY(var(--olg-ry));
}
.olg-wizytowka__karta {
  position: absolute; inset: 0; overflow: hidden;
  background:
    radial-gradient(circle at var(--olg-bx) var(--olg-by), rgba(230, 227, 225, .09), transparent 45%),
    linear-gradient(135deg, #141312, #0c0b0a 60%, #11100f);
}
.olg-wizytowka__faktura { position: absolute; right: -12%; bottom: -30%; width: 75%; height: 110%; background: url("../img/olg-mapa-linie.webp") center / cover no-repeat; opacity: .16; transform: rotate(-8deg); }
/* Połysk złotej folii - przesuwa się za kursorem */
.olg-wizytowka__folia {
  position: absolute; inset: 0; pointer-events: none; mix-blend-mode: screen; opacity: .55;
  background: linear-gradient(115deg, transparent calc(var(--olg-bx) * .7 + 5%), rgba(226, 222, 219, .10) calc(var(--olg-bx) * .7 + 13%), transparent calc(var(--olg-bx) * .7 + 21%));
}
.olg-wizytowka__obrys { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.olg-wizytowka__obrys path { fill: none; stroke: rgba(215, 208, 202, .55); stroke-width: 1; vector-effect: non-scaling-stroke; }
.olg-wizytowka__tresc { position: absolute; inset: 9% 9% 9% 8%; display: grid; grid-template-rows: auto 1fr auto; transform: translateZ(30px); }
.olg-wizytowka__marka { display: flex; align-items: center; gap: 1rem; }
.olg-wizytowka__slowo {
  font-family: var(--olg-font-bez); font-weight: 300; font-size: clamp(1.05rem, 2.8vw, 1.75rem); letter-spacing: .42em;
  background: linear-gradient(100deg, #716962 0%, #c6bfb9 calc(var(--olg-bx) - 10%), #8e8074 calc(var(--olg-bx) + 12%), #645d56 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.olg-wizytowka__podpis { width: clamp(80px, 16vw, 130px); color: var(--olg-zloto-jasne); margin-top: .4rem; }
.olg-wizytowka__podpis path { fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; }
.olg-wizytowka__rola { font-size: clamp(.72rem, 1.6vw, .82rem); color: var(--olg-plotno-cien); letter-spacing: .06em; margin: .3rem 0 0; }
.olg-wizytowka__dane { display: grid; gap: .25rem; font-size: clamp(.78rem, 1.9vw, .95rem); max-width: 64%; }
.olg-wizytowka__dane a { color: var(--olg-plotno); text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .6s var(--olg-ease), color .4s; }
.olg-wizytowka__dane a:hover, .olg-wizytowka__dane a:focus-visible { color: var(--olg-zloto-jasne); background-size: 100% 1px; }
.olg-wizytowka__etykieta { color: var(--olg-zloto); margin-right: .5em; }
.olg-wizytowka__brak { color: var(--olg-plotno-cien); font-style: italic; }

/* Brakujący element: wolny kawałek układanki (przycisk otwierający formularz) */
.olg-element {
  position: absolute; z-index: 5; width: var(--olg-el-w, 88px); height: var(--olg-el-h, 88px);
  padding: 0; border: 0; background: none; cursor: pointer; left: 0; top: 0;
  transform: translate(var(--olg-el-x, 0), var(--olg-el-y, 0)) rotate(var(--olg-el-r, 0deg));
  transition: transform 1.1s var(--olg-ease), filter .5s;
  filter: drop-shadow(0 14px 18px rgba(0, 0, 0, .6));
}
.olg-element svg { width: 100%; height: 100%; overflow: visible; }
.olg-element__ksztalt { stroke: rgba(215, 208, 202, .8); stroke-width: 1; vector-effect: non-scaling-stroke; }
.olg-element:hover, .olg-element:focus-visible { filter: drop-shadow(0 14px 18px rgba(0, 0, 0, .6)) drop-shadow(0 0 14px rgba(215, 208, 202, .35)); }
.olg-element.is-unosi { animation: olg-unoszenie 5s ease-in-out infinite; }
@keyframes olg-unoszenie { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }
.olg-element.is-wlozony { cursor: default; filter: none; animation: none; }
.olg-kontakt__podpowiedz {
  position: absolute; left: 50%; bottom: 2.4rem; transform: translateX(-50%); margin: 0;
  font-family: var(--olg-font-szeryf); font-style: italic; font-size: var(--olg-skala-s); color: var(--olg-plotno-cien);
  opacity: 0; transition: opacity 1.6s; white-space: nowrap;
}
.olg-kontakt__podpowiedz.is-widoczna { opacity: 1; }
.olg-kontakt__wazka { position: absolute; left: 0; top: 0; z-index: 8; width: 92px; pointer-events: none; will-change: transform; }
.olg-kontakt__akcje-male { position: absolute; left: 50%; top: calc(100% + 2rem); transform: translateX(-50%); display: flex; gap: 2rem; white-space: nowrap; z-index: 1; transition: opacity .6s; }
.olg-kontakt.is-formularz .olg-kontakt__akcje-male { opacity: 0; pointer-events: none; }

/* Formularz: arkusz płótna wysuwany spod wizytówki */
.olg-formularz {
  position: absolute; top: 50%; left: 50%; z-index: 2;
  width: min(520px, 100%); max-height: calc(100svh - 7rem); overflow-y: auto; overscroll-behavior: contain;
  padding: clamp(1.6rem, 3.5vw, 2.8rem);
  color: var(--olg-atrament); background-color: var(--olg-plotno);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='4'/%3E%3CfeDiffuseLighting lighting-color='%23f3ecdf' surfaceScale='1.4'%3E%3CfeDistantLight azimuth='45' elevation='60'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");
  background-blend-mode: multiply;
  box-shadow: 0 40px 80px rgba(0, 0, 0, .6);
  transform: translate(-50%, -50%) scale(.92); opacity: 0; visibility: hidden;
}
.olg-formularz__naglowek { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1.6rem; }
.olg-formularz__tytul { font-family: var(--olg-font-szeryf); font-variation-settings: "opsz" 72; font-weight: 400; font-size: clamp(1.7rem, 3vw, 2.3rem); line-height: 1.05; margin: 0; }
.olg-formularz__zamknij { background: none; border: 0; padding: .4rem; cursor: pointer; color: var(--olg-atrament); width: 38px; height: 38px; position: relative; flex: none; }
.olg-formularz__zamknij::before, .olg-formularz__zamknij::after { content: ""; position: absolute; left: 8px; right: 8px; top: 50%; height: 1px; background: currentColor; transform: rotate(45deg); transition: transform .5s var(--olg-ease); }
.olg-formularz__zamknij::after { transform: rotate(-45deg); }
.olg-formularz__zamknij:hover::before { transform: rotate(135deg); }
.olg-formularz__zamknij:hover::after { transform: rotate(45deg); }
.olg-pole { position: relative; margin-bottom: 1.3rem; }
.olg-pole__input {
  width: 100%; border: 0; border-bottom: 1px solid rgba(16, 14, 13, .35); background: transparent; border-radius: 0;
  padding: 1.35rem 0 .45rem; font: inherit; font-size: 1rem; color: var(--olg-atrament); outline: none; resize: vertical;
}
.olg-pole__input:focus { border-bottom-color: var(--olg-zloto-ciemne); }
.olg-pole__etykieta { position: absolute; left: 0; top: 1.3rem; font-size: 1rem; color: #59534e; pointer-events: none; transform-origin: left top; transition: transform .45s var(--olg-ease), color .3s; }
.olg-pole__input:focus + .olg-pole__etykieta, .olg-pole__input:not(:placeholder-shown) + .olg-pole__etykieta { transform: translateY(-1.15rem) scale(.78); color: var(--olg-zloto-ciemne); }
.olg-pole__kreska { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--olg-zloto-ciemne); transform: scaleX(0); transform-origin: left; transition: transform .7s var(--olg-ease); }
.olg-pole__input:focus ~ .olg-pole__kreska { transform: scaleX(1); }
.olg-pole__blad { display: block; min-height: 0; font-size: var(--olg-skala-xs); color: var(--olg-wisnia); margin-top: .35rem; }
.olg-pole.is-blad .olg-pole__input { border-bottom-color: var(--olg-wisnia); }
.olg-tematy { border: 0; padding: 0; margin: 0 0 1.4rem; }
.olg-tematy legend { font-size: var(--olg-skala-s); color: #59534e; margin-bottom: .7rem; padding: 0; }
.olg-tematy__lista { display: flex; flex-wrap: wrap; gap: .5rem; }
.olg-temat input { position: absolute; opacity: 0; pointer-events: none; }
.olg-temat span {
  display: inline-block; padding: .45rem 1rem; border: 1px solid rgba(16, 14, 13, .3); border-radius: 999px;
  font-size: var(--olg-skala-s); cursor: pointer; transition: background .4s, color .4s, border-color .4s;
}
.olg-temat input:checked + span { background: var(--olg-atrament); color: var(--olg-plotno); border-color: var(--olg-atrament); }
.olg-temat input:focus-visible + span { outline: 1px solid var(--olg-zloto-ciemne); outline-offset: 3px; }
.olg-zgoda { display: flex; gap: .8rem; align-items: flex-start; font-size: var(--olg-skala-xs); color: #4b4642; line-height: 1.5; margin: .4rem 0 1.6rem; cursor: pointer; }
.olg-zgoda input { appearance: none; -webkit-appearance: none; flex: none; width: 18px; height: 18px; margin: .1rem 0 0; border: 1px solid rgba(16, 14, 13, .5); display: grid; place-items: center; cursor: pointer; }
.olg-zgoda input::after { content: ""; width: 10px; height: 10px; background: var(--olg-atrament); transform: scale(0); transition: transform .3s var(--olg-ease); clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); }
.olg-zgoda input:checked::after { transform: scale(1); }
.olg-zgoda.is-blad input { border-color: var(--olg-wisnia); }
.olg-wyslij {
  position: relative; display: inline-flex; align-items: center; gap: 1rem; overflow: hidden;
  padding: 1rem 1.8rem; border: 1px solid var(--olg-atrament); background: var(--olg-atrament); color: var(--olg-plotno);
  font-size: var(--olg-skala-s); letter-spacing: .06em; cursor: pointer; transition: color .5s;
}
.olg-wyslij::before { content: ""; position: absolute; inset: 0; background: var(--olg-zloto); transform: translateY(101%); transition: transform .6s var(--olg-ease); }
.olg-wyslij:hover::before, .olg-wyslij:focus-visible::before { transform: none; }
.olg-wyslij:hover, .olg-wyslij:focus-visible { color: var(--olg-atrament); }
.olg-wyslij span { position: relative; }
.olg-wyslij[disabled] { opacity: .6; cursor: progress; }
.olg-formularz__podziekowanie { text-align: center; padding: 2rem 0 1rem; }
.olg-formularz__podziekowanie[hidden] { display: none; }
.olg-formularz__status { font-size: var(--olg-skala-xs); color: var(--olg-wisnia); margin: 0 0 1rem; }
.olg-formularz__status:empty { display: none; }

/* Stan „formularz otwarty”: wizytówka odsuwa się w lewo, arkusz wysuwa w prawo */
.olg-kontakt.is-formularz .olg-kontakt__podpowiedz { opacity: 0; }
@media (max-width: 999px) { .olg-kontakt.is-formularz .olg-formularz { z-index: 6; } }

/* ---------- 20. Stopka ------------------------------------------- */
.olg-stopka { position: relative; z-index: 2; border-top: 1px solid rgba(127, 118, 111, .22); padding: clamp(3.5rem, 8vh, 5.5rem) 0 2.2rem; font-size: var(--olg-skala-s); background: radial-gradient(ellipse 60% 90% at 50% 0%, rgba(215, 208, 202, .05), transparent 70%), var(--olg-atrament); }
.olg-stopka__siatka { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.1fr); gap: 2.5rem 2rem; }
.olg-stopka__marka { font-family: var(--olg-font-szeryf); font-variation-settings: "opsz" 60; font-size: 1.5rem; letter-spacing: .3em; margin: 0 0 1rem; }
.olg-stopka__zdanie { color: var(--olg-plotno-cien); max-width: 24em; margin: 0; font-family: var(--olg-font-szeryf); font-style: italic; }
.olg-stopka__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.olg-stopka a { color: var(--olg-plotno); text-decoration: none; transition: color .3s; }
.olg-stopka a:hover { color: var(--olg-zloto-jasne); }
.olg-stopka__dol { display: flex; justify-content: space-between; align-items: center; gap: 1rem 1.5rem; flex-wrap: wrap; margin-top: clamp(3rem, 7vh, 4.5rem); padding-top: 1.6rem; border-top: 1px solid rgba(127, 118, 111, .16); font-size: var(--olg-skala-xs); color: var(--olg-plotno-cien); }
.olg-stopka__dol a { color: var(--olg-plotno-cien); }

/* WordPress: pasek administratora nad przypiętym nagłówkiem */
.admin-bar .olg-naglowek-strony { top: 32px; }
@media (max-width: 782px) { .admin-bar .olg-naglowek-strony { top: 46px; } }

/* ---------- 21. Wejścia elementów (sterowane z JS) ----------------- */
.olg-js [data-olg-pojaw] { opacity: 0; transform: translateY(28px); }
.olg-js [data-olg-odslon] { clip-path: inset(100% 0 0 0); }
.olg-js [data-olg-odslon] img { transform: scale(1.18); }
.olg-slowo { display: inline-block; }

/* ---------- 22. Responsywność -------------------------------------- */
@media (max-width: 1024px) {
  .olg-menu { grid-template-columns: 1fr; }
  .olg-menu__bok { display: none; }
  .olg-puzzle__pin { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); gap: 1.5rem; padding-top: 5.5rem; }
  .olg-puzzle__teksty { min-height: 11rem; }
  .olg-puzzle__plansza { height: 100%; max-height: 58vh; width: auto; }
}
@media (max-width: 900px) {
  .olg-powitanie__tytul, .olg-powitanie__tekst { grid-column: 1 / -1; }
  .olg-etap { row-gap: 1.6rem; }
  .olg-etap__tresc, .olg-etap:nth-child(even) .olg-etap__tresc { grid-column: 2 / -1; grid-row: 2; }
  .olg-etap__zdjecie, .olg-etap__zdjecie--lewo { grid-column: 2 / span 9; grid-row: 1; }
  .olg-spis__link { grid-template-columns: 2.6rem minmax(0, 1fr); }
  .olg-spis__opis { grid-column: 2; }
  .olg-spis__podglad { display: none; }
  .olg-otwarcie__tytul, .olg-otwarcie__tekst { grid-column: 1 / -1; padding-right: 0; }
  .olg-otwarcie__zdjecie { grid-column: 3 / -1; grid-row: 2; margin-bottom: 3rem; }
  .olg-otwarcie__tekst { grid-row: 3; }
  .olg-muzeum__wstep, .olg-muzeum__cytat { grid-column: 1 / -1; }
  .olg-muzeum__zdjecie-a { grid-column: 1 / span 7; }
  .olg-muzeum__zdjecie-b { grid-column: 6 / -1; margin-top: 6rem; }
  .olg-stopka__siatka { grid-template-columns: 1fr 1fr; }
  .olg-stopka__siatka > :first-child { grid-column: 1 / -1; }
  .olg-galeria-wstep__tytul, .olg-galeria-wstep__tekst { grid-column: 1 / -1; }
  .olg-galeria-wstep__tekst { margin-top: 1.5rem; }
  .olg-lightbox__wnetrze { grid-template-columns: 1fr; align-content: center; gap: 1.5rem; }
  .olg-lightbox__obraz { max-height: 62vh; }
  .olg-pokoj-tekst, .olg-pokoj-tekst--b { left: 1rem; right: 1rem; max-width: none; bottom: 1.5rem; padding: 1.3rem 1.4rem; }
  .olg-pokoj-tekst--c { left: 1rem; right: 1rem; bottom: 2rem; }
  .olg-mapa__tresc { margin: 0 1rem; padding: 1.6rem 1.5rem; align-self: end; margin-bottom: 2rem; }
}
/* Droga i ściana galerii bez poziomego przypięcia na wąskich ekranach */
@media (max-width: 899px) {
  .olg-droga__pin { height: auto; padding: 7rem 0 5rem; }
  .olg-droga__naglowek { position: static; padding: 0 var(--olg-margines); margin-bottom: 3rem; flex-direction: column; gap: .5rem; }
  .olg-droga__tor { flex-direction: column; align-items: stretch; width: auto; padding: 0 var(--olg-margines); gap: 3.5rem; }
  .olg-droga__linia { left: calc(var(--olg-margines) + 6px); top: 0; bottom: 0; width: 1px; height: auto; }
  .olg-droga__linia i { transform-origin: top; transform: scaleY(0); }
  .olg-stacja, .olg-stacja--final { width: auto; min-height: 0; padding: 0 0 0 2.6rem; grid-template-rows: auto; }
  .olg-droga__pin { padding-top: 7rem; }
  .olg-stacja__punkt { position: absolute; left: 0; top: .9rem; }
  .olg-stacja__miasto { padding-bottom: .6rem; }
  .olg-stacja__opis { padding-top: 0; }
  .olg-sciana__pin { height: auto; padding: 1rem 0 5rem; }
  .olg-sciana__tor { flex-direction: column; width: auto; gap: 4rem; }
  .olg-dzielo__rama img { height: auto; width: 100%; }
  .olg-dzielo--koniec { width: auto; }
}
@media (max-width: 640px) {
  .olg-hero__stopka span:last-child { display: none; }
  .olg-wizytowka { width: 100%; }
  .olg-wizytowka__dane { max-width: 100%; }
  .olg-kontakt__akcje-male { flex-direction: column; gap: .2rem; align-items: center; top: calc(100% + 5.5rem); }
  .olg-kontakt__podpowiedz { white-space: normal; width: 80%; text-align: center; bottom: 1.4rem; }
  .olg-stopka__siatka { grid-template-columns: 1fr; }
}

/* ---------- 23. Ograniczony ruch -------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .olg-js [data-olg-pojaw] { opacity: 1; transform: none; }
  .olg-js [data-olg-odslon] { clip-path: none; }
  .olg-js [data-olg-odslon] img { transform: none; }
  .olg-ziarno { display: none; }
}

/* =====================================================================
   24. DODATKI 2026-09-29 - nowe materiały od klientki
   ===================================================================== */

/* ---------- 24.1 Ważka ze zdjęcia (prawdziwa, mosiężna) ---------------
   Trzy warstwy tego samego kadru: lewe skrzydła, ciało, prawe skrzydła.
   Skrzydła obracają się wokół osi ciała (rotateY) - z góry wygląda to
   jak trzepot. Oś: 46,55% i 52,33% szerokości, tułów na 25% wysokości. */
.olg-wazka--foto { position: relative; width: 100%; aspect-ratio: 900 / 616; perspective: 520px; transform-style: preserve-3d; }
.olg-wazka--foto img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; user-select: none; -webkit-user-drag: none; }
.olg-wazka__warstwa--l { transform-origin: 46.55% 25%; }
.olg-wazka__warstwa--p { transform-origin: 52.33% 25%; }
.olg-wazka--foto.is-lot { filter: drop-shadow(0 22px 14px rgba(0, 0, 0, .55)); }
.olg-wazka--foto.is-spoczynek { filter: drop-shadow(0 6px 5px rgba(0, 0, 0, .7)); }
.olg-wazka--foto.is-lot .olg-wazka__warstwa--l { animation: olg-trzepot-l .075s linear infinite alternate; }
.olg-wazka--foto.is-lot .olg-wazka__warstwa--p { animation: olg-trzepot-p .075s linear infinite alternate; }
.olg-wazka--foto.is-spoczynek .olg-wazka__warstwa--l { animation: olg-oddech-l 3.4s ease-in-out infinite; }
.olg-wazka--foto.is-spoczynek .olg-wazka__warstwa--p { animation: olg-oddech-p 3.4s ease-in-out infinite; }
@keyframes olg-trzepot-l { from { transform: rotateY(-8deg); } to { transform: rotateY(-62deg); } }
@keyframes olg-trzepot-p { from { transform: rotateY(8deg); } to { transform: rotateY(62deg); } }
@keyframes olg-oddech-l { 0%, 100% { transform: rotateY(0deg); } 50% { transform: rotateY(-16deg); } }
@keyframes olg-oddech-p { 0%, 100% { transform: rotateY(0deg); } 50% { transform: rotateY(16deg); } }
/* Połysk mosiądzu przesuwa się po skrzydłach */
.olg-wazka__blask {
  position: absolute; inset: 0; pointer-events: none; mix-blend-mode: soft-light;
  -webkit-mask: var(--olg-wazka-maska) center / 100% 100% no-repeat; mask: var(--olg-wazka-maska) center / 100% 100% no-repeat;
  background: linear-gradient(105deg, transparent 30%, rgba(232, 230, 228, .75) 45%, transparent 60%) 0 0 / 300% 100%;
  animation: olg-blask 6s ease-in-out infinite;
}
@keyframes olg-blask { 0% { background-position: 110% 0; } 55%, 100% { background-position: -10% 0; } }

.olg-kontakt__wazka { width: 118px; transform-origin: 50% 30%; }
.olg-final__wazka { position: relative; }
.olg-final__wazka--mala { width: clamp(120px, 14vw, 170px); }
/* Finał „O mnie”: ważka najpierw kreśli się złotą linią, potem zamienia w prawdziwą */
.olg-final__wazka .olg-wazka--foto.olg-wazka--nakladka { position: absolute; left: 4%; top: 15.5%; width: 92%; opacity: 0; }

/* ---------- 24.2 Galeria: narodziny obrazu (przypięta sekwencja) ---- */
.olg-narodziny { position: relative; z-index: 2; background: #0b0a09; overflow: hidden; }
.olg-narodziny__pin {
  position: relative; height: 100vh; height: 100svh; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  align-items: center; gap: clamp(2rem, 5vw, 6rem); padding: 6rem var(--olg-margines) 3rem;
}
.olg-narodziny__etykieta { font-family: var(--olg-font-bez); font-weight: 400; font-size: var(--olg-skala-xs); letter-spacing: .28em; text-transform: uppercase; color: var(--olg-zloto); margin: 0 0 2rem; }
.olg-narodziny__kroki { position: relative; min-height: 17rem; }
.olg-narodziny__krok { position: absolute; inset: 0 0 auto 0; opacity: 0; transform: translateY(24px); transition: opacity .8s var(--olg-ease), transform 1s var(--olg-ease); }
.olg-narodziny__krok.is-aktywny { opacity: 1; transform: none; }
.olg-narodziny__krok .olg-naglowek { margin: 0 0 1.2rem; max-width: 13ch; }
.olg-narodziny__nr { display: block; font-family: var(--olg-font-szeryf); font-style: italic; color: var(--olg-zloto-jasne); font-size: var(--olg-skala-l); margin-bottom: .8rem; }
.olg-narodziny__pasek { position: relative; height: 1px; background: rgba(215, 208, 202, .18); margin-top: 2.5rem; max-width: 22rem; }
.olg-narodziny__pasek i { position: absolute; inset: 0; background: var(--olg-zloto); transform-origin: left; transform: scaleX(0); }
.olg-narodziny__okno { position: relative; height: min(78vh, 780px); aspect-ratio: 4 / 5; justify-self: center; overflow: hidden; background: #080707; box-shadow: 0 40px 80px rgba(0, 0, 0, .55); }
.olg-narodziny__okno::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(215, 208, 202, .22); pointer-events: none; }
.olg-narodziny__kadr { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; will-change: clip-path, transform; }
.olg-narodziny__licznik { position: absolute; right: 1rem; bottom: .9rem; z-index: 2; font-size: var(--olg-skala-xs); letter-spacing: .12em; color: var(--olg-plotno); font-variant-numeric: tabular-nums; text-shadow: 0 1px 6px rgba(0, 0, 0, .8); }
/* Bez ruchu / bez skryptów: zwykła lista kadrów */
.olg-narodziny.is-statyczny .olg-narodziny__pin { height: auto; display: block; }
.olg-narodziny.is-statyczny .olg-narodziny__kroki { min-height: 0; display: grid; gap: 2rem; margin-bottom: 3rem; }
.olg-narodziny.is-statyczny .olg-narodziny__krok { position: relative; opacity: 1; transform: none; }
.olg-narodziny.is-statyczny .olg-narodziny__okno { height: auto; aspect-ratio: auto; overflow: visible; background: none; box-shadow: none; display: grid; gap: 1.5rem; max-width: 900px; margin: 0 auto; }
.olg-narodziny.is-statyczny .olg-narodziny__kadr { position: relative; height: auto; }
.olg-narodziny.is-statyczny .olg-narodziny__licznik, .olg-narodziny.is-statyczny .olg-narodziny__pasek { display: none; }

/* ---------- 24.3 O mnie: z bliska - światło pod kursorem ---------------- */
.olg-detale__wstep { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; align-items: end; margin-bottom: clamp(3rem, 8vh, 5rem); }
.olg-detale__wstep .olg-naglowek { grid-column: 1 / span 6; }
.olg-detale__wstep .olg-tekst { grid-column: 7 / span 6; margin: 0; }
.olg-detale__siatka { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2.5rem); align-items: start; }
.olg-detal { margin: 0; }
.olg-detal:nth-child(2) { margin-top: clamp(2rem, 8vw, 7rem); }
.olg-detal:nth-child(3) { margin-top: clamp(1rem, 4vw, 3.5rem); }
.olg-detal__plansza { --olg-mx: 50%; --olg-my: 40%; --olg-r: 0px; position: relative; aspect-ratio: 13 / 15; overflow: hidden; background: #0a0909; box-shadow: 0 30px 60px rgba(0, 0, 0, .45), inset 0 0 0 1px rgba(215, 208, 202, .16); }
.olg-detal__cien, .olg-detal__swiatlo { position: absolute; inset: 0; background-position: center; background-size: cover; background-repeat: no-repeat; }
.olg-detal__cien { filter: brightness(.42) saturate(.7); transform: scale(1.06); transition: transform 1.6s var(--olg-ease); }
.olg-js .olg-detal__cien { clip-path: inset(100% 0 0 0); }
.olg-detal__plansza:hover .olg-detal__cien { transform: scale(1); }
.olg-detal__swiatlo {
  filter: brightness(1.08) contrast(1.04);
  -webkit-mask: radial-gradient(circle var(--olg-r) at var(--olg-mx) var(--olg-my), #000 35%, transparent 100%);
  mask: radial-gradient(circle var(--olg-r) at var(--olg-mx) var(--olg-my), #000 35%, transparent 100%);
}
.olg-detal__plansza.is-jasny .olg-detal__swiatlo { -webkit-mask: none; mask: none; }

/* ---------- 24.4 Formularz: pułapka na boty, komunikaty, link zgody -- */
.olg-pulapka { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.olg-formularz__status a, .olg-zgoda a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.olg-formularz__status.is-blad { color: var(--olg-wisnia); }

/* ---------- 24.5 Strony tekstowe (polityka prywatności, 404) --------- */
.olg-prawny { padding: clamp(8rem, 18vh, 11rem) 0 clamp(4rem, 10vh, 7rem); }
.olg-prawny__tresc { max-width: 44rem; }
.olg-prawny__tresc h1 { margin-bottom: 2.5rem; }
.olg-prawny__tresc h2 { font-family: var(--olg-font-szeryf); font-weight: 400; font-size: var(--olg-skala-l); color: var(--olg-zloto-jasne); margin: 2.6rem 0 .8rem; }
.olg-prawny__tresc p, .olg-prawny__tresc li { color: var(--olg-plotno); line-height: 1.7; }
.olg-prawny__tresc a { color: var(--olg-zloto-jasne); }
.olg-404 { min-height: 100vh; min-height: 100svh; display: grid; place-items: center; text-align: center; padding: 8rem var(--olg-margines) 5rem; }
.olg-404__wazka { width: clamp(150px, 20vw, 240px); margin: 0 auto 2.5rem; }

@media (max-width: 1024px) {
  .olg-narodziny__pin { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); gap: 1.2rem; padding-top: 5.5rem; padding-bottom: 1.5rem; align-items: start; }
  .olg-narodziny__etykieta { margin-bottom: 1rem; }
  .olg-narodziny__kroki { min-height: 9.5rem; }
  .olg-narodziny__krok .olg-naglowek { font-size: clamp(1.5rem, 5.4vw, 2.2rem); margin-bottom: .6rem; max-width: none; }
  .olg-narodziny__nr { margin-bottom: .3rem; font-size: 1.05rem; }
  .olg-narodziny__pasek { margin-top: 1rem; }
  .olg-narodziny__okno { height: 100%; max-height: 58vh; width: auto; max-width: 100%; }
}
@media (max-width: 900px) {
  .olg-detale__wstep .olg-naglowek, .olg-detale__wstep .olg-tekst { grid-column: 1 / -1; }
  .olg-detale__wstep .olg-tekst { margin-top: 1.2rem; }
  .olg-detale__siatka { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .olg-detal:nth-child(3) { grid-column: 1 / -1; width: 70%; justify-self: center; margin-top: 0; }
  .olg-kontakt__wazka { width: 96px; }
}
@media (max-width: 560px) {
  .olg-detale__siatka { grid-template-columns: minmax(0, 1fr); }
  .olg-detal:nth-child(n) { margin-top: 0; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .olg-js .olg-detal__cien { clip-path: none; }
  .olg-wazka__blask { display: none; }
}

/* ---------- 24.6 Pokój 3D - wersja 2: obraz „Ważka” we wnętrzu ------------
   Nadpisuje sekcję 14. Tynk, dębowa podłoga z dywanem, boazeria, wysokie okno
   z zasłoną, szyna świetlna, lampa galeryjna nad obrazem, ławka w 3D. */
.olg-pokoj__tyl {
  background:
    radial-gradient(ellipse 30% 46% at 50% 44%, rgba(217, 212, 208, .16), transparent 72%),
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(0, 0, 0, .35), transparent 70%),
    linear-gradient(180deg, #292623 0%, #23201e 55%, #1b1918 100%);
}
.olg-pokoj__tyl::after { /* faktura tynku */
  content: ""; position: absolute; inset: 0; opacity: .5; mix-blend-mode: overlay; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .45 0 0 0 0 .4 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* Stożek światła lampy galeryjnej */
.olg-pokoj__stozek {
  position: absolute; left: 50%; top: 11%; width: 46%; height: 70%; transform: translateX(-50%); pointer-events: none; mix-blend-mode: screen;
  background: radial-gradient(ellipse 50% 60% at 50% 0%, rgba(212, 207, 203, .30), rgba(208, 202, 197, .10) 55%, transparent 75%);
  clip-path: polygon(38% 0, 62% 0, 100% 100%, 0 100%); filter: blur(10px);
}
.olg-pokoj__lampa { position: absolute; left: 50%; top: 11.5%; width: 16%; height: 1.4%; transform: translateX(-50%); border-radius: 2px;
  background: linear-gradient(180deg, #b7afa8, #645d57 60%, #403c38); box-shadow: 0 6px 14px rgba(0, 0, 0, .6); z-index: 2; }
.olg-pokoj__lampa::before { content: ""; position: absolute; left: 50%; bottom: 100%; width: 2px; height: 180%; margin-left: -1px; background: #4f4944; }
.olg-pokoj__lampa i { position: absolute; left: 8%; right: 8%; top: 100%; height: 3px; background: #edeae8; filter: blur(2px); box-shadow: 0 0 18px 6px rgba(217, 212, 208, .55); }
/* Obraz w ramie typu „floater”: ciemna listwa, złoty filet, cień szczeliny, szkło */
.olg-pokoj__obraz {
  top: 47%; height: 58%; aspect-ratio: 5 / 7; padding: 0; background: none;
  box-shadow: 0 50px 70px -20px rgba(0, 0, 0, .75), 0 18px 30px rgba(0, 0, 0, .45);
}
.olg-pokoj__obraz::before { /* rama */
  content: ""; position: absolute; inset: -4.2%; z-index: -1;
  background: linear-gradient(135deg, #141211, #080707 40%, #181615 60%, #0a0908);
  box-shadow: inset 0 0 0 1px rgba(215, 208, 202, .55), inset 0 0 0 5px #0a0909, inset 0 0 0 6px rgba(127, 118, 111, .8), 0 0 0 1px rgba(0, 0, 0, .6);
}
.olg-pokoj__plotno { position: absolute; inset: 0; overflow: hidden; box-shadow: 0 0 0 1px rgba(0, 0, 0, .7), 6px 8px 16px rgba(0, 0, 0, .55); }
.olg-pokoj__plotno img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(1.05) contrast(1.04); }
.olg-pokoj__plotno::after { /* światło lampy na płótnie: jaśniej u góry */
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 90% 55% at 50% 0%, rgba(224, 220, 217, .22), transparent 70%), linear-gradient(180deg, transparent 60%, rgba(0, 0, 0, .25));
}
.olg-pokoj__szklo { position: absolute; inset: 0; pointer-events: none; mix-blend-mode: screen;
  background: linear-gradient(115deg, transparent 30%, rgba(242, 240, 238, .10) 42%, transparent 52%, transparent 70%, rgba(242, 240, 238, .05) 78%, transparent 84%); }
/* Listwa przypodłogowa na każdej ścianie */
.olg-pokoj__listwa { position: absolute; left: 0; right: 0; bottom: 0; height: 2.2%; background: linear-gradient(180deg, #2c2926, #141312); box-shadow: 0 -1px 0 rgba(215, 208, 202, .12); }
/* Podłoga: dębowe deski o różnych odcieniach + połysk */
.olg-pokoj__podloga {
  background:
    linear-gradient(to top, rgba(5, 5, 5, .55), rgba(0, 0, 0, 0) 55%),
    radial-gradient(ellipse 40% 30% at 50% 0%, rgba(212, 207, 203, .14), transparent 70%),
    repeating-linear-gradient(90deg, rgba(0, 0, 0, .45) 0 2px, transparent 2px 110px),
    repeating-linear-gradient(0deg, transparent 0 380px, rgba(0, 0, 0, .35) 380px 382px, transparent 382px 610px),
    repeating-linear-gradient(90deg, rgba(217, 212, 208, .05) 0 110px, rgba(0, 0, 0, .06) 110px 220px, rgba(217, 212, 208, .02) 220px 330px, rgba(0, 0, 0, .1) 330px 440px, rgba(217, 212, 208, .04) 440px 550px),
    linear-gradient(90deg, #46413d, #3a3632 30%, #47423e 55%, #36322e 80%, #423d39);
}
.olg-pokoj__odbicie { position: absolute; left: 36%; top: 0; width: 28%; height: 34%; pointer-events: none;
  background: radial-gradient(ellipse 50% 70% at 50% 0%, rgba(214, 210, 206, .22), transparent 75%); filter: blur(12px); }
.olg-pokoj__dywan { position: absolute; left: 27%; top: 6%; width: 46%; height: 34%;
  background:
    repeating-linear-gradient(0deg, rgba(255, 255, 255, .025) 0 3px, transparent 3px 6px),
    linear-gradient(180deg, #221f1d, #1a1817);
  box-shadow: inset 0 0 0 10px #211e1c, inset 0 0 0 11px rgba(127, 118, 111, .35), 0 0 40px rgba(0, 0, 0, .35); }
.olg-pokoj__plama--podloga i { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 49%, rgba(20, 19, 18, .5) 49% 51%, transparent 51%), linear-gradient(0deg, transparent 37%, rgba(20, 19, 18, .5) 37% 39%, transparent 39%); }
/* Sufit z szyną świetlną */
.olg-pokoj__sufit { background: linear-gradient(to top, #0d0c0c, #131211); }
.olg-pokoj__szyna { position: absolute; left: 20%; right: 20%; top: 70%; height: 6px; background: #070606; box-shadow: 0 1px 0 rgba(215, 208, 202, .15); }
.olg-pokoj__szyna i { position: absolute; top: -8px; width: 22px; height: 22px; border-radius: 50%; background: radial-gradient(circle, #eae7e5 0 30%, #93867a 45%, #1d1b1a 70%); box-shadow: 0 0 20px 6px rgba(217, 212, 208, .25); }
.olg-pokoj__szyna i:first-child { left: 30%; } .olg-pokoj__szyna i:last-child { right: 30%; }
/* Ściany boczne */
.olg-pokoj__lewa { background: linear-gradient(90deg, #191716, #211f1d); }
.olg-pokoj__prawa { background: linear-gradient(270deg, #161413, #1e1c1b); }
.olg-pokoj__panel { position: absolute; top: 20%; height: 58%; width: 30%; box-shadow: inset 0 0 0 1px rgba(215, 208, 202, .1), inset 0 0 0 8px rgba(0, 0, 0, .12), inset 0 0 0 9px rgba(215, 208, 202, .07); }
.olg-pokoj__panel:nth-child(1) { left: 14%; } .olg-pokoj__panel:nth-child(2) { left: 54%; }
.olg-pokoj__okno {
  left: 30%; top: 8%; width: 26%; height: 76%;
  background: linear-gradient(180deg, #ebe8e6, #c9c2bc 55%, #a3988f);
  box-shadow: 0 0 0 10px #141211, 0 0 0 12px rgba(215, 208, 202, .25), 0 0 120px 40px rgba(215, 210, 206, .28);
}
.olg-pokoj__okno::before { width: 6px; margin-left: -3px; background: #141211; }
.olg-pokoj__okno::after { height: 6px; top: 36%; background: #141211; }
.olg-pokoj__zaslona { position: absolute; top: -4%; bottom: -8%; right: -30%; width: 34%;
  background: repeating-linear-gradient(90deg, rgba(226, 222, 219, .3) 0 10px, rgba(196, 190, 184, .18) 10px 22px, rgba(226, 222, 219, .26) 22px 30px);
  filter: blur(1px); box-shadow: -10px 0 30px rgba(230, 227, 225, .2); }
/* Ławka galeryjna w 3D (orzech) */
.olg-pokoj__lawka { display: none; }
.olg-pokoj__lawka3d { position: absolute; left: 0; top: 0; transform-style: preserve-3d; transform: translateY(calc(var(--H) / 2)) translateZ(calc(var(--D) * -1 + 250px)); }
.olg-pokoj__lawka3d > * { position: absolute; display: block; backface-visibility: hidden; }
.olg-pokoj__lawka-blat { left: -240px; top: -60px; width: 480px; height: 120px; transform: translateY(-74px) rotateX(90deg);
  background: linear-gradient(90deg, #3a3633, #524d48 30%, #45403c 60%, #393532), #393532; box-shadow: 0 0 0 1px rgba(0, 0, 0, .4); }
.olg-pokoj__lawka-przod { left: -240px; top: -9px; width: 480px; height: 18px; transform: translateY(-65px) translateZ(60px); background: linear-gradient(180deg, #56504a, #2e2b28); }
.olg-pokoj__noga { top: -66px; width: 16px; height: 66px; background: linear-gradient(90deg, #110f0e, #1b1918); }
.olg-pokoj__noga--l { left: -210px; transform: translateZ(48px); } .olg-pokoj__noga--p { left: 194px; transform: translateZ(48px); }
.olg-pokoj__lawka3d::before { content: ""; position: absolute; left: -300px; top: -110px; width: 600px; height: 220px; transform: rotateX(90deg) translateZ(1px);
  background: radial-gradient(ellipse 50% 45% at 50% 50%, rgba(0, 0, 0, .55), transparent 75%); }
/* Delikatna mgiełka światła z okna (warstwa 2D nad sceną) */
.olg-pokoj__mgla { position: absolute; inset: 0; pointer-events: none; mix-blend-mode: screen; opacity: .55;
  background: linear-gradient(118deg, rgba(226, 222, 219, .14) 0%, rgba(226, 222, 219, .05) 22%, transparent 40%); }
/* Ekrany dotykowe: bez kursora detale są od razu jaśniejsze (dotknięcie zapala pełne światło) */
@media (hover: none) { .olg-detal__cien { filter: brightness(.72) saturate(.9); } }

/* ---------- 24.7 Logo OLGGARTO (sygnet ze szkicu Olgi) ------------------- */
.olg-logo__sygnet { width: 34px; height: 36px; flex: none; color: var(--olg-zloto-jasne); transition: color .5s; }
.olg-naglowek-strony.is-jasny .olg-logo__sygnet { color: var(--olg-zloto-ciemne); }
.olg-logo__slowo { font-family: var(--olg-font-bez); font-weight: 300; font-variation-settings: normal; font-size: .95rem; letter-spacing: .42em; }
.olg-logo:hover .olg-logo__sygnet { color: var(--olg-plotno); }
/* Wizytówka: sygnet */
.olg-wizytowka__marka { gap: clamp(.6rem, 1.6vw, 1.1rem); }
.olg-wizytowka__sygnet { width: clamp(30px, 5.4vw, 50px); height: auto; fill: var(--olg-zloto-jasne); flex: none; filter: drop-shadow(0 1px 0 rgba(0, 0, 0, .5)); }
.olg-wizytowka__haslo { display: block; width: clamp(150px, 34vw, 270px); height: auto; margin-top: clamp(.5rem, 1.5vw, .9rem); overflow: visible; }
.olg-wizytowka__haslo path { fill: none; stroke: var(--olg-zloto-jasne); stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- 24.8 Poprawki układu 2026-09-29 (v4) --------------------------- */
/* Start: hasło w hero wyrównane do lewej */
.olg-hero__tytul { text-align: left; }
.olg-hero__tytul .olg-wiersz:nth-child(2) { padding-left: 0; }

/* O mnie: nazwy etapów drogi mniejsze */
.olg-stacja__miasto { font-size: clamp(2rem, 1.2rem + 2.2vw, 3.6rem); padding-bottom: 1.1rem; }

/* O mnie: cytat w dwóch głosach - czarny po lewej, złoty po prawej, między nimi linia pędzla */
.olg-muzeum__cytat { grid-column: 1 / -1; position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; margin-top: clamp(2rem, 6vh, 4rem); }
.olg-muzeum__kopia, .olg-muzeum__wizja { margin: 0; font-family: var(--olg-font-szeryf); font-weight: 400; line-height: 1.02; font-size: clamp(2.3rem, 1rem + 4.2vw, 5.2rem); font-variation-settings: "opsz" 96; }
.olg-muzeum__kopia { grid-column: 1 / span 9; grid-row: 1; color: var(--olg-atrament); max-width: 17ch; }
.olg-muzeum__wizja { grid-column: 4 / -1; grid-row: 3; font-style: italic; color: var(--olg-zloto-ciemne); text-align: right; justify-self: end; max-width: 17ch; }
.olg-muzeum__linia { grid-column: 3 / span 8; grid-row: 2; width: 100%; height: clamp(70px, 11vw, 150px); overflow: visible; margin: .4rem 0; }
.olg-muzeum__linia path { fill: none; stroke: var(--olg-zloto-ciemne); stroke-width: 2.2; stroke-linecap: round; opacity: .85; }

/* Finały sekcji: szerszy tekst, po bokach złote linie horyzontu */
.olg-final .olg-naglowek { max-width: 22ch; }
.olg-final__wazka::before, .olg-final__wazka::after { content: ""; position: absolute; top: 42%; width: min(34vw, 420px); height: 1px; pointer-events: none; }
.olg-final__wazka::before { right: calc(100% + 1.5rem); background: linear-gradient(to left, rgba(215, 208, 202, .55), rgba(215, 208, 202, 0)); }
.olg-final__wazka::after { left: calc(100% + 1.5rem); background: linear-gradient(to right, rgba(215, 208, 202, .55), rgba(215, 208, 202, 0)); }

/* Galeria: „Narodziny obrazu” - tekst bliżej obrazu, całość wyśrodkowana */
.olg-narodziny__pin { grid-template-columns: minmax(0, 30rem) auto; justify-content: center; gap: clamp(2.5rem, 5vw, 5.5rem); }
.olg-narodziny__teksty { justify-self: end; width: 100%; }
.olg-narodziny__okno { justify-self: start; }

@media (max-width: 900px) {
  .olg-muzeum__kopia { grid-column: 1 / -1; max-width: none; }
  .olg-muzeum__wizja { grid-column: 2 / -1; max-width: none; }
  .olg-muzeum__linia { grid-column: 2 / -1; }
  .olg-final__wazka::before, .olg-final__wazka::after { width: 18vw; }
}
@media (max-width: 1024px) {
  .olg-narodziny__pin { grid-template-columns: minmax(0, 1fr); justify-content: stretch; }
  .olg-narodziny__teksty, .olg-narodziny__okno { justify-self: center; }
}
.olg-muzeum__kopia, .olg-muzeum__wizja, .olg-final .olg-naglowek, .olg-hero__tytul { text-wrap: balance; }

/* ---------- 24.9 O mnie: etapy nauki (v5) - przystanki złotej trasy ---------------- */
.olg-etapy { position: relative; z-index: 2; background: var(--olg-orzech); padding: clamp(5rem, 12vh, 9rem) 0 clamp(4rem, 10vh, 7rem); overflow: hidden; overflow: clip; }
.olg-etap-nauki { position: relative; padding: clamp(4rem, 11vh, 8rem) 0; }
.olg-etap-nauki + .olg-etap-nauki::before { /* cienka złota nić między etapami */
  content: ""; position: absolute; top: 0; left: 50%; width: min(48vw, 560px); height: 1px; transform: translateX(-50%);
  background: linear-gradient(90deg, rgba(215, 208, 202, 0), rgba(215, 208, 202, .35), rgba(215, 208, 202, 0));
}
/* Ogromne, obrysowane słowo w tle - jak wytłoczenie w papierze */
.olg-etap-nauki__tlo {
  position: absolute; top: 50%; left: -2vw; transform: translateY(-50%); pointer-events: none; user-select: none; white-space: nowrap;
  font-family: var(--olg-font-szeryf); font-style: italic; font-variation-settings: "opsz" 96; line-height: .8;
  font-size: clamp(7rem, 3rem + 16vw, 20rem); color: transparent; -webkit-text-stroke: 1px rgba(215, 208, 202, .11);
}
.olg-etap-nauki--odwrocony .olg-etap-nauki__tlo { left: auto; right: -2vw; }
.olg-etap-nauki__siatka { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; align-items: center; }
.olg-etap-nauki__znak { grid-column: 1 / span 5; }
.olg-etap-nauki__tekst { grid-column: 7 / span 6; }
.olg-etap-nauki--odwrocony .olg-etap-nauki__znak { grid-column: 8 / span 5; grid-row: 1; text-align: right; }
.olg-etap-nauki--odwrocony .olg-etap-nauki__tekst { grid-column: 1 / span 6; grid-row: 1; }
.olg-etap-nauki__nr { display: block; font-family: var(--olg-font-bez); font-size: var(--olg-skala-xs); letter-spacing: .32em; color: var(--olg-zloto); margin-bottom: .9rem; }
.olg-etap-nauki__nr::after { content: ""; display: inline-block; vertical-align: middle; width: 3.2rem; height: 1px; margin-left: 1rem; background: var(--olg-zloto); opacity: .6; }
.olg-etap-nauki--odwrocony .olg-etap-nauki__nr::after { display: none; }
.olg-etap-nauki--odwrocony .olg-etap-nauki__nr::before { content: ""; display: inline-block; vertical-align: middle; width: 3.2rem; height: 1px; margin-right: 1rem; background: var(--olg-zloto); opacity: .6; }
.olg-etap-nauki__slowo { margin: 0; font-family: var(--olg-font-szeryf); font-style: italic; font-variation-settings: "opsz" 96; font-size: clamp(2.8rem, 1.6rem + 3.6vw, 5.2rem); line-height: 1; color: var(--olg-zloto-jasne); }
.olg-etap-nauki__uczelnia { margin: 1.2rem 0 0; font-family: var(--olg-font-bez); font-weight: 400; font-size: var(--olg-skala-s); letter-spacing: .08em; color: var(--olg-plotno); line-height: 1.5; }
.olg-etap-nauki__uczelnia span { display: block; color: var(--olg-plotno-cien); font-size: var(--olg-skala-xs); letter-spacing: .14em; text-transform: uppercase; margin-top: .25rem; }
.olg-etap-nauki__tekst { margin: 0; font-family: var(--olg-font-szeryf); font-variation-settings: "opsz" 28; font-size: clamp(1.25rem, .95rem + .9vw, 1.75rem); line-height: 1.5; color: var(--olg-plotno); text-wrap: pretty; }
/* Koda: myśl, która spina wszystkie etapy */
.olg-etapy__koda { padding-top: clamp(3rem, 8vh, 6rem); text-align: center; }
.olg-etapy__cytat { margin: 0 auto; max-width: 30ch; font-family: var(--olg-font-szeryf); font-variation-settings: "opsz" 96; font-size: clamp(1.7rem, 1rem + 2.2vw, 3.1rem); line-height: 1.22; color: var(--olg-plotno); text-wrap: balance; }
.olg-etapy__cytat em { color: var(--olg-zloto-jasne); }
.olg-etapy__cytat::before { content: ""; display: block; width: 1px; height: clamp(3rem, 8vh, 5rem); margin: 0 auto 2.2rem; background: linear-gradient(rgba(215, 208, 202, 0), var(--olg-zloto)); }
@media (max-width: 900px) {
  .olg-etap-nauki__znak, .olg-etap-nauki__tekst,
  .olg-etap-nauki--odwrocony .olg-etap-nauki__znak, .olg-etap-nauki--odwrocony .olg-etap-nauki__tekst { grid-column: 1 / -1; grid-row: auto; text-align: left; }
  .olg-etap-nauki__tekst { margin-top: 1.8rem; }
  .olg-etap-nauki--odwrocony .olg-etap-nauki__nr::before { display: none; }
  .olg-etap-nauki--odwrocony .olg-etap-nauki__nr::after { display: inline-block; }
  .olg-etap-nauki__tlo { font-size: 38vw; top: 30%; }
}

/* Pokój 3D: teksty w kolejności Olgi */
.olg-pokoj-cytat { font-size: var(--olg-skala-l); line-height: 1.3; color: var(--olg-zloto-jasne); }
.olg-pokoj-final { margin: 0; font-family: var(--olg-font-szeryf); font-variation-settings: "opsz" 48; font-size: clamp(1.3rem, .9rem + 1.3vw, 2.1rem); line-height: 1.35; color: var(--olg-plotno); text-shadow: 0 4px 40px rgba(0, 0, 0, .85); text-wrap: balance; }
.olg-pokoj-sekcja.is-statyczny .olg-pokoj-tekst--c { display: block; }
/* O mnie: tytuł „Witaj w moim świecie.” o 12 px mniejszy */
.olg-otwarcie__tytul { font-size: calc(var(--olg-skala-mega) - 12px); }
/* Finały sekcji: tekst szerszy (mniej pustego miejsca po bokach) */
.olg-final .olg-naglowek { max-width: min(36ch, 100%); }
/* O mnie: koda etapów - szerszy tekst */
.olg-etapy__cytat { max-width: min(48ch, 100%); }
/* Złota trasa nad tłami sekcji (O mnie) - biegnie przez całą stronę, szczelinami i marginesami */
/* Złota linia malowana pędzlem (canvas stały na ekranie, maluje widoczny fragment); krycie 85% */
.olg-trasa { position: fixed; left: 0; top: 0; width: 100%; height: 100vh; z-index: 3; pointer-events: none; opacity: .85; }
.olg-hero__pedzel { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: .85; }
[data-olg-trasa-punkt] { position: relative; }
.olg-trasa-kotwica { position: absolute; left: 0; right: 0; height: 0; pointer-events: none; }
.olg-trasa-kotwica { top: 0; }
.olg-trasa-kotwica--dol { top: auto; bottom: 0; }
.olg-plotno .olg-trasa-kotwica, .olg-sekcja .olg-trasa-kotwica { position: absolute; }
/* Koniec złotej trasy w „O mnie” - w sekcji płótna, na wysokości tekstu „Zainspiruj ze mną…” */
.olg-trasa-kotwica.olg-trasa-koniec { top: 0; } /* koniec trasy: dokładnie na początku jasnej sekcji */

/* ---------- 25. Strona startowa: logo Olgi na zdjęciu ------------------ */
.olg-hero__znak { position: absolute; z-index: 3; left: var(--olg-margines); top: clamp(6.5rem, 17vh, 11rem); display: flex; flex-direction: column; align-items: flex-start; pointer-events: none; }
.olg-hero__sygnet { width: clamp(72px, 7vw, 118px); height: auto; color: var(--olg-zloto-jasne); overflow: visible; filter: drop-shadow(0 2px 14px rgba(0, 0, 0, .55)); }
.olg-hero__marka { margin-top: clamp(.8rem, 1.6vh, 1.2rem); font-family: var(--olg-font-bez); font-weight: 300; font-size: clamp(.95rem, .7rem + .7vw, 1.35rem); letter-spacing: .5em; color: var(--olg-plotno); text-shadow: 0 1px 12px rgba(0, 0, 0, .6); }
.olg-hero__haslo { width: clamp(210px, 20vw, 330px); filter: drop-shadow(0 1px 6px rgba(0, 0, 0, .7)); height: auto; margin-top: .55rem; overflow: visible; }
.olg-hero__haslo path { fill: none; stroke: var(--olg-zloto-jasne); stroke-width: 2.1; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 700px) {
  .olg-hero__znak { left: 0; right: 0; align-items: center; top: 5.5rem; }
}

/* ---------- 26. Galeria: obraz WAŻKA (3 ujęcia), licytacja, pracownia ---------- */
.olg-dzielo--tytul { width: min(34vw, 420px); align-self: center; }
.olg-dzielo__nr { display: block; font-size: var(--olg-skala-xs); letter-spacing: .32em; color: var(--olg-zloto); margin-bottom: 1rem; }
.olg-dzielo__nr::after { content: ""; display: inline-block; vertical-align: middle; width: 3rem; height: 1px; margin-left: 1rem; background: var(--olg-zloto); opacity: .6; }
.olg-dzielo__tytul { margin: 0; font-family: var(--olg-font-szeryf); font-style: italic; font-weight: 400; font-variation-settings: "opsz" 96; font-size: clamp(3.4rem, 2rem + 4.5vw, 7rem); line-height: .95; color: var(--olg-zloto-jasne); text-transform: uppercase; letter-spacing: .08em; font-style: normal; }
.olg-dzielo__opis { margin: 1.6rem 0 0; font-family: var(--olg-font-szeryf); font-variation-settings: "opsz" 28; font-size: clamp(1.15rem, .95rem + .6vw, 1.5rem); line-height: 1.5; color: var(--olg-plotno); max-width: 22em; }
.olg-dzielo__opis em { color: var(--olg-zloto-jasne); }
.olg-dzielo__ujecia { margin: 2rem 0 0; font-size: var(--olg-skala-xs); letter-spacing: .2em; text-transform: uppercase; color: var(--olg-plotno-cien); }
.olg-dzielo--metryczka { display: flex; flex-direction: column; align-items: flex-start; gap: 1.2rem; width: min(70vw, 380px); }
.olg-metryczka { margin: 0 0 .8rem; width: 100%; border-top: 1px solid rgba(215, 208, 202, .35); }
.olg-metryczka > div { display: grid; grid-template-columns: 7.5rem 1fr; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid rgba(215, 208, 202, .18); }
.olg-metryczka dt { font-size: var(--olg-skala-xs); letter-spacing: .16em; text-transform: uppercase; color: var(--olg-zloto); }
.olg-metryczka dd { margin: 0; font-family: var(--olg-font-szeryf); font-size: var(--olg-skala-m); color: var(--olg-plotno); }
.olg-link--cichy { color: var(--olg-plotno-cien); font-size: var(--olg-skala-xs); letter-spacing: .08em; }

.olg-licytacja { padding: clamp(6rem, 14vh, 10rem) 0; background: radial-gradient(ellipse 60% 70% at 80% 50%, rgba(215, 208, 202, .07), transparent 70%); }
.olg-licytacja__siatka { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; align-items: center; }
.olg-licytacja__opis { grid-column: 1 / span 6; }
.olg-licytacja__karta { grid-column: 8 / span 5; }
.olg-licytacja__etykieta { margin: 0 0 1.2rem; font-size: var(--olg-skala-xs); letter-spacing: .32em; text-transform: uppercase; color: var(--olg-zloto); }
.olg-licytacja__opis .olg-naglowek { margin: 0 0 1.6rem; max-width: 14ch; }
.olg-licytacja__status { display: inline-flex; align-items: center; gap: .9rem; margin-top: .6rem; padding: .8rem 1.3rem; border: 1px solid rgba(215, 208, 202, .35); font-size: var(--olg-skala-s); letter-spacing: .06em; color: var(--olg-plotno); }
.olg-licytacja__status strong { font-family: var(--olg-font-szeryf); font-style: italic; font-weight: 400; color: var(--olg-zloto-jasne); font-size: 1.15em; }
.olg-licytacja__kropka { width: 9px; height: 9px; border-radius: 50%; background: var(--olg-zloto-jasne); box-shadow: 0 0 0 0 rgba(215, 208, 202, .6); animation: olg-puls 2.4s ease-out infinite; }
@keyframes olg-puls { 0% { box-shadow: 0 0 0 0 rgba(215, 208, 202, .55); } 70%, 100% { box-shadow: 0 0 0 12px rgba(215, 208, 202, 0); } }
.olg-licytacja__puzzle { margin: 2.2rem 0 0; max-width: 32em; font-size: var(--olg-skala-s); line-height: 1.6; color: var(--olg-plotno-cien); padding-left: 1rem; border-left: 1px solid var(--olg-zloto); }
.olg-licytacja__puzzle a { color: var(--olg-zloto-jasne); }
.olg-licytacja__karta {
  position: relative; padding: clamp(1.8rem, 3.5vw, 2.8rem); color: var(--olg-atrament); background-color: var(--olg-plotno);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='4'/%3E%3CfeDiffuseLighting lighting-color='%23f3ecdf' surfaceScale='1.4'%3E%3CfeDistantLight azimuth='45' elevation='60'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");
  background-blend-mode: multiply; box-shadow: 0 40px 80px rgba(0, 0, 0, .55);
}
.olg-licytacja__karta::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(81, 76, 71, .35); pointer-events: none; }
.olg-licytacja__karta-tytul { margin: 0 0 1.6rem; font-family: var(--olg-font-szeryf); font-style: italic; font-size: clamp(1.4rem, 1.1rem + .8vw, 1.9rem); line-height: 1.2; }
.olg-licytacja__karta .olg-pole__input { color: var(--olg-atrament); }

.olg-pracownia { padding-top: clamp(7rem, 16vh, 11rem); }
.olg-pracownia__wstep { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; align-items: end; margin-bottom: clamp(3rem, 8vh, 5rem); }
.olg-pracownia__wstep .olg-naglowek { grid-column: 1 / span 6; }
.olg-pracownia__wstep .olg-tekst { grid-column: 7 / span 6; margin: 0; }
.olg-pracownia__siatka { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; align-items: start; }
.olg-pracownia__kadr { margin: 0; }
.olg-pracownia__kadr .olg-ramka img { width: 100%; height: 100%; object-fit: cover; display: block; }
.olg-pracownia__kadr--a { grid-column: 1 / span 4; } .olg-pracownia__kadr--a .olg-ramka { aspect-ratio: 2 / 3; }
.olg-pracownia__kadr--b { grid-column: 5 / span 5; margin-top: clamp(3rem, 10vw, 9rem); } .olg-pracownia__kadr--b .olg-ramka { aspect-ratio: 4 / 3; }
.olg-pracownia__kadr--c { grid-column: 10 / span 3; margin-top: clamp(1rem, 4vw, 3.5rem); } .olg-pracownia__kadr--c .olg-ramka { aspect-ratio: 3 / 4; }

@media (max-width: 900px) {
  .olg-licytacja__opis, .olg-licytacja__karta { grid-column: 1 / -1; }
  .olg-licytacja__karta { margin-top: 3rem; }
  .olg-pracownia__wstep .olg-naglowek, .olg-pracownia__wstep .olg-tekst { grid-column: 1 / -1; }
  .olg-pracownia__wstep .olg-tekst { margin-top: 1.2rem; }
  .olg-pracownia__kadr--a { grid-column: 1 / span 7; } .olg-pracownia__kadr--b { grid-column: 3 / -1; margin-top: -2rem; grid-row: 2; }
  .olg-pracownia__kadr--c { grid-column: 8 / -1; grid-row: 1; margin-top: 4rem; }
}
@media (max-width: 899px) { .olg-dzielo--tytul { width: auto; } }
/* Menu 00-08: dziewięć pozycji mieści się także na niższych ekranach */
.olg-menu__nazwa { font-size: min(clamp(2rem, 1.2rem + 3.4vw, 4.4rem), 7.4vh); }

/* ---------- 27. Strona startowa: duże logo w lewym górnym rogu zdjęcia ----------
   Przy przewijaniu duże logo maleje i „wpływa” w miejsce logo w nagłówku (JS: initHero),
   potem nagłówek działa jak na pozostałych podstronach. */
.olg-hero__znak { left: var(--olg-margines); right: auto; top: clamp(1.3rem, 3.2vh, 2.2rem); align-items: flex-start; text-align: left; transform-origin: 0 0; will-change: transform; }
.olg-hero__marka { margin-right: 0; }
@media (max-width: 700px) { .olg-hero__znak { left: var(--olg-margines); right: auto; align-items: flex-start; top: 1.3rem; } }
.olg-naglowek-strony--start .olg-logo { opacity: 0; visibility: hidden; transition: opacity .6s, visibility 0s .6s; }
.olg-naglowek-strony--start.is-po-hero .olg-logo { opacity: 1; visibility: visible; transition: opacity .6s; }

/* ---------- 28. Świat: złota mapa od świata do sali muzeum (silnik: olg-swiat.js) ---------- */
.olg-link--przycisk { background: none; border: 0; font: inherit; font-size: var(--olg-skala-s); cursor: pointer; text-align: left; }
.olg-swiat-wstep { padding: clamp(8rem, 24vh, 14rem) 0 clamp(5rem, 14vh, 9rem); }
.olg-swiat-wstep__siatka { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; align-items: end; }
.olg-swiat-wstep__glowa { grid-column: 1 / span 6; }
.olg-swiat-wstep__numer { font-family: var(--olg-font-szeryf); font-style: italic; color: var(--olg-zloto); font-size: var(--olg-skala-l); display: block; margin-bottom: 1rem; }
.olg-swiat-wstep__tekst { grid-column: 7 / span 6; }
.olg-swiat-wstep__wskazowka { display: inline-flex; align-items: center; gap: 1rem; margin: 1.4rem 0 0; font-size: var(--olg-skala-xs); letter-spacing: .22em; text-transform: uppercase; color: var(--olg-zloto-jasne); }
.olg-swiat-wstep__wskazowka i { position: relative; width: 1px; height: 3.2rem; background: rgba(215, 208, 202, .25); overflow: hidden; }
.olg-swiat-wstep__wskazowka i::after { content: ""; position: absolute; left: 0; top: -40%; width: 100%; height: 40%; background: var(--olg-zloto-jasne); animation: olg-kropla-spada 2.2s var(--olg-ease-miekki) infinite; }
@keyframes olg-kropla-spada { to { top: 110%; } }

.olg-swiat { position: relative; z-index: 2; height: 100vh; height: 100svh; background: radial-gradient(ellipse 80% 70% at 50% 46%, #161514 0%, #100e0d 55%, #0b0a09 100%); overflow: hidden; }
.olg-swiat__scena { position: absolute; inset: 0; overflow: hidden; --olg-mgla: 0; }
.olg-swiat__plotno { position: absolute; inset: 0; width: 100%; height: 100%; display: block; transform-origin: 50% 50%; }
.olg-swiat__plotno.is-mgla {
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, calc(1 - var(--olg-mgla))) 0%, #000 46%); mask-image: linear-gradient(to bottom, rgba(0, 0, 0, calc(1 - var(--olg-mgla))) 0%, #000 46%); }
.olg-swiat__winieta { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 75% 70% at 50% 50%, transparent 55%, rgba(9, 8, 8, .78) 100%); }

/* świecący punkt - muzeum */
.olg-swiat__punkt { position: absolute; left: 0; top: 0; z-index: 5; width: 46px; height: 46px; margin: -23px 0 0 -23px; padding: 0; border: 0; border-radius: 50%; background: none; cursor: pointer; will-change: transform; }
.olg-swiat__punkt-rdzen { position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; margin: -4.5px; border-radius: 50%; background: #d8d4d0; box-shadow: 0 0 0 3px rgba(215, 208, 202, .28), 0 0 18px 6px rgba(193, 186, 179, .75), 0 0 46px 14px rgba(215, 208, 202, .35); transition: transform .8s var(--olg-ease); }
.olg-swiat__punkt-fala { position: absolute; left: 50%; top: 50%; width: 12px; height: 12px; margin: -6px; border-radius: 50%; border: 1px solid rgba(193, 186, 179, .8); animation: olg-fala 2.8s cubic-bezier(.2, .6, .3, 1) infinite; }
.olg-swiat__punkt-fala--2 { animation-delay: 1.4s; }
@keyframes olg-fala { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(5.2); opacity: 0; } }
.olg-swiat__punkt.is-blisko .olg-swiat__punkt-rdzen { transform: scale(1.35); }
.olg-swiat__punkt:hover .olg-swiat__punkt-rdzen, .olg-swiat__punkt:focus-visible .olg-swiat__punkt-rdzen { transform: scale(1.7); }
.olg-swiat__punkt:focus-visible { outline: 1px solid var(--olg-zloto-jasne); outline-offset: 4px; }

/* ważka Olgi towarzyszy lotowi i ląduje przy muzeum */
.olg-swiat__wazka { position: absolute; left: 0; top: 0; z-index: 6; width: clamp(62px, 6.4vw, 104px); pointer-events: none; will-change: transform; transform: translate3d(-300px, -300px, 0); }

/* podpisy etapów */
.olg-swiat__etapy { list-style: none; margin: 0; padding: 0; position: absolute; left: var(--olg-margines); top: clamp(6.5rem, 16vh, 10rem); width: min(34rem, calc(100% - 2 * var(--olg-margines))); pointer-events: none; z-index: 4; }
.olg-swiat__etap { position: absolute; left: 0; top: 0; width: 100%; opacity: 0; transform: translateY(18px); transition: opacity .9s var(--olg-ease), transform 1.1s var(--olg-ease); }
.olg-swiat__etap.is-widoczny { opacity: 1; transform: none; }
.olg-swiat__etap-nr { display: block; font-family: var(--olg-font-szeryf); font-style: italic; color: var(--olg-zloto); font-size: var(--olg-skala-m); margin-bottom: .5rem; }
.olg-swiat__etap-nazwa { display: block; font-family: var(--olg-font-szeryf); font-variation-settings: "opsz" 96; font-weight: 400; font-size: clamp(2.4rem, 1.4rem + 3.6vw, 5rem); line-height: 1; color: var(--olg-plotno); text-shadow: 0 2px 24px rgba(7, 6, 6, .9); }
.olg-swiat__etap--cel .olg-swiat__etap-nazwa { font-size: clamp(1.9rem, 1.1rem + 2.2vw, 3.2rem); white-space: nowrap; }
.olg-swiat__etapy::before { content: ""; position: absolute; left: calc(-1 * var(--olg-margines) - 2rem); top: -9rem; width: calc(100% + 16rem); height: calc(100% + 22rem); min-height: 26rem; background: radial-gradient(ellipse 50% 45% at 30% 40%, rgba(11, 10, 9, .72), rgba(11, 10, 9, 0) 100%); pointer-events: none; }
.olg-swiat__etap-zdanie { display: block; margin-top: 1rem; max-width: 24em; font-family: var(--olg-font-szeryf); font-style: italic; font-size: clamp(1.05rem, .95rem + .45vw, 1.4rem); line-height: 1.45; color: var(--olg-zloto-jasne); text-shadow: 0 1px 14px rgba(7, 6, 6, .95); }

/* HUD: współrzędne i wysokość lotu */
.olg-swiat__hud { position: absolute; right: var(--olg-margines); bottom: 2.6rem; z-index: 4; display: flex; flex-direction: column; align-items: flex-end; gap: .35rem; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(226, 222, 219, .62); font-variant-numeric: tabular-nums; pointer-events: none; }
.olg-swiat__hud-wsp { white-space: pre; color: var(--olg-zloto-jasne); }
.olg-swiat__hud b { font-weight: 500; color: var(--olg-plotno); }
.olg-swiat__zrodla { position: absolute; right: var(--olg-margines); bottom: .7rem; z-index: 4; margin: 0; font-size: .66rem; letter-spacing: .04em; color: rgba(161, 150, 141, .7); }
.olg-swiat__zrodla a { color: inherit; }

/* szyna etapów */
.olg-swiat__szyna { position: absolute; right: var(--olg-margines); top: 50%; z-index: 4; transform: translateY(-50%); display: flex; flex-direction: column; align-items: flex-end; gap: 1.55rem; }
.olg-swiat__szyna-tor { position: absolute; right: 4px; top: 6px; bottom: 6px; width: 1px; background: rgba(215, 208, 202, .2); }
.olg-swiat__szyna-postep { position: absolute; inset: 0; background: var(--olg-zloto-jasne); transform-origin: top; transform: scaleY(0); }
.olg-swiat__szyna-punkt { position: relative; display: flex; align-items: center; gap: .9rem; padding: 0; border: 0; background: none; cursor: pointer; font: inherit; font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(226, 222, 219, .45); transition: color .5s; }
.olg-swiat__szyna-punkt::after { content: ""; width: 9px; height: 9px; border-radius: 50%; border: 1px solid rgba(215, 208, 202, .55); background: #100e0d; transition: background .5s, transform .5s var(--olg-ease), box-shadow .5s; }
.olg-swiat__szyna-punkt span { opacity: 0; transform: translateX(8px); transition: opacity .5s, transform .6s var(--olg-ease); }
.olg-swiat__szyna-punkt:hover span, .olg-swiat__szyna-punkt:focus-visible span, .olg-swiat__szyna-punkt.is-aktywny span { opacity: 1; transform: none; }
.olg-swiat__szyna-punkt.is-miniety::after { background: var(--olg-zloto); }
.olg-swiat__szyna-punkt.is-aktywny { color: var(--olg-zloto-jasne); }
.olg-swiat__szyna-punkt.is-aktywny::after { background: var(--olg-zloto-jasne); transform: scale(1.35); box-shadow: 0 0 12px rgba(215, 208, 202, .7); }

/* karta u celu */
.olg-swiat__koniec { position: absolute; left: var(--olg-margines); bottom: 2.4rem; z-index: 7; width: min(27rem, calc(100% - 2 * var(--olg-margines))); padding: 1.5rem 1.7rem 1.6rem; background: rgba(13, 12, 12, .74); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border: 1px solid rgba(215, 208, 202, .26); box-shadow: 0 30px 60px rgba(0, 0, 0, .45); opacity: 0; visibility: hidden; transform: translateY(22px); transition: opacity .8s var(--olg-ease), transform 1s var(--olg-ease), visibility 0s .8s; }
.olg-swiat__koniec.is-widoczny { opacity: 1; visibility: visible; transform: none; transition: opacity .9s var(--olg-ease) .15s, transform 1.1s var(--olg-ease) .15s; }
.olg-swiat__koniec-etykieta { margin: 0 0 .6rem; font-size: .7rem; letter-spacing: .24em; text-transform: uppercase; color: var(--olg-zloto); }
.olg-swiat__koniec-tytul { margin: 0; font-family: var(--olg-font-szeryf); font-style: italic; font-size: clamp(1.7rem, 1.3rem + 1.2vw, 2.4rem); line-height: 1.05; color: var(--olg-plotno); }
.olg-swiat__koniec-autor { margin: .6rem 0 1.2rem; font-size: var(--olg-skala-xs); line-height: 1.6; color: var(--olg-plotno-cien); }
.olg-swiat__koniec-akcje { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.6rem; }
.olg-swiat__przycisk, .olg-okno .olg-wyslij { border-color: rgba(215, 208, 202, .7); background: transparent; color: var(--olg-zloto-jasne); text-decoration: none; }
.olg-swiat__przycisk::before, .olg-okno .olg-wyslij::before { background: var(--olg-zloto-jasne); }
.olg-swiat.is-statyczna .olg-swiat__szyna { display: none; }

@media (max-width: 899px) {
  .olg-swiat-wstep__glowa, .olg-swiat-wstep__tekst { grid-column: 1 / -1; }
  .olg-swiat-wstep__tekst { margin-top: 2rem; }
  .olg-swiat__szyna { display: none; }
  .olg-swiat__etapy { top: 5.6rem; }
  .olg-swiat__etap-zdanie { font-size: 1.02rem; max-width: 19em; }
  .olg-swiat__hud { left: var(--olg-margines); right: auto; bottom: auto; top: 4.6rem; align-items: flex-start; font-size: .6rem; letter-spacing: .12em; display: none; }
  .olg-swiat__koniec { bottom: 1.8rem; padding: 1.2rem 1.3rem 1.3rem; }
  .olg-swiat__zrodla { bottom: .4rem; font-size: .6rem; }
}

/* po locie */
.olg-swiat-po { padding: clamp(7rem, 18vh, 12rem) 0; }
.olg-swiat-po__siatka { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; align-items: start; }
.olg-swiat-po__siatka .olg-naglowek { grid-column: 1 / span 5; }
.olg-swiat-po__tekst { grid-column: 7 / span 6; }
.olg-swiat-po__akcje { display: flex; flex-direction: column; align-items: flex-start; gap: .4rem; margin-top: 1.6rem; }
@media (max-width: 899px) { .olg-swiat-po__siatka .olg-naglowek, .olg-swiat-po__tekst { grid-column: 1 / -1; } .olg-swiat-po__tekst { margin-top: 2rem; } }

/* okno z obrazem „Dziwny ogród” */
html.olg-okno-otwarte, html.olg-okno-otwarte body { overflow: hidden; }
.olg-okno { position: fixed; inset: 0; z-index: 400; display: grid; place-items: center; padding: clamp(.8rem, 3vw, 2.6rem); }
.olg-okno[hidden] { display: none; }
.olg-okno__tlo { position: absolute; inset: 0; background: rgba(7, 6, 6, .84); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); opacity: 0; transition: opacity .5s; }
.olg-okno__karta { position: relative; width: min(1220px, 100%); max-height: 100%; overflow: auto; overscroll-behavior: contain; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); background: #12100f; border: 1px solid rgba(215, 208, 202, .22); box-shadow: 0 50px 120px rgba(0, 0, 0, .6); opacity: 0; transform: translateY(34px) scale(.985); transition: opacity .55s var(--olg-ease), transform .8s var(--olg-ease); }
.olg-okno.is-otwarte .olg-okno__tlo { opacity: 1; }
.olg-okno.is-otwarte .olg-okno__karta { opacity: 1; transform: none; }
.olg-okno__zamknij { position: sticky; top: .9rem; z-index: 3; grid-column: 1 / -1; grid-row: 1; justify-self: end; margin: .9rem .9rem -3.6rem 0; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(215, 208, 202, .45); background: rgba(16, 14, 13, .85); cursor: pointer; color: var(--olg-zloto-jasne); }
.olg-okno__zamknij span, .olg-okno__zamknij span::after { position: absolute; left: 50%; top: 50%; width: 16px; height: 1px; margin-left: -8px; background: currentColor; transform: rotate(45deg); }
.olg-okno__zamknij span::after { content: ""; left: 0; top: 0; margin: 0; transform: rotate(90deg); }
.olg-okno__zamknij:hover, .olg-okno__zamknij:focus-visible { background: var(--olg-zloto-jasne); color: var(--olg-atrament); }
.olg-okno__obraz { grid-row: 2; margin: 0; padding: clamp(1.4rem, 3.2vw, 3rem); background: #0c0b0a; display: flex; flex-direction: column; justify-content: center; }
.olg-okno__obraz-link { display: block; box-shadow: 0 30px 60px rgba(0, 0, 0, .55); }
.olg-okno__obraz img { display: block; width: 100%; height: auto; }
.olg-okno__obraz figcaption { margin-top: .9rem; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--olg-plotno-cien); }
.olg-okno__tresc { grid-row: 2; padding: clamp(1.6rem, 4vw, 3.6rem); color: var(--olg-plotno); }
.olg-okno__etykieta, .olg-okno__sekcja { margin: 0 0 .8rem; font-size: .7rem; letter-spacing: .24em; text-transform: uppercase; color: var(--olg-zloto); }
.olg-okno__tytul { margin: 0; font-family: var(--olg-font-szeryf); font-style: italic; font-weight: 400; font-variation-settings: "opsz" 96; font-size: clamp(2.4rem, 1.6rem + 2.6vw, 4.2rem); line-height: 1; color: var(--olg-plotno); }
.olg-okno__autor { margin: .8rem 0 1.8rem; font-family: var(--olg-font-szeryf); font-size: clamp(1.1rem, 1rem + .4vw, 1.35rem); color: var(--olg-zloto-jasne); }
.olg-okno__autor span { color: var(--olg-plotno-cien); }
.olg-okno__metryczka { margin: 0 0 1.8rem; border-top: 1px solid rgba(215, 208, 202, .18); }
.olg-okno__metryczka div { display: grid; grid-template-columns: 9.5rem 1fr; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid rgba(215, 208, 202, .12); }
.olg-okno__metryczka dt { font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--olg-zloto); padding-top: .25rem; }
.olg-okno__metryczka dd { margin: 0; font-size: var(--olg-skala-s); line-height: 1.5; }
.olg-okno__opis p { margin: 0 0 1em; font-family: var(--olg-font-szeryf); font-size: clamp(1.02rem, .95rem + .3vw, 1.18rem); line-height: 1.65; color: rgba(226, 222, 219, .88); }
.olg-okno__dwie { margin: 2rem 0 2.2rem; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.olg-okno__dwie-kadr { position: relative; margin: 0; overflow: hidden; aspect-ratio: 16 / 9; background: #0c0b0a; }
.olg-okno__dwie-kadr img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s var(--olg-ease); }
.olg-okno__dwie-kadr:hover img { transform: scale(1.06); }
.olg-okno__dwie-kadr span { position: absolute; left: .7rem; bottom: .55rem; font-size: .64rem; letter-spacing: .16em; text-transform: uppercase; color: var(--olg-plotno); text-shadow: 0 1px 8px rgba(0, 0, 0, .9); }
.olg-okno__dwie figcaption { grid-column: 1 / -1; margin-top: .4rem; font-family: var(--olg-font-szeryf); font-style: italic; font-size: 1.15rem; color: var(--olg-zloto-jasne); }
.olg-okno__dojazd { padding-top: 1.6rem; border-top: 1px solid rgba(215, 208, 202, .18); }
.olg-okno__adres { margin: 0 0 1rem; font-family: var(--olg-font-szeryf); font-size: 1.15rem; line-height: 1.5; }
.olg-okno__przystanki { list-style: none; margin: 0 0 1.5rem; padding: 0; font-size: var(--olg-skala-s); line-height: 1.5; color: rgba(226, 222, 219, .82); }
.olg-okno__przystanki li { position: relative; padding: .3rem 0 .3rem 1.2rem; }
.olg-okno__przystanki li::before { content: ""; position: absolute; left: 0; top: .85rem; width: 5px; height: 5px; border-radius: 50%; background: var(--olg-zloto); }
.olg-okno__przystanki b { font-weight: 500; color: var(--olg-plotno); }
.olg-okno__akcje { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.6rem; }
.olg-okno__zrodlo { margin: 2rem 0 0; padding-top: 1.1rem; border-top: 1px solid rgba(215, 208, 202, .12); font-size: .72rem; line-height: 1.6; color: var(--olg-plotno-cien); }
.olg-okno__zrodlo a { color: var(--olg-zloto-jasne); }
@media (min-width: 901px) { .olg-okno__obraz { position: sticky; top: 0; height: 100%; max-height: calc(100vh - 2 * clamp(.8rem, 3vw, 2.6rem)); } }
@media (max-width: 900px) {
  .olg-okno__karta { grid-template-columns: 1fr; }
  .olg-okno__obraz { grid-row: 2; }
  .olg-okno__tresc { grid-row: 3; }
  .olg-okno__metryczka div { grid-template-columns: 7.2rem 1fr; }
}
@media (prefers-reduced-motion: reduce) { .olg-swiat__punkt-fala { animation: none; opacity: .5; } }

/* ---------- 29. Pokój 3D - wersja 3: od rzutu do wnętrza (O mnie) ----------
   Przewijanie prowadzi przez proces projektowy Olgi: złoty rzut na papierze
   kreślarskim → ściany wyrastają z rysunku → materiały → światło (słońce
   z cieniem liści, lampa galeryjna, pyłki w smugach) → obraz z etykietą.
   Stan końcowy (bez animacji) wynika z wartości domyślnych zmiennych poniżej. */
.olg-pokoj-sekcja {
  --mat: 1; --wzn: 1; --rys: 0; --swiatlo: 1; --sufit: 1; --etykieta: 1;
  background: radial-gradient(ellipse 75% 65% at 50% 55%, #151413 0%, #0e0d0c 58%, #070707 100%);
}
.olg-pokoj { --LW: 480px; }
/* papier kreślarski z siatką - rysunek „leży” tuż pod podłogą pokoju */
.olg-pokoj__papier {
  position: absolute; width: calc(var(--W) * 2.6); height: calc(var(--D) * 2.2);
  margin: calc(var(--D) * -1.1) 0 0 calc(var(--W) * -1.3);
  transform: translateY(calc(var(--H) / 2 + 2px)) translateZ(calc(var(--D) / -2)) rotateX(90deg);
  backface-visibility: hidden; pointer-events: none;
  background:
    radial-gradient(ellipse 50% 50% at 50% 50%, rgba(12, 11, 10, 0) 34%, #0c0b0a 82%),
    repeating-linear-gradient(0deg, rgba(215, 208, 202, .085) 0 1px, transparent 1px 200px),
    repeating-linear-gradient(90deg, rgba(215, 208, 202, .085) 0 1px, transparent 1px 200px),
    repeating-linear-gradient(0deg, rgba(215, 208, 202, .035) 0 1px, transparent 1px 40px),
    repeating-linear-gradient(90deg, rgba(215, 208, 202, .035) 0 1px, transparent 1px 40px),
    radial-gradient(ellipse 50% 50% at 50% 50%, #191716, #11100f);
}
.olg-pokoj__rys { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.olg-pokoj__rys path { fill: none; stroke: rgba(215, 208, 202, .8); stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }
.olg-pokoj__rys .r-g { stroke: rgba(191, 184, 177, .95); stroke-width: 2; }
.olg-pokoj__rys .r-c { stroke: rgba(215, 208, 202, .42); stroke-width: .7; }
.olg-pokoj__rys .r-k { stroke-dasharray: 10 8; stroke: rgba(215, 208, 202, .6); }
.olg-pokoj__rys .r-w { fill: rgba(215, 208, 202, .9); stroke: none; }
.olg-pokoj__papier .olg-pokoj__rys path { stroke-width: calc(1.1px * var(--gr, 1)); }
.olg-pokoj__papier .olg-pokoj__rys .r-g { stroke-width: calc(2.2px * var(--gr, 1)); }
.olg-pokoj__papier .olg-pokoj__rys .r-c { stroke-width: calc(.75px * var(--gr, 1)); }
.olg-pokoj__rys text { fill: rgba(191, 184, 177, .88); font-family: var(--olg-font-szeryf); font-style: italic; }
.olg-pokoj__rys text.r-t { font-family: var(--olg-font-bez); font-style: normal; letter-spacing: .28em; fill: rgba(191, 184, 177, .78); }
/* materiały pojawiają się po rysunku, ściany rosną z rzutu (krycie i skalę ustawia JS bezpośrednio
   na elementach: opacity + właściwość scale - bez zmiennych dziedziczonych przez całą scenę) */
.olg-pokoj__lawka3d > *, .olg-pokoj__lawka3d::before { opacity: var(--mat, 1); }
.olg-pokoj__tyl, .olg-pokoj__lewa, .olg-pokoj__prawa, .olg-pokoj__szkic { transform-origin: 50% 100%; }
.olg-pokoj__szkic { position: absolute; pointer-events: none; opacity: 0; }
.olg-pokoj__szkic--tyl { width: var(--W); height: var(--H); margin: calc(var(--H) / -2) 0 0 calc(var(--W) / -2); transform: translateZ(calc(var(--D) * -1 + 2px)); }
.olg-pokoj__szkic--lewa, .olg-pokoj__szkic--prawa { width: var(--D); height: var(--H); margin: calc(var(--H) / -2) 0 0 calc(var(--D) / -2); }
.olg-pokoj__szkic--lewa { transform: translateX(calc(var(--W) / -2 + 2px)) translateZ(calc(var(--D) / -2)) rotateY(90deg); }
.olg-pokoj__szkic--prawa { transform: translateX(calc(var(--W) / 2 - 2px)) translateZ(calc(var(--D) / -2)) rotateY(-90deg); }
/* ławka dopasowana do szerokości pokoju */
.olg-pokoj__lawka-blat, .olg-pokoj__lawka-przod { left: calc(var(--LW) / -2); width: var(--LW); }
.olg-pokoj__noga--l { left: calc(var(--LW) * -.4375); } .olg-pokoj__noga--p { left: calc(var(--LW) * .404); }
.olg-pokoj__lawka3d::before { left: calc(var(--LW) * -.625); width: calc(var(--LW) * 1.25); }
/* światło: krycie ustawia JS (opacity) */
.olg-pokoj__plama--podloga { top: 6%; }
/* słońce z okna na ścianie: jasna plama z cieniem szprosów i kołyszących się liści */
.olg-pokoj__slonce {
  position: absolute; left: var(--olg-plama-x, 6%); top: 13%; width: 22%; height: 76%;
  transform: skewY(-9deg); overflow: hidden; mix-blend-mode: screen; filter: blur(1.6px); will-change: transform;
  pointer-events: none;
}
.olg-pokoj__slonce-swiatlo {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, transparent 47%, #000 47% 53%, transparent 53%),
    linear-gradient(180deg, transparent 34%, #000 34% 38%, transparent 38%),
    linear-gradient(90deg, rgba(0, 0, 0, .9), transparent 12%, transparent 88%, rgba(0, 0, 0, .9)),
    linear-gradient(180deg, rgba(219, 215, 212, .62), rgba(208, 202, 197, .46) 55%, rgba(198, 191, 185, .2));
}
.olg-pokoj__liscie { position: absolute; left: -12%; top: -8%; width: 124%; height: 116%; }
.olg-pokoj__liscie img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; will-change: transform; }
.olg-lisc { animation: olg-lisc-a 7s ease-in-out infinite alternate; }
.olg-lisc--b { animation-name: olg-lisc-b; animation-duration: 9.5s; }
.olg-lisc--c { animation-name: olg-lisc-a; animation-duration: 5.8s; animation-delay: -2s; }
@keyframes olg-lisc-a { from { transform: rotate(-1.8deg); } to { transform: rotate(2.4deg); } }
@keyframes olg-lisc-b { from { transform: rotate(2deg) translateY(2px); } to { transform: rotate(-2.2deg) translateY(-3px); } }
/* etykieta muzealna obok obrazu */
.olg-pokoj__etykieta {
  position: absolute; left: calc(50% + var(--H) * .26); top: 57%; width: calc(var(--H) * .135);
  padding: calc(var(--H) * .013) calc(var(--H) * .014); background: linear-gradient(160deg, #e5e2df, #d2cdc8);
  box-shadow: 0 6px 14px rgba(0, 0, 0, .45), 0 1px 0 rgba(255, 255, 255, .2) inset; color: #201d1b;
  display: flex; flex-direction: column; gap: calc(var(--H) * .004);
}
.olg-pokoj__etykieta-tytul { font-family: var(--olg-font-szeryf); font-size: calc(var(--H) * .021); letter-spacing: .14em; text-transform: uppercase; line-height: 1.1; }
.olg-pokoj__etykieta-autor { font-family: var(--olg-font-szeryf); font-style: italic; font-size: calc(var(--H) * .014); color: #534d48; padding-bottom: calc(var(--H) * .006); border-bottom: 1px solid rgba(83, 77, 72, .35); }
.olg-pokoj__etykieta-opis { font-family: var(--olg-font-bez); font-size: calc(var(--H) * .0098); line-height: 1.45; color: #433e3a; }
@media (max-width: 699px) { .olg-pokoj__etykieta { display: none; } }
/* pyłki w smugach światła (canvas nad sceną) */
.olg-pokoj__pylki { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; mix-blend-mode: screen; }
/* etapy projektu */
.olg-pokoj__etapy { position: absolute; right: var(--olg-margines); top: clamp(5.5rem, 13vh, 8rem); z-index: 3; list-style: none; margin: 0; padding: 0 0 0 1.1rem;
  display: flex; flex-direction: column; gap: .75rem; border-left: 1px solid rgba(215, 208, 202, .2); font-size: .68rem; letter-spacing: .24em; text-transform: uppercase;
  color: rgba(226, 222, 219, .32); pointer-events: none; transition: opacity .8s; }
.olg-pokoj__etapy li { position: relative; transition: color .6s; }
.olg-pokoj__etapy li::before { content: ""; position: absolute; left: calc(-1.1rem - 3px); top: 50%; width: 5px; height: 5px; margin-top: -2.5px; border-radius: 50%; background: #110f0e; box-shadow: 0 0 0 1px rgba(215, 208, 202, .35); transition: background .6s, box-shadow .6s; }
.olg-pokoj__etapy li.is-miniety { color: rgba(226, 222, 219, .5); }
.olg-pokoj__etapy li.is-miniety::before { background: rgba(215, 208, 202, .6); }
.olg-pokoj__etapy li.is-aktywny { color: var(--olg-zloto-jasne); }
.olg-pokoj__etapy li.is-aktywny::before { background: var(--olg-zloto-jasne); box-shadow: 0 0 0 1px var(--olg-zloto-jasne), 0 0 10px rgba(215, 208, 202, .8); }
.olg-pokoj-sekcja.is-statyczny .olg-pokoj__etapy { display: none; }
@media (max-width: 699px) { .olg-pokoj__etapy { top: 4.6rem; font-size: .58rem; gap: .5rem; } }
@media (prefers-reduced-motion: reduce) { .olg-lisc { animation: none; } }

/* Wydajność: ramki tekstu bez rozmycia tła (rozmycie nad ruchomą sceną 3D liczy się w każdej klatce) */
.olg-pokoj-tekst { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(11, 10, 9, .86); }
.olg-pokoj-tekst--c { background: none; }

/* Świat: faktura złota i przesuwający się blik jako lekkie warstwy nad płótnem mapy */
.olg-swiat__faktura { position: absolute; inset: 0; pointer-events: none; opacity: .45; background-repeat: repeat; background-size: 192px 192px; }
.olg-swiat__blik { display: none; }
/* Wydajność pokoju 3D: bez filtrów rozmycia (liczonych w każdej klatce przy ruchu kamery) - miękkość daje sam gradient */
.olg-pokoj__stozek { clip-path: none; filter: none; width: 58%;
  background:
    radial-gradient(ellipse 22% 100% at 50% 0%, rgba(214, 209, 205, .22), transparent 100%),
    radial-gradient(ellipse 50% 72% at 50% 0%, rgba(209, 203, 198, .16), rgba(208, 202, 197, .05) 60%, transparent 82%); }
.olg-pokoj__plama { filter: none;
  background: linear-gradient(90deg, rgba(226, 222, 219, 0), rgba(226, 222, 219, .2) 14%, rgba(226, 222, 219, .34) 32%, rgba(226, 222, 219, .28) 68%, rgba(226, 222, 219, .16) 86%, rgba(226, 222, 219, 0)); }
.olg-pokoj__odbicie { filter: none; background: radial-gradient(ellipse 50% 70% at 50% 0%, rgba(214, 210, 206, .2), rgba(214, 210, 206, .06) 55%, transparent 80%); }
.olg-pokoj__slonce { filter: none; }
.olg-pokoj__slonce-swiatlo {
  background:
    linear-gradient(90deg, transparent 45.5%, #000 47.5% 52.5%, transparent 54.5%),
    linear-gradient(180deg, transparent 32.5%, #000 34.5% 37.5%, transparent 39.5%),
    linear-gradient(90deg, #000, transparent 14%, transparent 86%, #000),
    linear-gradient(180deg, #000, transparent 5%, transparent 94%, #000),
    linear-gradient(180deg, rgba(219, 215, 212, .62), rgba(208, 202, 197, .46) 55%, rgba(198, 191, 185, .2));
}
.olg-pokoj__papier { width: calc(var(--W) * 2); height: calc(var(--D) * 1.8); margin: calc(var(--D) * -.9) 0 0 calc(var(--W) * -1); }

/* =====================================================================
   30. Start: podróż w sześciu przystankach - „od muzeum do Ciebie”
       Rytm tła: atrament → sala (głęboki mrok) → orzech → płótno →
       atrament → orzech → atrament ze złotym blaskiem
   ===================================================================== */
.olg-przystanek { position: relative; z-index: 2; }
.olg-przystanek__nr {
  display: flex; align-items: center; gap: .9rem; margin: 0 0 1.6rem;
  font-size: var(--olg-skala-xs); letter-spacing: .16em; text-transform: uppercase; color: var(--olg-zloto);
}
.olg-przystanek__nr::before { content: ""; width: 2.4rem; height: 1px; background: currentColor; opacity: .7; flex: none; }
.olg-przystanek__zdanie {
  font-family: var(--olg-font-szeryf); font-weight: 400; font-variation-settings: "opsz" 72;
  font-size: clamp(1.9rem, 1.1rem + 2.3vw, 3.3rem); line-height: 1.1; letter-spacing: -.012em; margin: 0; text-wrap: balance;
}
@keyframes olg-oddech { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(.72); opacity: .7; } }

/* --- Przewodnik: trasa sześciu przystanków pod powitaniem --- */
.olg-powitanie__koniec-trasy { height: 0; margin-top: clamp(3rem, 8vh, 5.5rem); pointer-events: none; }
.olg-przewodnik { margin-top: clamp(3rem, 7vh, 4.5rem); }
.olg-przewodnik__etykieta { margin: 0 0 1.8rem; font-size: var(--olg-skala-xs); letter-spacing: .16em; text-transform: uppercase; color: var(--olg-zloto); }
.olg-przewodnik__etykieta span { font-family: var(--olg-font-szeryf); font-style: italic; text-transform: none; letter-spacing: .02em; font-size: 1rem; color: var(--olg-plotno-cien); }
.olg-przewodnik__trasa { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); position: relative; }
.olg-przewodnik__trasa::before {
  content: ""; position: absolute; left: 0; right: 0; top: 7px; height: 1px;
  background: linear-gradient(90deg, var(--olg-zloto), rgba(127, 118, 111, .5) 70%, rgba(127, 118, 111, .1));
  transform-origin: left; transform: scaleX(0); transition: transform 2.4s var(--olg-ease-miekki);
}
.olg-przewodnik.is-widoczny .olg-przewodnik__trasa::before { transform: none; }
.olg-przewodnik__trasa li { opacity: 0; transform: translateY(14px); transition: opacity .9s var(--olg-ease), transform 1.1s var(--olg-ease); }
.olg-przewodnik.is-widoczny .olg-przewodnik__trasa li { opacity: 1; transform: none; }
.olg-przewodnik__trasa li:nth-child(2) { transition-delay: .3s; } .olg-przewodnik__trasa li:nth-child(3) { transition-delay: .6s; }
.olg-przewodnik__trasa li:nth-child(4) { transition-delay: .9s; } .olg-przewodnik__trasa li:nth-child(5) { transition-delay: 1.2s; }
.olg-przewodnik__trasa li:nth-child(6) { transition-delay: 1.5s; }
.olg-przewodnik__trasa a { display: flex; flex-direction: column; align-items: flex-start; gap: .95rem; padding: 0 1rem 1rem 0; text-decoration: none; }
.olg-przewodnik__trasa a::before {
  content: ""; width: 15px; height: 15px; border-radius: 50%; border: 1px solid var(--olg-zloto); background: var(--olg-atrament);
  transition: background-color .5s, box-shadow .6s var(--olg-ease);
}
.olg-przewodnik__nr { font-family: var(--olg-font-szeryf); font-variation-settings: "opsz" 48; font-size: var(--olg-skala-l); line-height: 1; color: var(--olg-zloto-jasne); transition: transform .7s var(--olg-ease); }
.olg-przewodnik__nazwa { font-size: var(--olg-skala-xs); letter-spacing: .14em; text-transform: uppercase; transition: color .5s; }
.olg-przewodnik__trasa a:hover::before, .olg-przewodnik__trasa a:focus-visible::before { background: var(--olg-zloto-jasne); box-shadow: 0 0 0 7px rgba(215, 208, 202, .12); }
.olg-przewodnik__trasa a:hover .olg-przewodnik__nr, .olg-przewodnik__trasa a:focus-visible .olg-przewodnik__nr { transform: translateX(.35rem); }
.olg-przewodnik__trasa a:hover .olg-przewodnik__nazwa, .olg-przewodnik__trasa a:focus-visible .olg-przewodnik__nazwa { color: var(--olg-zloto-jasne); }
@media (max-width: 699px) {
  .olg-przewodnik__trasa { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 1.4rem; }
  .olg-przewodnik__trasa::before { display: none; }
  .olg-przewodnik__trasa a { gap: .7rem; }
}

/* --- Plakietka „tu jesteś” (stała, lewy dół) --- */
.olg-przewodnik-plakietka {
  /* pionowo, na lewym marginesie strony - jak podpis przy wejściu do sali; nie zasłania treści */
  position: fixed; left: calc(var(--olg-margines) / 2); top: 50%; z-index: 110; pointer-events: none; white-space: nowrap;
  display: flex; align-items: center; gap: .9rem; font-size: .64rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--olg-zloto-jasne); opacity: 0; transform: translate(-50%, -50%) rotate(-90deg) translateY(8px);
  transition: opacity .6s, transform .7s var(--olg-ease), color .5s;
}
.olg-przewodnik-plakietka.is-widoczna { opacity: .9; transform: translate(-50%, -50%) rotate(-90deg); }
.olg-przewodnik-plakietka.is-jasny { color: var(--olg-zloto-ciemne); }
.olg-przewodnik-plakietka__tor { position: relative; width: 56px; height: 1px; overflow: hidden; background: currentColor; opacity: .9; }
.olg-przewodnik-plakietka__tor::before { content: ""; position: absolute; inset: 0; background: var(--olg-atrament); opacity: .55; }
.olg-przewodnik-plakietka.is-jasny .olg-przewodnik-plakietka__tor::before { background: var(--olg-plotno); }
.olg-przewodnik-plakietka__tor i { position: absolute; inset: 0; background: currentColor; transform-origin: left; transform: scaleX(0); transition: transform .9s var(--olg-ease); }
@media (max-width: 899px) { .olg-przewodnik-plakietka { display: none; } }

/* --- I. Muzeum: ciemna sala, światło prowadzone ręką --- */
.olg-sala {
  padding: clamp(6rem, 14vh, 10rem) 0; overflow: hidden;
  background: radial-gradient(ellipse 50% 75% at 74% -12%, rgba(215, 208, 202, .09), transparent 72%), #0b0a0a;
}
.olg-sala__siatka { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; row-gap: 3rem; align-items: center; }
.olg-sala__opis { grid-column: 1 / span 5; }
.olg-sala__obraz { grid-column: 6 / span 7; margin: 0; }
.olg-sala__wskazowka { display: flex; align-items: center; gap: .9rem; margin: 2.2rem 0 0; font-family: var(--olg-font-szeryf); font-style: italic; font-size: var(--olg-skala-l); line-height: 1.35; color: var(--olg-zloto-jasne); }
.olg-sala__wskazowka i { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--olg-zloto-jasne); box-shadow: 0 0 14px 4px rgba(215, 208, 202, .4); animation: olg-oddech 2.8s ease-in-out infinite; }
.olg-sala__wskazowka span { transition: opacity .38s; }
.olg-sala__etykieta { margin-top: clamp(2.5rem, 6vh, 4rem); padding: .2rem 0 .2rem 1.3rem; border-left: 1px solid rgba(127, 118, 111, .55); max-width: 23rem; }
.olg-sala__etykieta p { margin: 0; }
.olg-sala__etykieta-autor { font-family: var(--olg-font-szeryf); font-size: 1.05rem; }
.olg-sala__etykieta-autor span { color: var(--olg-plotno-cien); font-size: .9em; }
.olg-sala__etykieta-tytul { font-family: var(--olg-font-szeryf); font-style: italic; font-size: var(--olg-skala-l); color: var(--olg-zloto-jasne); margin: .15rem 0 .5rem !important; }
.olg-sala__etykieta-dane { font-size: var(--olg-skala-xs); color: var(--olg-plotno-cien); line-height: 1.6; margin-bottom: .6rem !important; }
.olg-sala__rama {
  position: relative; overflow: hidden; isolation: isolate; width: min(100%, calc(80vh * 845 / 900)); margin-left: auto;
  box-shadow: 0 60px 100px -40px rgba(0, 0, 0, .95);
}
.olg-sala__rama img { width: 100%; height: auto; }
.olg-sala__mrok {
  position: absolute; left: 0; top: 0; z-index: 1; pointer-events: none; opacity: 0; will-change: transform;
  transition: opacity 2.4s var(--olg-ease);
  background:
    radial-gradient(circle at 50% 50%, rgba(208, 202, 197, .12) 0, rgba(208, 202, 197, 0) var(--r, 120px)),
    radial-gradient(circle at 50% 50%, rgba(6, 6, 6, 0) 0, rgba(6, 6, 6, 0) calc(var(--r, 120px) * .4), rgba(6, 6, 6, .6) calc(var(--r, 120px) * .8), rgba(6, 6, 6, .9) var(--r, 120px), rgba(6, 6, 6, .9));
}
.olg-sala.is-ciemna .olg-sala__mrok { opacity: 1; }
.olg-sala.is-ciemna.is-znaleziona .olg-sala__mrok { opacity: .16; }
.olg-sala__punkt { position: absolute; left: var(--x); top: var(--y); z-index: 2; width: 34px; height: 34px; margin: -17px 0 0 -17px; padding: 0; border: 0; background: none; cursor: pointer; }
.olg-sala__punkt::before, .olg-sala__punkt::after { content: ""; position: absolute; inset: 11px; border-radius: 50%; }
.olg-sala__punkt::before { border: 1px solid rgba(226, 222, 219, .75); background: rgba(16, 14, 13, .25); transition: background-color .5s, border-color .5s, box-shadow .6s var(--olg-ease); }
.olg-sala__punkt::after { border: 1px solid var(--olg-zloto-jasne); opacity: 0; }
.olg-sala__punkt.is-oswietlony::before, .olg-sala__punkt:hover::before, .olg-sala__punkt:focus-visible::before { background: var(--olg-zloto-jasne); border-color: var(--olg-zloto-jasne); box-shadow: 0 0 0 7px rgba(215, 208, 202, .2); }
.olg-sala__punkt.is-oswietlony, .olg-sala__punkt:hover, .olg-sala__punkt:focus-visible { z-index: 3; }
.olg-sala__punkt.is-oswietlony::after { animation: olg-puls 2.4s var(--olg-ease) infinite; }
.olg-sala__punkt.is-blysk::after { animation: olg-blysk-sala 1.5s var(--olg-ease) 3; }
@keyframes olg-blysk-sala { from { transform: scale(1); opacity: 1; } to { transform: scale(9); opacity: 0; } }
.olg-sala__karta {
  position: absolute; left: 50%; top: calc(100% + 6px); width: min(17rem, 62vw); padding: .85rem 1.05rem .95rem;
  background: rgba(11, 10, 9, .9); border: 1px solid rgba(215, 208, 202, .32); text-align: left;
  opacity: 0; visibility: hidden; transform: translate(-14%, 8px); pointer-events: none;
  transition: opacity .45s, transform .6s var(--olg-ease), visibility 0s .45s;
}
.olg-sala__punkt.is-lewo .olg-sala__karta { transform: translate(-86%, 8px); }
.olg-sala__punkt.is-gora .olg-sala__karta { top: auto; bottom: calc(100% + 6px); }
.olg-sala__punkt.is-oswietlony .olg-sala__karta, .olg-sala__punkt:hover .olg-sala__karta, .olg-sala__punkt:focus-visible .olg-sala__karta { opacity: 1; visibility: visible; transform: translate(-14%, 0); transition: opacity .45s, transform .6s var(--olg-ease), visibility 0s; }
.olg-sala__punkt.is-lewo.is-oswietlony .olg-sala__karta, .olg-sala__punkt.is-lewo:hover .olg-sala__karta, .olg-sala__punkt.is-lewo:focus-visible .olg-sala__karta { transform: translate(-86%, 0); }
.olg-sala__imie { display: block; margin-bottom: .35rem; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--olg-zloto-jasne); }
.olg-sala__karta em { display: block; font-style: normal; font-size: .86rem; line-height: 1.5; color: var(--olg-plotno); }
.olg-sala__karta b { display: block; margin-top: .5rem; font-family: var(--olg-font-szeryf); font-style: italic; font-weight: 400; font-size: 1.02rem; color: var(--olg-zloto-jasne); }
.olg-sala__obraz figcaption { margin-top: .9rem; text-align: right; font-family: var(--olg-font-szeryf); font-style: italic; font-size: var(--olg-skala-xs); color: var(--olg-plotno-cien); }
.olg-kursor-latarka .olg-kursor__krag { opacity: 0; }
@media (max-width: 899px) {
  .olg-sala__opis, .olg-sala__obraz { grid-column: 1 / -1; }
  .olg-sala__rama { width: 100%; }
  .olg-sala__etykieta { margin-top: 2rem; }
}

/* --- II. Obraz: dwie ważki pod złotą linią --- */
.olg-dwie { background: var(--olg-orzech); padding: clamp(6rem, 14vh, 10rem) 0 clamp(5rem, 12vh, 8rem); }
.olg-dwie__siatka { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; row-gap: 2.5rem; align-items: center; }
.olg-dwie__opis { grid-column: 1 / span 4; }
.olg-dwie__okno { grid-column: 5 / span 8; }
.olg-dwie__zdanie {
  font-family: var(--olg-font-szeryf); font-weight: 400; font-variation-settings: "opsz" 96;
  font-size: clamp(2rem, 1.1rem + 2.3vw, 3.5rem); line-height: 1.06; letter-spacing: -.018em; margin: 0; text-wrap: balance;
}
.olg-dwie__zdanie em { color: var(--olg-zloto-jasne); }
.olg-dwie__okno {
  position: relative; aspect-ratio: 1000 / 556; overflow: hidden; touch-action: pan-y; user-select: none; -webkit-user-select: none;
  cursor: ew-resize; box-shadow: 0 50px 90px -40px rgba(0, 0, 0, .9);
}
.olg-ma-kursor .olg-dwie__okno { cursor: none; }
.olg-dwie__okno img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.olg-dwie__olga { position: absolute; inset: 0; -webkit-clip-path: inset(0 0 0 50%); clip-path: inset(0 0 0 50%); }
.olg-dwie__linia { position: absolute; top: 0; bottom: 0; left: 50%; width: 0; pointer-events: none; will-change: transform; }
.olg-dwie__linia::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: -1px; width: 2px;
  background: linear-gradient(180deg, rgba(215, 208, 202, 0), var(--olg-zloto-jasne) 14%, var(--olg-zloto-jasne) 86%, rgba(215, 208, 202, 0));
  box-shadow: 0 0 18px rgba(215, 208, 202, .55);
}
.olg-dwie__uchwyt {
  position: absolute; top: 50%; left: 0; width: 60px; height: 60px; margin: -30px 0 0 -30px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; gap: 14px;
  border: 1px solid var(--olg-zloto-jasne); background: rgba(11, 10, 9, .5); transition: transform .5s var(--olg-ease), background-color .5s;
}
.olg-dwie__uchwyt i { width: 8px; height: 8px; border-left: 1px solid var(--olg-zloto-jasne); border-bottom: 1px solid var(--olg-zloto-jasne); transform: rotate(45deg); }
.olg-dwie__uchwyt i + i { transform: rotate(-135deg); }
.olg-dwie__okno.is-aktywne .olg-dwie__uchwyt { transform: scale(1.1); background: rgba(11, 10, 9, .3); }
.olg-dwie__okno.is-fokus .olg-dwie__uchwyt { outline: 1px solid var(--olg-zloto-jasne); outline-offset: 5px; }
.olg-dwie__etykieta {
  position: absolute; bottom: 1.1rem; padding: .45rem .8rem; pointer-events: none;
  font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; background: rgba(11, 10, 9, .66); color: var(--olg-plotno);
}
.olg-dwie__etykieta--l { left: 1.1rem; }
.olg-dwie__etykieta--p { right: 1.1rem; color: var(--olg-zloto-jasne); }
.olg-dwie__suwak { position: absolute; left: 50%; bottom: 0; width: 1px; height: 1px; margin: 0; opacity: 0; overflow: hidden; }
.olg-dwie__wskazowka { margin: 2rem 0 0; font-family: var(--olg-font-szeryf); font-style: italic; font-size: 1.05rem; color: var(--olg-plotno-cien); }
@media (max-width: 899px) { .olg-dwie__opis, .olg-dwie__okno { grid-column: 1 / -1; } }
@media (max-width: 599px) {
  .olg-dwie__okno { aspect-ratio: 4 / 3; margin-inline: calc(var(--olg-margines) * -1); }
  .olg-dwie__etykieta { font-size: .58rem; bottom: .7rem; padding: .35rem .55rem; }
  .olg-dwie__etykieta--l { left: .7rem; } .olg-dwie__etykieta--p { right: .7rem; }
  .olg-dwie__uchwyt { width: 48px; height: 48px; margin: -24px 0 0 -24px; gap: 10px; }
}

/* --- III. Mapa: zarys ulic rysuje się złotem na płótnie (przypięta) --- */
.olg-zarys {
  position: relative; z-index: 2; height: 100vh; height: 100svh; overflow: hidden; color: var(--olg-atrament);
  background-color: var(--olg-plotno);
  background-image:
    radial-gradient(ellipse at 20% 0%, rgba(255, 255, 255, .5), transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='4'/%3E%3CfeDiffuseLighting lighting-color='%23f3ecdf' surfaceScale='1.6'%3E%3CfeDistantLight azimuth='45' elevation='58'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");
  background-blend-mode: normal, multiply;
}
.olg-zarys__pin { position: relative; height: 100%; }
.olg-zarys__pin::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: radial-gradient(ellipse 80% 80% at 62% 52%, transparent 60%, rgba(81, 76, 71, .1)); }
.olg-zarys__plotno { position: absolute; left: 0; top: 0; width: 100%; height: 100%; will-change: transform; }
.olg-zarys__muzeum { position: absolute; left: 0; top: 0; z-index: 2; opacity: var(--o, 1); pointer-events: none; }
.olg-zarys__muzeum i { position: absolute; left: -7px; top: -7px; width: 14px; height: 14px; border-radius: 50%; background: var(--olg-zloto-ciemne); box-shadow: 0 0 0 5px rgba(81, 76, 71, .14); }
.olg-zarys__muzeum i::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 1px solid var(--olg-zloto-ciemne); animation: olg-puls 2.8s var(--olg-ease) infinite; }
.olg-zarys__muzeum span {
  position: absolute; left: 20px; top: -.85em; white-space: nowrap; padding: .25rem .55rem;
  font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--olg-zloto-ciemne); background: rgba(226, 222, 219, .88);
}
.olg-zarys__tekst { position: absolute; z-index: 3; left: var(--olg-margines); top: 50%; transform: translateY(-50%); width: min(31rem, 38vw); }
.olg-zarys .olg-przystanek__nr { color: var(--olg-zloto-ciemne); }
.olg-zarys__zdanie { font-family: var(--olg-font-szeryf); font-weight: 400; font-variation-settings: "opsz" 72; font-size: clamp(1.8rem, 1.1rem + 1.9vw, 2.9rem); line-height: 1.1; letter-spacing: -.012em; margin: 0 0 1.4rem; text-wrap: balance; }
.olg-zarys__dalej { margin: 0 0 1.5rem; font-size: var(--olg-skala-l); font-weight: 300; line-height: 1.55; color: #3a3632; }
.olg-zarys__wsp { margin: 0 0 .5rem; font-size: var(--olg-skala-xs); letter-spacing: .16em; color: var(--olg-zloto-ciemne); font-variant-numeric: tabular-nums; }
.olg-zarys .olg-link { --olg-link-kolor: var(--olg-zloto-ciemne); }
.olg-zarys__zrodlo { position: absolute; z-index: 3; right: var(--olg-margines); bottom: 1rem; margin: 0; font-size: .66rem; letter-spacing: .04em; color: #6a635d; }
@media (max-width: 899px) {
  .olg-zarys__tekst { top: 5rem; left: var(--olg-margines); right: var(--olg-margines); width: auto; transform: none; }
  .olg-zarys__zdanie { font-size: clamp(1.5rem, 1rem + 2.4vw, 2.2rem); margin-bottom: 1rem; }
  .olg-zarys__dalej { font-size: 1rem; margin-bottom: .9rem; }
  .olg-zarys__zrodlo { right: auto; left: var(--olg-margines); }
  .olg-zarys__muzeum span { left: 0; top: 16px; transform: translateX(-50%); }
}

/* --- IV. Wnętrze: obraz w przestrzeni zaprojektowanej dla niego --- */
.olg-wnetrze { padding: clamp(6rem, 16vh, 11rem) 0 clamp(7rem, 18vh, 12rem); overflow: hidden; }
.olg-wnetrze__siatka { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; row-gap: 4rem; align-items: center; }
.olg-wnetrze__opis { grid-column: 1 / span 5; }
.olg-wnetrze__cytat { color: var(--olg-zloto-jasne); font-size: clamp(1.55rem, 1rem + 1.6vw, 2.4rem); margin: 2.4rem 0 2rem; }
.olg-wnetrze__kadry { grid-column: 7 / span 6; position: relative; padding-bottom: 16%; }
.olg-wnetrze__kadr { margin: 0; }
.olg-wnetrze__kadr--duzy { width: 70%; margin-left: auto; }
.olg-wnetrze__kadr--maly { position: absolute; left: 0; bottom: 0; z-index: 2; width: 42%; }
.olg-wnetrze__foto { position: relative; overflow: hidden; aspect-ratio: 2 / 3; box-shadow: 0 50px 80px -34px rgba(0, 0, 0, .9); will-change: transform; }
.olg-wnetrze__foto img { width: 100%; height: 100%; object-fit: cover; }
.olg-wnetrze__kadr--maly .olg-wnetrze__foto { outline: 1px solid rgba(215, 208, 202, .38); outline-offset: 10px; }
.olg-wnetrze__swiatlo {
  position: absolute; inset: -25%; pointer-events: none; opacity: 0; transition: opacity .9s;
  background: linear-gradient(112deg, transparent 32%, rgba(230, 227, 225, .15) 47%, rgba(230, 227, 225, .04) 55%, transparent 64%);
}
.olg-wnetrze.is-swiatlo .olg-wnetrze__swiatlo { opacity: 1; }
@media (max-width: 899px) {
  .olg-wnetrze__opis, .olg-wnetrze__kadry { grid-column: 1 / -1; }
  .olg-wnetrze__kadry { padding-bottom: 22%; }
  .olg-wnetrze__kadr--duzy { width: 74%; }
  .olg-wnetrze__kadr--maly { width: 44%; }
}

/* --- V. Układanka: 12 elementów z ręcznych matryc --- */
.olg-ukladanka { background: var(--olg-orzech); padding: clamp(6rem, 14vh, 10rem) 0; overflow: hidden; }
.olg-ukladanka__siatka { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; row-gap: 3rem; align-items: center; }
.olg-ukladanka__opis { grid-column: 1 / span 4; }
.olg-ukladanka__opis .olg-naglowek { margin: .4rem 0 0; }
.olg-ukladanka__dalej { color: var(--olg-plotno-cien); margin: 1.4rem 0 2.2rem; }
.olg-ukladanka__gra { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1.2rem 2.2rem; transition: opacity .7s; }
.olg-ukladanka__gra.is-schowana { opacity: 0; }
.olg-ukladanka__licznik { margin: 0; font-family: var(--olg-font-szeryf); font-size: var(--olg-skala-xl); line-height: 1; color: var(--olg-zloto-jasne); font-variant-numeric: tabular-nums; }
.olg-ukladanka__licznik em { display: block; margin-top: .6rem; font-family: var(--olg-font-bez); font-style: normal; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--olg-plotno-cien); }
.olg-ukladanka__final .olg-cytat { font-size: clamp(1.45rem, 1rem + 1.4vw, 2.2rem); color: var(--olg-zloto-jasne); margin: 0 0 1.4rem; }
.olg-ukladanka__akcje { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 2rem; }
.olg-ukladanka__stol { grid-column: 5 / span 8; position: relative; isolation: isolate; height: min(84vh, 780px); min-height: 520px; user-select: none; -webkit-user-select: none; }
.olg-ukladanka__plansza { position: absolute; left: 0; top: 0; background: rgba(6, 5, 5, .4); box-shadow: 0 0 0 1px rgba(215, 208, 202, .1), 0 40px 70px -40px rgba(0, 0, 0, .9); }
.olg-ukladanka__duch { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .1; filter: grayscale(.5); pointer-events: none; }
.olg-ukladanka__matryca { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.olg-ukladanka__caly { position: absolute; inset: 0; z-index: 5000; width: 100%; height: 100%; opacity: 0; pointer-events: none; transition: opacity 1.6s var(--olg-ease) .4s; }
.olg-ukladanka__blysk { position: absolute; inset: 0; z-index: 5001; overflow: hidden; pointer-events: none; }
.olg-ukladanka__blysk::before { content: ""; position: absolute; top: -10%; bottom: -10%; left: -60%; width: 45%; background: linear-gradient(100deg, rgba(233, 231, 229, 0), rgba(233, 231, 229, .32), rgba(233, 231, 229, 0)); transform: skewX(-12deg); }
.olg-ukladanka__stol.is-ulozona .olg-ukladanka__caly { opacity: 1; }
.olg-ukladanka__stol.is-ulozona .olg-ukladanka__blysk::before { animation: olg-przelot 1.9s var(--olg-ease) 1.2s forwards; }
@keyframes olg-przelot { to { left: 130%; } }
.olg-kawalek { position: absolute; left: 0; top: 0; z-index: 20; touch-action: none; will-change: transform; cursor: grab; }
.olg-ma-kursor .olg-kawalek { cursor: none; }
.olg-kawalek.is-chwycony { filter: drop-shadow(0 18px 16px rgba(0, 0, 0, .45)); cursor: grabbing; }
.olg-kawalek.is-blisko { filter: drop-shadow(0 0 10px rgba(215, 208, 202, .8)); }
.olg-kawalek.is-ulozony { cursor: default; animation: olg-kawalek-blysk 1.1s var(--olg-ease); }
@keyframes olg-kawalek-blysk { from { filter: brightness(1.6) drop-shadow(0 0 12px rgba(215, 208, 202, .8)); } to { filter: brightness(1) drop-shadow(0 0 0 rgba(215, 208, 202, 0)); } }
@media (max-width: 899px) {
  .olg-ukladanka__opis, .olg-ukladanka__stol { grid-column: 1 / -1; }
  .olg-ukladanka__stol { min-height: 0; }
}

/* --- VI. Ty: zaproszenie do muzeum i podpis Olgi --- */
.olg-ty { padding: clamp(7rem, 16vh, 11rem) 0 clamp(5rem, 10vh, 7rem); overflow: hidden; }
.olg-ty__blask {
  position: absolute; left: 50%; top: 42%; width: 100vmax; height: 100vmax; margin: -50vmax 0 0 -50vmax; pointer-events: none;
  background: radial-gradient(circle, rgba(215, 208, 202, .1), rgba(215, 208, 202, .03) 32%, rgba(215, 208, 202, 0) 60%);
  animation: olg-blask-oddech 10s ease-in-out infinite;
}
@keyframes olg-blask-oddech { 50% { transform: scale(1.1); opacity: .7; } }
.olg-ty__siatka { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; row-gap: 3.5rem; align-items: center; }
.olg-ty__slowa { grid-column: 1 / span 6; }
.olg-ty__zdanie { font-family: var(--olg-font-szeryf); font-weight: 400; font-variation-settings: "opsz" 96; font-size: clamp(2.1rem, 1.1rem + 3.1vw, 4.3rem); line-height: 1.05; letter-spacing: -.018em; margin: 0; text-wrap: balance; }
.olg-ty__pocztowka-wrap { grid-column: 8 / span 5; perspective: 1600px; }
.olg-pocztowka { --ux: 0deg; --uy: 0deg; --obrot: 0deg; position: relative; display: grid; transform-style: preserve-3d; transform: rotateX(var(--ux)) rotateY(calc(var(--uy) + var(--obrot))); }
.olg-pocztowka.is-odwrocona { --obrot: 180deg; }
.olg-pocztowka.is-obraca { transition: transform .9s var(--olg-ease); }
.olg-pocztowka__strona { grid-area: 1 / 1; position: relative; min-height: 23rem; -webkit-backface-visibility: hidden; backface-visibility: hidden; box-shadow: 0 50px 80px -34px rgba(0, 0, 0, .95); transition: visibility 0s .42s; }
/* Druga strona kartki znika dokładnie w połowie obrotu - w Safari backface-visibility nie ukrywa napisów z własną warstwą (prześwitywały lustrzanie) */
.olg-pocztowka.is-odwrocona .olg-pocztowka__przod, .olg-pocztowka:not(.is-odwrocona) .olg-pocztowka__tyl { visibility: hidden; }
.olg-pocztowka__strona * { -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.olg-pocztowka__przod { display: block; width: 100%; padding: 0; border: 0; overflow: hidden; background: #e7e4e2; cursor: pointer; text-align: left; color: var(--olg-plotno); }
.olg-ma-kursor .olg-pocztowka__przod { cursor: none; }
.olg-pocztowka__przod img { position: absolute; left: calc(12px - (100% - 24px) * .08); top: calc(12px - (100% - 24px) * .05); width: calc((100% - 24px) * 1.16); height: calc((100% - 24px) * 1.16); max-width: none; object-fit: cover; object-position: 50% 22%; }
.olg-pocztowka__przod::after { content: ""; position: absolute; inset: 0; border: 12px solid #e7e4e2; background: linear-gradient(180deg, rgba(11, 10, 9, 0) 45%, rgba(11, 10, 9, .78)); }
.olg-pocztowka__napis { position: absolute; left: 2rem; bottom: 1.7rem; z-index: 1; font-family: var(--olg-font-szeryf); font-style: italic; font-size: clamp(1.5rem, 1rem + 1.4vw, 2.2rem); line-height: 1.1; }
.olg-pocztowka__odwroc {
  position: absolute; right: 1.6rem; top: 1.6rem; z-index: 1; display: inline-flex; align-items: center; gap: .55rem;
  padding: .45rem .8rem; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; background: rgba(11, 10, 9, .6); color: var(--olg-zloto-jasne);
  transition: background-color .5s;
}
.olg-pocztowka__odwroc i { width: 12px; height: 12px; border: 1px solid currentColor; border-radius: 50%; border-right-color: transparent; transform: rotate(45deg); transition: transform .8s var(--olg-ease); }
.olg-pocztowka__przod:hover .olg-pocztowka__odwroc i, .olg-pocztowka__przod:focus-visible .olg-pocztowka__odwroc i { transform: rotate(405deg); }
.olg-pocztowka__tyl {
  transform: rotateY(180deg); display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); grid-template-rows: auto 1fr auto; gap: 1.1rem 1.6rem;
  padding: 1.6rem 1.7rem 1.4rem; color: var(--olg-atrament);
  background: radial-gradient(ellipse at 15% 0%, rgba(255, 255, 255, .55), transparent 60%), linear-gradient(135deg, #ece9e7, #dfdbd8);
}
.olg-pocztowka__tekst { grid-column: 1; grid-row: 1 / span 2; margin: 0; padding-right: 1.4rem; border-right: 1px solid rgba(16, 14, 13, .16); font-family: var(--olg-font-szeryf); font-style: italic; font-size: 1.04rem; line-height: 1.55; }
.olg-pocztowka__znaczek {
  grid-column: 2; grid-row: 1; justify-self: end; width: 86px; height: 104px; padding: 7px; transform: rotate(3deg);
  background: radial-gradient(circle, transparent 2.3px, #f6f5f4 2.7px) -4px -4px / 8px 8px; /* ząbki znaczka */
  filter: drop-shadow(0 1px 2px rgba(16, 14, 13, .25));
}
.olg-pocztowka__znaczek img { width: 100%; height: 100%; object-fit: contain; background: var(--olg-orzech); padding: 8px 4px; outline: 3px solid #f6f5f4; }
.olg-pocztowka__adres {
  grid-column: 2; grid-row: 2; align-self: end; margin: 0; font-size: .78rem; letter-spacing: .03em; line-height: 2.2;
  background-image: linear-gradient(180deg, transparent calc(100% - 1px), rgba(16, 14, 13, .28) calc(100% - 1px)); background-size: 100% 2.2em;
}
.olg-pocztowka__akcje { grid-column: 1 / -1; grid-row: 3; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.5rem; padding: 1rem 3rem 0 0; border-top: 1px solid rgba(16, 14, 13, .14); }
.olg-pocztowka__akcje .olg-link { --olg-link-kolor: var(--olg-zloto-ciemne); }
.olg-pocztowka__wyslij { padding: .85rem 1.4rem; }
.olg-pocztowka__wroc { position: absolute; right: 1.2rem; bottom: 1.3rem; width: 36px; height: 36px; padding: 0; border-radius: 50%; border: 1px solid rgba(16, 14, 13, .35); background: none; color: var(--olg-atrament); cursor: pointer; display: grid; place-items: center; }
.olg-ma-kursor .olg-pocztowka__wroc { cursor: none; }
.olg-pocztowka__wroc i { width: 12px; height: 12px; border: 1px solid currentColor; border-radius: 50%; border-left-color: transparent; transform: rotate(-45deg); }
.olg-ty__koniec { position: relative; margin-top: clamp(6rem, 15vh, 10rem); text-align: center; }
.olg-ty__koda { max-width: 25ch; margin: 0 auto; font-family: var(--olg-font-szeryf); font-style: italic; font-variation-settings: "opsz" 72; font-size: clamp(1.6rem, 1rem + 2vw, 3rem); line-height: 1.22; text-wrap: balance; }
.olg-ty__haslo { width: clamp(230px, 32vw, 430px); height: auto; margin: 2.6rem auto 0; overflow: visible; }
.olg-ty__haslo path { fill: none; stroke: var(--olg-zloto-jasne); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 899px) {
  .olg-ty__slowa, .olg-ty__pocztowka-wrap { grid-column: 1 / -1; }
  .olg-ty__pocztowka-wrap { max-width: 34rem; }
}
@media (max-width: 559px) {
  .olg-pocztowka__strona { min-height: 26rem; }
  .olg-pocztowka__tyl { grid-template-columns: minmax(0, 1fr) auto; padding: 1.3rem 1.2rem 1.2rem; gap: .9rem 1rem; }
  .olg-pocztowka__tekst { grid-row: 1; border-right: 0; padding-right: 0; font-size: .98rem; }
  .olg-pocztowka__znaczek { width: 62px; height: 76px; }
  .olg-pocztowka__adres { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  .olg-ty__blask, .olg-sala__wskazowka i { animation: none; }
  .olg-przewodnik__trasa li { opacity: 1; transform: none; }
  .olg-przewodnik__trasa::before { transform: none; }
}

/* ---------- 31. Stopka pełna: znak, hasło Olgi, sale, kontakt, pierwszy obraz ---------- */
.olg-stopka__gora { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem 3rem; flex-wrap: wrap; padding-bottom: clamp(2rem, 5vh, 3rem); margin-bottom: clamp(2.2rem, 5vh, 3.2rem); border-bottom: 1px solid rgba(127, 118, 111, .16); }
.olg-stopka__znak { display: inline-flex; align-items: center; gap: 1.1rem; color: var(--olg-plotno) !important; }
.olg-stopka__sygnet { width: 52px; height: auto; color: var(--olg-zloto); transition: color .5s, transform 1.2s var(--olg-ease); }
.olg-stopka__znak:hover .olg-stopka__sygnet, .olg-stopka__znak:focus-visible .olg-stopka__sygnet { color: var(--olg-zloto-jasne); transform: rotate(-8deg); }
.olg-stopka__znak .olg-stopka__marka { margin: 0; font-size: 1.35rem; }
.olg-stopka__tytul { margin: 0 0 1.1rem; font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; color: var(--olg-zloto); }
.olg-stopka__zdanie { font-size: clamp(1.25rem, 1rem + .7vw, 1.6rem); line-height: 1.3; color: var(--olg-plotno); max-width: 15em; }
.olg-stopka__dziedziny { margin: 1.2rem 0 0; font-size: var(--olg-skala-xs); letter-spacing: .08em; color: var(--olg-plotno-cien); }
.olg-stopka__lista--sale { grid-template-columns: repeat(2, minmax(0, max-content)); column-gap: 2.2rem; }
.olg-stopka__lista--sale a { display: inline-flex; align-items: baseline; gap: .55rem; }
.olg-stopka__lista--sale em { font-style: normal; font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; color: var(--olg-plotno-cien); opacity: .8; }
.olg-stopka__nr { font-size: .66rem; letter-spacing: .06em; color: var(--olg-zloto); font-variant-numeric: tabular-nums; }
.olg-stopka a[aria-current="page"] { color: var(--olg-zloto-jasne); }
.olg-stopka__obraz { margin: 0 0 .35rem; font-family: var(--olg-font-szeryf); font-style: italic; font-size: 1.35rem; letter-spacing: .06em; color: var(--olg-zloto-jasne); }
.olg-stopka__opis { margin: 0 0 1rem; font-size: var(--olg-skala-xs); line-height: 1.65; color: var(--olg-plotno-cien); }
.olg-stopka__odstep { margin-top: .6rem; }
.olg-stopka__strzalka { display: inline-flex; align-items: center; gap: .6rem; }
.olg-stopka__strzalka i, .olg-stopka__gore i { width: 14px; height: 1px; background: currentColor; position: relative; transition: width .5s var(--olg-ease); }
.olg-stopka__strzalka i::after { content: ""; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); transform-origin: 100% 0; }
.olg-stopka__strzalka:hover i, .olg-stopka__strzalka:focus-visible i { width: 24px; }
.olg-stopka__gore { display: inline-flex; align-items: center; gap: .7rem; letter-spacing: .14em; text-transform: uppercase; font-size: .66rem; color: var(--olg-zloto-jasne) !important; }
.olg-stopka__gore i { width: 1px; height: 14px; }
.olg-stopka__gore i::after { content: ""; position: absolute; left: -3px; top: 1px; width: 7px; height: 7px; border-top: 1px solid currentColor; border-left: 1px solid currentColor; transform: rotate(45deg); }
@media (max-width: 1024px) {
  .olg-stopka__siatka { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .olg-stopka__siatka { grid-template-columns: 1fr; gap: 2.4rem; }
  .olg-stopka__gora { flex-direction: column; align-items: flex-start; }
  .olg-stopka__dol { flex-direction: column; align-items: flex-start; }
}

/* ---------- 32. Poświata pod nagłówkami podstron (O mnie, Galeria, Świat) ----------
   Szeroka złota mapa (3600 px, ulice wokół Muzeum Narodowego) odsłaniana światłem kursora;
   u dołu sekcji łagodnie gaśnie (bez twardej krawędzi przy niskich nagłówkach) */
.olg-poswiata {
  --olg-pr: 24vmax;
  position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: 0; transition: opacity 1.8s var(--olg-ease);
  background: url("../img/olg-mapa-szeroka.jpg?v=23") center / cover no-repeat;
  -webkit-mask-image: radial-gradient(circle var(--olg-pr) at var(--olg-mx, 68%) var(--olg-my, 42%), #000, rgba(0, 0, 0, .5) 50%, transparent 100%), linear-gradient(180deg, #000 62%, transparent 98%);
          mask-image: radial-gradient(circle var(--olg-pr) at var(--olg-mx, 68%) var(--olg-my, 42%), #000, rgba(0, 0, 0, .5) 50%, transparent 100%), linear-gradient(180deg, #000 62%, transparent 98%);
  -webkit-mask-composite: source-in; mask-composite: intersect;
}
.olg-poswiata.is-aktywna { opacity: .95; }
@media (max-width: 1100px) { .olg-poswiata { background-image: url("../img/olg-mapa-szeroka-1800.jpg?v=23"); } }
@media (max-width: 700px) { .olg-poswiata { --olg-pr: 48vmax; } .olg-poswiata.is-aktywna { opacity: .8; } }
.olg-otwarcie > .olg-kontener, .olg-galeria-wstep > .olg-kontener, .olg-swiat-wstep > .olg-kontener { position: relative; z-index: 1; }

/* =====================================================================
   40. WERSJA 2 - projekt Olgi (październik 2026)
   Czerń #000, znak i nagłówki #d7d0ca, tekst #c7bfb7, krój RomanS (jak w makietach Olgi).
   Menu: panel wysuwany z prawej. Strona startowa: logo, hasło, sale i zdjęcie.
   ===================================================================== */
@font-face {
  font-family: "OLG RomanS"; font-style: normal; font-display: swap; font-weight: 300;
  src: url("../fonts/olg-romans-300.woff2?v=34") format("woff2"), url("../fonts/olg-romans-300.ttf?v=34") format("truetype");
}
@font-face {
  font-family: "OLG RomanS"; font-style: normal; font-display: swap; font-weight: 400;
  src: url("../fonts/olg-romans-400.woff2?v=34") format("woff2"), url("../fonts/olg-romans-400.ttf?v=34") format("truetype");
}
/* RomanS ma tylko dwie grubości - przeglądarka nie dorabia sztucznej kursywy ani pogrubienia */
body { font-synthesis: none; -webkit-font-smoothing: auto; -moz-osx-font-smoothing: auto; } /* v33: RomanS ostrzejszy na Macu (bez wyszczuplania) */
.olg-naglowek, .olg-cytat, .olg-dzielo__tytul { font-variation-settings: normal; }
:root {
  --olg-atrament: #000;
  --olg-orzech: #0b0a09;
  --olg-orzech-jasny: #1c1a18;
  --olg-zloto: #a59d95;
  --olg-zloto-jasne: #d7d0ca;
  --olg-zloto-ciemne: #5f5852;
  --olg-plotno: #d7d0ca;
  --olg-plotno-cien: #a39c94;
  --olg-tekst: #c7bfb7;
  --olg-font-szeryf: "OLG RomanS", "Century Gothic", "Helvetica Neue", Arial, sans-serif;
  --olg-font-bez: "OLG RomanS", "Century Gothic", "Helvetica Neue", Arial, sans-serif;
  --olg-skala-xl: clamp(1.7rem, 1rem + 2vw, 3rem);
  --olg-skala-xxl: clamp(2.2rem, 1rem + 4vw, 5rem);
  --olg-skala-mega: clamp(2.6rem, 1rem + 6vw, 7rem);
}
body { background: #000; color: var(--olg-tekst); letter-spacing: .045em; }
h1, h2, h3, h4 { font-weight: 300; font-variation-settings: normal; }
.olg-ziarno { display: none; }
.olg-intro { background: rgba(0, 0, 0, .93); }
.olg-intro__slowo { font-weight: 300; }
::selection { background: #d7d0ca; color: #000; }

/* ---------- 40.1 Znak Olgi (SVG z pliku 1.1 LOGO) ---------- */
.olg-znak { display: block; width: 100%; height: auto; overflow: visible; color: inherit; }
.olg-znak .z { fill: currentColor; }
.olg-znak .k { fill: none; stroke: currentColor; stroke-width: .6; vector-effect: non-scaling-stroke; }
.olg-znak .l { fill: none; stroke: currentColor; stroke-width: 1.1; vector-effect: non-scaling-stroke; }
.olg-haslo-svg { display: block; width: 100%; height: auto; overflow: visible; }
[data-olg-haslo-pisz] { color: #d7d0ca; }

/* ---------- 40.2 Nagłówek: znak + MENU ---------- */
.olg-gora { padding: 1.4rem var(--olg-margines); color: #d7d0ca; }
.olg-gora::before { background: linear-gradient(to bottom, rgba(0, 0, 0, .72), rgba(0, 0, 0, 0)); }
.olg-gora__logo { display: inline-flex; align-items: center; gap: 1rem; color: inherit; text-decoration: none; }
.olg-gora__znak { display: block; width: 40px; }
.olg-gora__nazwa { font-size: .82rem; letter-spacing: .55em; margin-right: -.55em; font-weight: 400; }
.olg-gora__menu {
  display: inline-flex; align-items: center; gap: 1rem; background: none; border: 0; padding: .6rem 0; cursor: pointer;
  color: inherit; font: inherit; font-size: .78rem; letter-spacing: .32em; text-transform: uppercase;
}
.olg-gora__kreski { position: relative; display: block; width: 30px; height: 9px; }
.olg-gora__kreski i { position: absolute; left: 0; right: 0; height: 1px; background: currentColor; transition: transform .5s var(--olg-ease), left .5s var(--olg-ease); }
.olg-gora__kreski i:first-child { top: 0; }
.olg-gora__kreski i:last-child { bottom: 0; left: 9px; }
.olg-gora__menu:hover .olg-gora__kreski i:last-child, .olg-gora__menu:focus-visible .olg-gora__kreski i:last-child { left: 0; }
.olg-gora.is-jasny { color: #000; }
/* strona startowa: na dużym ekranie wszystko jest w kompozycji strony - nagłówek tylko na telefonie */
.olg-strona-dom .olg-gora__logo { visibility: hidden; }
.olg-strona-dom .olg-gora::before { display: none; }
@media (min-width: 900px) { .olg-strona-dom .olg-gora { display: none; } .olg-strona-om .olg-gora__logo { visibility: hidden; } .olg-strona-om .olg-gora::before { display: none; } }

/* ---------- 40.3 Panel menu (wysuwany z prawej) ---------- */
.olg-panel { position: fixed; inset: 0; z-index: 250; visibility: hidden; transition: visibility 0s .9s; }
.olg-panel.is-otwarty { visibility: visible; transition: visibility 0s 0s; }
.olg-panel__tlo { position: absolute; inset: 0; background: rgba(0, 0, 0, .6); opacity: 0; transition: opacity .8s var(--olg-ease); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.olg-panel.is-otwarty .olg-panel__tlo { opacity: 1; }
.olg-panel__okno {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(470px, 100%);
  display: flex; flex-direction: column; align-items: center;
  padding: clamp(2.2rem, 6vh, 3.6rem) clamp(1.6rem, 4vw, 3.2rem) clamp(1.6rem, 4vh, 2.4rem);
  background: #0a0a0a; border-left: 1px solid rgba(215, 208, 202, .08); color: #d7d0ca;
  overflow-y: auto; overscroll-behavior: contain;
  transform: translateX(100%); transition: transform .85s var(--olg-ease);
}
.olg-panel.is-otwarty .olg-panel__okno { transform: none; }
.olg-panel__zamknij { position: absolute; top: 1.4rem; right: 1.4rem; width: 44px; height: 44px; border: 0; background: none; color: inherit; cursor: pointer; }
.olg-panel__zamknij i { position: absolute; left: 11px; right: 11px; top: 50%; height: 1px; background: currentColor; transform: rotate(45deg); transition: transform .5s var(--olg-ease); }
.olg-panel__zamknij i + i { transform: rotate(-45deg); }
.olg-panel__zamknij:hover i { transform: rotate(135deg); }
.olg-panel__zamknij:hover i + i { transform: rotate(45deg); }
.olg-panel__logo { display: block; width: clamp(78px, 11vh, 116px); color: inherit; }
.olg-panel__haslo { width: clamp(170px, 23vh, 236px); margin: .4rem 0 0; }
.olg-panel__lista { list-style: none; margin: clamp(1rem, 3.4vh, 2.4rem) 0 0; padding: 0; width: 100%; text-align: center; }
.olg-panel__lista li { opacity: 0; transform: translateX(28px); transition: opacity .6s, transform .8s var(--olg-ease); }
.olg-panel.is-otwarty .olg-panel__lista li { opacity: 1; transform: none; }
.olg-panel.is-otwarty .olg-panel__lista li:nth-child(1) { transition-delay: .18s; }
.olg-panel.is-otwarty .olg-panel__lista li:nth-child(2) { transition-delay: .23s; }
.olg-panel.is-otwarty .olg-panel__lista li:nth-child(3) { transition-delay: .28s; }
.olg-panel.is-otwarty .olg-panel__lista li:nth-child(4) { transition-delay: .33s; }
.olg-panel.is-otwarty .olg-panel__lista li:nth-child(5) { transition-delay: .38s; }
.olg-panel.is-otwarty .olg-panel__lista li:nth-child(6) { transition-delay: .43s; }
.olg-panel.is-otwarty .olg-panel__lista li:nth-child(7) { transition-delay: .48s; }
.olg-panel.is-otwarty .olg-panel__lista li:nth-child(8) { transition-delay: .53s; }
.olg-panel__link {
  position: relative; display: inline-flex; align-items: baseline; justify-content: center; gap: .9rem;
  padding: clamp(.18rem, .75vh, .55rem) 0; color: rgba(215, 208, 202, .5); text-decoration: none;
  font-size: clamp(1.02rem, .55rem + 1.5vh, 1.45rem); letter-spacing: .3em; text-transform: uppercase; transition: color .4s;
}
.olg-panel__nr { font-size: .62rem; letter-spacing: .1em; opacity: .7; }
.olg-panel__link em { position: absolute; left: 100%; top: 50%; transform: translate(.4rem, -50%); font-style: normal; font-size: .6rem; letter-spacing: .14em; text-transform: lowercase; opacity: .6; white-space: nowrap; }
.olg-panel__link:hover, .olg-panel__link:focus-visible, .olg-panel__link[aria-current="page"] { color: #d7d0ca; }
.olg-panel__link[aria-current="page"] .olg-panel__nazwa { border-bottom: 1px solid currentColor; }
.olg-panel__dane { margin-top: auto; padding-top: clamp(1.2rem, 3vh, 2rem); display: flex; flex-direction: column; align-items: center; gap: .35rem; font-size: .9rem; letter-spacing: .1em; color: #c7bfb7; }
.olg-panel__dane a { color: inherit; text-decoration: none; }
.olg-panel__dane a:hover { color: #fff; }
.olg-panel__etykieta { margin: 0 0 .3rem; font-size: .66rem; letter-spacing: .32em; text-transform: uppercase; color: #8e877f; }
.olg-panel__prawne { display: flex; gap: 1.4rem; margin: 1.4rem 0 0; font-size: .68rem; letter-spacing: .12em; }
.olg-panel__prawne a { color: #8e877f; text-decoration: none; }
.olg-panel__prawne a:hover { color: #d7d0ca; }
html.olg-panel-otwarty { overflow: hidden; }

/* ---------- 40.4 Strona startowa (makieta 01) ---------- */
.olg-strona-dom { background: #000; }
.olg-main--dom { padding: 0; }
.olg-dom { position: relative; height: 100vh; height: 100svh; min-height: 560px; display: grid; grid-template-rows: auto 1fr; background: #000; overflow: hidden; }
.olg-dom__gora { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; padding: clamp(1.4rem, 4vh, 2.8rem) var(--olg-margines) 0; color: #d7d0ca; }
.olg-dom__logo { display: block; width: min(6.6vw, 11.4vh, 114px); color: inherit; } /* -40% (Przemek, v32) */
.olg-dom__haslo { --olg-hs: min(22vw, 36vh, 330px); width: var(--olg-hs); margin: .25rem 0 calc(var(--olg-hs) * -0.2); position: relative; z-index: 3; pointer-events: none; }
.olg-dom__nav {
  display: flex; justify-content: space-between; width: min(100%, 1200px); padding: clamp(.6rem, 1.6vh, 1rem) 0 clamp(.5rem, 1.2vh, .8rem);
}
.olg-dom__nav a {
  color: #d7d0ca; text-decoration: none; text-transform: uppercase; font-size: clamp(.78rem, .55rem + .45vw, 1rem); letter-spacing: .14em;
  position: relative; padding: .3rem 0;
}
.olg-dom__nav a::after { content: ""; position: absolute; left: 0; right: .14em; bottom: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .6s var(--olg-ease); }
.olg-dom__nav a:hover::after, .olg-dom__nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.olg-dom__foto { position: relative; z-index: 1; margin: 0; overflow: hidden; min-height: 0; }
.olg-dom__foto img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0%; transform: scale(1.06); transform-origin: 50% 0%; transition: transform 2.6s var(--olg-ease); }
.olg-dom.is-wejscie .olg-dom__foto img { transform: none; }
.olg-dom__prawne { position: absolute; right: var(--olg-margines); bottom: 1rem; z-index: 3; display: flex; gap: 1.3rem; margin: 0; font-size: .66rem; letter-spacing: .12em; }
.olg-dom__prawne a { color: rgba(255, 255, 255, .75); text-decoration: none; text-shadow: 0 1px 6px rgba(0, 0, 0, .6); }
.olg-dom__prawne a:hover { color: #fff; }
/* wejście: logo, potem sale jedna po drugiej, zdjęcie rozjaśnia się */
.olg-js .olg-dom__logo, .olg-js .olg-dom__nav a, .olg-js .olg-dom__foto { opacity: 0; }
.olg-js .olg-dom__nav a { transform: translateY(8px); }
.olg-dom.is-wejscie .olg-dom__logo { opacity: 1; transition: opacity 1.4s var(--olg-ease); }
.olg-dom.is-wejscie .olg-dom__foto { opacity: 1; transition: opacity 1.8s .2s var(--olg-ease); }
.olg-dom.is-wejscie .olg-dom__nav a { opacity: 1; transform: none; transition: opacity .9s calc(1.2s + var(--i) * .08s), transform 1s calc(1.2s + var(--i) * .08s) var(--olg-ease), color .3s; }
@media (prefers-reduced-motion: reduce) {
  .olg-js .olg-dom__logo, .olg-js .olg-dom__nav a, .olg-js .olg-dom__foto { opacity: 1; transform: none; }
}
@media (max-width: 899px) {
  .olg-dom { min-height: 0; }
  .olg-dom__gora { padding-top: 4.2rem; }
  .olg-dom__logo { width: min(20.4vw, 90px); }
  .olg-dom__haslo { --olg-hs: min(64vw, 280px); margin-bottom: calc(var(--olg-hs) * -0.14); }
  .olg-dom__nav { display: none; }
  .olg-dom__foto img { object-position: 62% 40%; }
  .olg-dom__prawne { left: 0; right: 0; justify-content: center; }
}

/* ---------- 40.5 O mnie (makieta 02) ---------- */
.olg-main--om { padding: 0; background: #000; }
.olg-om { display: grid; grid-template-columns: 53.3% 1fr; align-items: start; background: #000; }
.olg-om__foto { position: sticky; top: 0; height: 100vh; height: 100svh; margin: 0; overflow: hidden; }
.olg-om__foto img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.olg-om__tekst { display: flex; flex-direction: column; align-items: center; text-align: center; padding: clamp(2rem, 5vh, 3.4rem) clamp(1.4rem, 3vw, 3rem) clamp(4rem, 10vh, 7rem); color: var(--olg-tekst); }
.olg-om__logo { display: block; width: clamp(110px, 9vw, 150px); color: #d7d0ca; }
.olg-om__haslo { width: clamp(220px, 19vw, 300px); margin-top: .35rem; }
.olg-om__tytul { margin: clamp(1.6rem, 4vh, 2.4rem) 0 clamp(1.2rem, 3vh, 1.8rem); font-size: clamp(1.1rem, .9rem + .5vw, 1.4rem); font-weight: 400; letter-spacing: .32em; margin-right: -.32em; color: #d7d0ca; }
.olg-om__grupa { max-width: 40rem; margin: 0 0 clamp(1.8rem, 4vh, 2.8rem); }
.olg-om__grupa p { margin: 0 0 1.05em; font-size: clamp(.95rem, .85rem + .25vw, 1.06rem); line-height: 1.7; letter-spacing: .07em; }
.olg-om__grupa p:last-child { margin-bottom: 0; }
@media (max-width: 899px) {
  .olg-om { grid-template-columns: 1fr; }
  .olg-om__foto { position: relative; height: 72svh; }
  .olg-om__tekst { padding-top: 2.6rem; }
}

/* ---------- 40.6 Stopka ---------- */
.olg-stopka { background: #000; color: var(--olg-tekst); border-top: 1px solid rgba(215, 208, 202, .1); padding: clamp(3.4rem, 9vh, 5.6rem) 0 1.6rem; }
.olg-stopka__w { display: flex; flex-direction: column; align-items: center; text-align: center; }
.olg-stopka__znak { display: block; width: 96px; color: #d7d0ca; }
.olg-stopka__haslo { width: 210px; margin-top: .3rem; }
.olg-stopka__sale { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 2.2rem; margin: 2.4rem 0 1.6rem; }
.olg-stopka__sale a { color: #d7d0ca; text-decoration: none; text-transform: uppercase; font-size: .8rem; letter-spacing: .2em; opacity: .75; transition: opacity .3s; }
.olg-stopka__sale a:hover, .olg-stopka__sale a[aria-current="page"] { opacity: 1; }
.olg-stopka__kontakt { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .4rem 1.1rem; margin: 0; font-size: .92rem; letter-spacing: .1em; }
.olg-stopka__kontakt a { color: inherit; text-decoration: none; }
.olg-stopka__kontakt a:hover { color: #fff; }
.olg-stopka__kreska { width: 22px; height: 1px; background: rgba(215, 208, 202, .35); }
.olg-stopka .olg-stopka__dol {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .6rem 1.6rem; width: 100%;
  margin-top: clamp(2.6rem, 7vh, 4rem); padding-top: 1.4rem; border-top: 1px solid rgba(215, 208, 202, .08);
  font-size: .7rem; letter-spacing: .12em; color: #8e877f;
}
.olg-stopka__dol a, .olg-stopka__dol button { color: inherit; text-decoration: none; background: none; border: 0; padding: 0; font: inherit; letter-spacing: inherit; cursor: pointer; }
.olg-stopka__dol a:hover, .olg-stopka__dol button:hover { color: #d7d0ca; }
.olg-stopka .olg-stopka__gore { color: inherit !important; font-size: inherit; }
.olg-stopka .olg-stopka__gore:hover { color: #d7d0ca !important; }
@media (max-width: 700px) { .olg-stopka .olg-stopka__dol { flex-direction: column; gap: .7rem; } }

/* ---------- 40.7 Zgoda na pliki cookies ---------- */
.olg-ciastka {
  position: fixed; left: 50%; bottom: clamp(.8rem, 3vh, 1.6rem); z-index: 260; width: min(700px, calc(100% - 2rem));
  transform: translate(-50%, 24px); opacity: 0; transition: opacity .7s var(--olg-ease), transform .9s var(--olg-ease);
  background: rgba(10, 10, 10, .93); color: #c7bfb7; border: 1px solid rgba(215, 208, 202, .14);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 24px 60px rgba(0, 0, 0, .5);
}
.olg-ciastka.is-widoczny { opacity: 1; transform: translate(-50%, 0); }
.olg-ciastka[hidden] { display: none; }
.olg-ciastka__w { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "tytul akcje" "tekst akcje"; gap: .4rem 2rem; align-items: center; padding: 1.3rem 1.5rem 1.35rem 1.7rem; }
.olg-ciastka__tytul { grid-area: tytul; margin: 0; font-size: .7rem; letter-spacing: .34em; text-transform: uppercase; color: #d7d0ca; }
.olg-ciastka__tekst { grid-area: tekst; margin: 0; font-size: .86rem; line-height: 1.6; letter-spacing: .05em; }
.olg-ciastka__tekst a { color: #d7d0ca; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.olg-ciastka__akcje { grid-area: akcje; display: flex; flex-direction: column; gap: .55rem; }
.olg-ciastka__btn {
  min-width: 11.5rem; padding: .78rem 1.2rem; border: 1px solid #d7d0ca; background: #d7d0ca; color: #000; cursor: pointer;
  font: inherit; font-size: .7rem; letter-spacing: .24em; text-transform: uppercase; transition: background-color .35s, color .35s, border-color .35s;
}
.olg-ciastka__btn:hover, .olg-ciastka__btn:focus-visible { background: #fff; border-color: #fff; }
.olg-ciastka__btn--cichy { background: transparent; color: #d7d0ca; border-color: rgba(215, 208, 202, .35); }
.olg-ciastka__btn--cichy:hover, .olg-ciastka__btn--cichy:focus-visible { background: transparent; border-color: #d7d0ca; color: #fff; }
@media (max-width: 640px) {
  .olg-ciastka__w { grid-template-columns: 1fr; grid-template-areas: "tytul" "tekst" "akcje"; padding: 1.2rem 1.2rem 1.25rem; }
  .olg-ciastka__akcje { flex-direction: row-reverse; margin-top: .6rem; }
  .olg-ciastka__btn { min-width: 0; flex: 1; padding: .8rem .6rem; }
}

/* =====================================================================
   41. Poprawki wg uwag Olgi (v34)
   ===================================================================== */
/* Strona startowa: logo z nazwą wyraźniej niż zakładki; zakładki mniejsze i niżej */
.olg-dom__logo { width: min(8.6vw, 15vh, 150px); }
.olg-dom__logo .olg-znak .l { stroke-width: 1.45; }
.olg-dom__nav { width: min(100%, 1080px); padding-top: clamp(1.3rem, 3.6vh, 2.6rem); padding-bottom: clamp(.7rem, 1.6vh, 1.1rem); }
.olg-dom__nav a { font-size: clamp(.66rem, .5rem + .28vw, .8rem); letter-spacing: .22em; }
@media (max-width: 899px) { .olg-dom__logo { width: min(26vw, 112px); } }

/* Sale „w przygotowaniu”: nazwa sali krojem jak napis OLGGARTO w logo (geometryczny, wersaliki, szeroko) */
.olg-wkrotce .olg-naglowek {
  font-family: "Jost", "Century Gothic", "Helvetica Neue", Arial, sans-serif; font-weight: 300;
  text-transform: uppercase; letter-spacing: .32em; margin-right: -.32em;
  font-size: clamp(1.9rem, 1rem + 3.2vw, 4rem); line-height: 1.1;
}
.olg-wkrotce__numer { font-family: "Jost", "Century Gothic", Arial, sans-serif; font-style: normal; font-weight: 300; font-size: .9rem; letter-spacing: .4em; margin-right: -.4em; color: #a39c94; margin-bottom: 1.6rem; }

/* Nagłówki i nazwa OLGGARTO: krój geometryczny jak napis w logo (Olga: RomanS „nie siedzi” w dużych słowach).
   Tekst ciągły zostaje w RomanS - jak w jej projekcie strony „O mnie”. */
.olg-naglowek, .olg-prawny h1, .olg-prawny h2, .olg-prawny h3, .olg-formularz__tytul, .olg-licytacja__karta-tytul {
  font-family: "Jost", "Century Gothic", "Helvetica Neue", Arial, sans-serif; font-weight: 300; font-style: normal;
  letter-spacing: .06em; font-variation-settings: normal;
}
.olg-gora__nazwa, .olg-wizytowka__slowo, .olg-intro__slowo {
  font-family: "Jost", "Century Gothic", "Helvetica Neue", Arial, sans-serif; font-weight: 300;
}
.olg-gora__nazwa { font-size: .86rem; }

/* Formularze (Kontakt, Sklep): ciemna karta zamiast jasnego płótna - spójnie z czarną stroną */
.olg-formularz, .olg-licytacja__karta {
  color: #d7d0ca; background: #0c0b0a; background-image: none;
  border: 1px solid rgba(215, 208, 202, .16); box-shadow: 0 40px 90px rgba(0, 0, 0, .7);
}
.olg-licytacja__karta::before { display: none; }
.olg-formularz__zamknij { color: #d7d0ca; }
.olg-formularz .olg-pole__input, .olg-licytacja__karta .olg-pole__input { color: #d7d0ca; border-bottom-color: rgba(215, 208, 202, .28); }
.olg-formularz .olg-pole__etykieta, .olg-licytacja__karta .olg-pole__etykieta, .olg-formularz .olg-tematy legend { color: #a39c94; }
.olg-formularz .olg-pole__input:focus + .olg-pole__etykieta, .olg-formularz .olg-pole__input:not(:placeholder-shown) + .olg-pole__etykieta,
.olg-licytacja__karta .olg-pole__input:focus + .olg-pole__etykieta, .olg-licytacja__karta .olg-pole__input:not(:placeholder-shown) + .olg-pole__etykieta { color: #d7d0ca; }
.olg-formularz .olg-pole__kreska, .olg-licytacja__karta .olg-pole__kreska { background: #d7d0ca; }
.olg-formularz .olg-temat span { border-color: rgba(215, 208, 202, .3); color: #c7bfb7; }
.olg-formularz .olg-temat input:checked + span { background: #d7d0ca; color: #000; border-color: #d7d0ca; }
.olg-formularz .olg-zgoda, .olg-licytacja__karta .olg-zgoda { color: #a39c94; }
.olg-formularz .olg-zgoda a, .olg-licytacja__karta .olg-zgoda a { color: #d7d0ca; }
.olg-formularz .olg-zgoda input, .olg-licytacja__karta .olg-zgoda input { border-color: rgba(215, 208, 202, .5); }
.olg-formularz .olg-zgoda input::after, .olg-licytacja__karta .olg-zgoda input::after { background: #d7d0ca; }
.olg-formularz .olg-wyslij, .olg-licytacja__karta .olg-wyslij { background: #d7d0ca; border-color: #d7d0ca; color: #000; letter-spacing: .2em; text-transform: uppercase; font-size: .74rem; }
.olg-formularz .olg-wyslij::before, .olg-licytacja__karta .olg-wyslij::before { background: #fff; }
.olg-formularz .olg-pole__input:-webkit-autofill, .olg-licytacja__karta .olg-pole__input:-webkit-autofill { -webkit-text-fill-color: #d7d0ca; -webkit-box-shadow: 0 0 0 40px #0c0b0a inset; }
