/* IM Serwis — dodatki do rdzenia Platinum: komponenty makiety serwisów (koncepcje/innermastering.html), menu z podmenu,
   nagłówek podstron, bloki WordPressa (treści przeniesione z Elementora), zespół, wideo, podgląd PDF. */

/* ---------- komponenty z makiety ---------- */
.hdr-cta{min-height:44px!important;padding:0 18px!important;font-size:11px!important}
.quote{max-width:980px;margin:0 auto;text-align:center}
.quote .mark{width:40px;margin:0 auto 26px}
.quote p{font:400 clamp(26px,3vw,40px)/1.3 var(--serif)}
.quote p em{color:var(--mute)}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.pillars a{padding:28px 24px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-decoration:none;display:flex;justify-content:space-between;align-items:center;font:400 26px var(--serif)}
.pillars a:nth-child(3n){border-right:0}.pillars a span{font:600 11px var(--sans);letter-spacing:.18em;color:var(--mute)}
.pillars a:hover{background:var(--bg2)}
.two{display:grid;grid-template-columns:1fr 1.2fr;gap:6vw;align-items:start}
.prose p{color:var(--mute);font-size:17px;margin:0 0 1em}.prose p:first-child{color:var(--ink);font-size:19px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.tile2{background:var(--bg2);border:1px solid var(--line);padding:30px 28px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit}
.tile2 .ph{aspect-ratio:4/3;margin:-30px -28px 10px;background:linear-gradient(135deg,color-mix(in srgb,var(--bg2) 60%,#888 12%),var(--bg2));display:grid;place-items:center;border-bottom:1px solid var(--line)}
.tile2 .ph .mark{width:44px;opacity:.55}
.tile2 .ph img{max-width:58%;max-height:46%;object-fit:contain}
[data-theme="dark"] .tile2 .ph img{filter:grayscale(1) brightness(1.6) contrast(.9)}
.tile2 h3{font:500 26px/1.15 var(--serif)}.tile2 p{color:var(--mute);font-size:15px;flex:1}
.tile2 .more{font:600 11px var(--sans);letter-spacing:.18em;text-transform:uppercase}
.tile2:hover{border-color:var(--lineUI)}
.przerwa{padding:clamp(40px,7vh,80px) 0}
#main>section .eyebrow a{text-decoration:none}

/* ---------- menu z podmenu ---------- */
nav.main .menu{display:flex;gap:30px;list-style:none;align-items:center}
nav.main li{position:relative;display:flex;align-items:center;gap:2px}
nav.main .sub-menu{list-style:none;position:absolute;left:-18px;top:100%;min-width:250px;padding:10px 0;background:var(--bg2);border:1px solid var(--line);
  box-shadow:0 24px 50px -24px var(--shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:30}
nav.main .sub-menu li{display:block}   /* nie flex jak w głównym rzędzie — link (i tło po najechaniu) na całą szerokość podmenu */
nav.main .sub-menu a{display:block;width:100%;padding:10px 18px;letter-spacing:.14em;color:var(--mute)}
nav.main .sub-menu a:hover{color:var(--ink);background:var(--bg)}
nav.main li:hover>.sub-menu,nav.main li:focus-within>.sub-menu,nav.main li.otwarte>.sub-menu{opacity:1;visibility:visible;transform:none}
nav.main .current-menu-item>a,nav.main .current-menu-ancestor>a,nav.main .current_page_item>a{color:var(--ink)}
.sub-tgl{width:28px;height:28px;display:grid;place-items:center;color:var(--mute)}
.sub-tgl svg{width:14px;height:14px;transition:transform .2s}
li.otwarte>.sub-tgl svg{transform:rotate(180deg)}
@media (max-width:960px){
  body.nav-open nav.main .menu{flex-direction:column;align-items:stretch;gap:0;width:100%}
  body.nav-open nav.main li{flex-wrap:wrap;border-bottom:1px solid var(--line)}
  body.nav-open nav.main li>a{flex:1;border:0!important}
  body.nav-open nav.main .sub-menu{position:static;opacity:1;visibility:visible;transform:none;display:none;width:100%;box-shadow:none;border:0;background:none;padding:0 0 10px 14px}
  body.nav-open nav.main li.otwarte>.sub-menu{display:block}
  .sub-tgl{width:44px;height:44px}
  .hdr-cta{display:none!important}
}

/* ---------- nagłówek podstron ---------- */
/* treść stron szersza niż w sklepie (kolumny tekstu); nagłówek podstrony wyrównany do lewej krawędzi treści */
.wrap.entry,.wrap.osoba{max-width:1320px}
.strona-h{padding:clamp(56px,11vh,120px) 5vw clamp(36px,6vh,64px);padding-inline:calc(max(0px,(100% - 1320px) / 2) + 5vw);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.strona-h h1{max-width:18ch}
.strona-h .eyebrow{margin-bottom:18px}
.okruszki{margin-top:26px;font:500 12px var(--sans);letter-spacing:.12em;color:var(--mute)}
.okruszki ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px 10px}
.okruszki li+li::before{content:"›";margin-right:10px;color:var(--lineUI)}
.okruszki a{text-decoration:none}.okruszki a:hover{color:var(--ink)}

/* ---------- treść stron (bloki) ---------- */
.entry{font-size:17px;color:var(--ink)}
.entry>.im-sekcja{margin:0 0 clamp(56px,9vh,104px)}
.entry>.im-sekcja:last-child{margin-bottom:0}
.entry p,.entry li{color:color-mix(in srgb,var(--ink) 82%,var(--bg))}
.entry p{max-width:76ch}
.entry h2{font:400 clamp(30px,3.2vw,44px)/1.1 var(--serif);margin:1.5em 0 .6em}   /* śródtytuł po liście/kolumnach nie klei się do nich; pierwszy w bloku — bez odstępu (reguła niżej) */
.entry h3{font:500 25px/1.2 var(--serif);margin:1.4em 0 .45em}
.entry h4{font:600 13px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:1.4em 0 .5em}
.entry :is(h2,h3,h4):first-child{margin-top:0}
.entry .wp-block-list{padding-left:0;list-style:none}
.entry .wp-block-list li{position:relative;padding:8px 0 8px 26px;border-bottom:1px solid var(--line)}
.entry .wp-block-list li::before{content:"";position:absolute;left:3px;top:17px;width:7px;height:7px;border:1px solid var(--lineUI);transform:rotate(45deg)}
.entry ol.wp-block-list{counter-reset:li}
.entry ol.wp-block-list li{counter-increment:li}.entry ol.wp-block-list li::before{content:counter(li)".";border:0;transform:none;top:8px;left:0;font:500 15px var(--serif);width:auto;height:auto}
.entry .wp-block-columns{gap:clamp(22px,2.6vw,40px);margin-bottom:0}
.entry .wp-block-columns:has(.im-karta){gap:clamp(14px,1.4vw,22px)}   /* rzędy kafelków — ciaśniej, kafelki szersze */
.entry .wp-block-separator{border:0;height:1px;background:var(--line);margin:28px 0;opacity:1}
.entry .wp-block-image{margin:0 0 1.2em}
.entry .wp-block-image img{height:auto;max-width:100%}
.entry .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:1.2em 0}
.entry .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;background:var(--solid);color:var(--btnInk);
  font:600 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border-radius:2px}
.entry .wp-block-button+.wp-block-button .wp-block-button__link{background:none;color:var(--ink);border:1px solid var(--lineUI)}
.entry .wp-block-quote{border:0;margin:0;padding:28px 30px;background:var(--bg2);border:1px solid var(--line)}
.entry .wp-block-quote p{font:400 19px/1.45 var(--serif);color:var(--ink);max-width:none}
.entry .wp-block-quote cite{display:block;margin-top:14px;font:600 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);font-style:normal}
.entry .wp-block-details{border-bottom:1px solid var(--line)}
.entry .wp-block-details summary{list-style:none;cursor:pointer;padding:22px 0;font:400 24px/1.25 var(--serif);display:flex;justify-content:space-between;gap:20px}
.entry .wp-block-details summary::-webkit-details-marker{display:none}
.entry .wp-block-details summary::after{content:"+";font:300 26px var(--sans);color:var(--mute)}
.entry .wp-block-details[open] summary::after{content:"–"}
.entry .wp-block-details>:not(summary){margin-left:0}
.entry .wp-block-details[open]{padding-bottom:18px}
.entry .im-akordeon{border-top:1px solid var(--line)}
.entry a:not(.wp-block-button__link):not(.btn){text-decoration-color:var(--lineUI);text-underline-offset:3px}

/* karty (dawne flip-box / interactive-card) */
.entry .im-karta{background:var(--bg2);border:1px solid var(--line);padding:30px 28px;height:100%}
.entry .im-karta>.wp-block-group__inner-container{height:100%;display:flex;flex-direction:column}
.entry .im-karta .wp-block-buttons{margin-top:auto;padding-top:12px}
.entry .im-osoba a{overflow-wrap:anywhere}
.entry .im-osoba a[href^="mailto:"]{font-size:14px;letter-spacing:-.01em}   /* długie adresy (michal.kinstler@…) w jednej linii karty */
.entry .wp-block-column h2{font-size:clamp(26px,2.3vw,34px)}
.entry .im-karta-logo img{max-height:72px;width:auto;object-fit:contain}
[data-theme="dark"] .entry .im-karta-logo img{filter:grayscale(1) brightness(1.6) contrast(.9)}
.entry .im-osoba .wp-block-image img{aspect-ratio:1;object-fit:cover;width:100%}
.entry .im-osoba p{margin:0 0 .3em}

/* rzędy obrazów (okładki publikacji), galeria nagród — motyw bez theme.json: grupa ma wewnętrzny div .wp-block-group__inner-container */
.entry :is(.im-rzad,.im-galeria)>.wp-block-group__inner-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:22px;align-items:start}
.entry .im-rzad .wp-block-image,.entry .im-galeria .wp-block-image{margin:0}
.entry .im-rzad img{box-shadow:0 22px 40px -22px var(--shadow);transition:transform .25s}
.entry .im-rzad a:hover img{transform:translateY(-4px)}
.entry .im-galeria>.wp-block-group__inner-container{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.entry .im-galeria img{background:#fff;padding:8px}
.entry .im-opinie>.wp-block-group__inner-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}

/* oś czasu (Geneza) */
.entry .im-os-czasu{border-left:1px solid var(--lineUI);margin-left:6px}
.entry .im-os-krok{position:relative;padding:0 0 34px 34px}
.entry .im-os-krok::before{content:"";position:absolute;left:-6px;top:10px;width:11px;height:11px;background:var(--bg);border:1px solid var(--focus);transform:rotate(45deg)}

/* wideo YouTube: miniatura → iframe po kliknięciu (bez cookies YouTube przed odtworzeniem) */
.im-yt{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden;margin:0 0 1.2em;cursor:pointer}
.im-yt img{width:100%;height:100%;object-fit:cover;opacity:.85}
.im-yt button{position:absolute;inset:0;display:grid;place-items:center}
.im-yt button::before{content:"";width:74px;height:74px;border-radius:50%;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.7)}
.im-yt button::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-35%,-50%);border-left:20px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent}
.im-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* podgląd PDF */
.im-pdf-okno{width:min(1100px,94vw);height:92vh;max-height:none;border:1px solid var(--line);background:var(--bg2);color:var(--ink);padding:0;margin:auto}
.im-pdf-okno::backdrop{background:rgba(0,0,0,.6)}
.im-pdf-okno .g{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}
.im-pdf-okno iframe{width:100%;height:calc(100% - 66px);border:0;background:#fff}

/* zespół */
.im-osoby{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:26px}
.im-os{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;background:var(--bg2);border:1px solid var(--line);padding:0 0 22px}
.im-os .fot{aspect-ratio:1;overflow:hidden;display:grid;place-items:center;background:var(--bg)}
.im-os .fot img{width:100%;height:100%;object-fit:cover;filter:grayscale(.25);transition:filter .3s,transform .3s}
.im-os:hover .fot img{filter:none;transform:scale(1.03)}
.im-os .fot .mark{width:48px}
.im-os .n{font:500 24px/1.15 var(--serif);padding:10px 20px 0}
.im-os .o{font-size:14px;color:var(--mute);padding:0 20px;flex:1}
.im-os .more{font:600 11px var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:6px 20px 0}
.osoba{display:grid;grid-template-columns:minmax(220px,380px) 1fr;gap:clamp(28px,5vw,72px);align-items:start}
.osoba .fot img{width:100%;height:auto;display:block}
.osoba-opis{font:400 22px/1.4 var(--serif);color:var(--ink)!important;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:1.2em}

/* formularze (FluentForm w okresie przejściowym) — pola w stylu Platinum */
.im-form:not(.imf){max-width:720px}
.im-form:not(.imf) .ff-el-group{margin-bottom:18px}
.im-form:not(.imf) label,.im-form:not(.imf) .ff-el-input--label label{font:600 11px var(--sans)!important;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)!important}
.im-form:not(.imf) :is(input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea){width:100%;background:var(--bg2)!important;color:var(--ink)!important;
  border:1px solid var(--lineUI)!important;border-radius:2px!important;min-height:48px;padding:10px 14px!important;font:400 16px var(--sans)!important;box-shadow:none!important}
.im-form:not(.imf) textarea{min-height:120px}
.im-form:not(.imf) :is(input,select,textarea):focus{outline:2px solid var(--focus)!important;outline-offset:2px}
.im-form:not(.imf) .ff-btn-submit,.im-form:not(.imf) button[type=submit]{background:var(--solid)!important;color:var(--btnInk)!important;border:0!important;border-radius:2px!important;min-height:52px;padding:0 30px!important;
  font:600 12px var(--sans)!important;letter-spacing:.18em;text-transform:uppercase}
.im-form:not(.imf) .ff-el-tc label,.im-form:not(.imf) .ff_tc_checkbox+div,.im-form:not(.imf) .ff-el-form-check label{text-transform:none!important;letter-spacing:0!important;font:400 14px/1.5 var(--sans)!important}
.im-form:not(.imf) .ff-el-is-error .text-danger,.im-form:not(.imf) .error{color:#d0504a;font-size:13px}
.im-form:not(.imf) .ff-message-success{background:var(--bg2);border:1px solid var(--line);color:var(--ink);padding:20px}

/* Strony prawne (regulamin, polityka) — jak w sklepie: dokument z numerowanymi paragrafami, spis treści z boku (inc/prawne.php) */
.imp-legal .entry{font-size:16.5px;line-height:1.75}
.imp-legal .entry>p:first-child{color:var(--mute);font:500 13px var(--sans);letter-spacing:.14em;text-transform:uppercase}
.imp-legal .entry h2{font:500 28px/1.2 var(--serif);margin:2.2em 0 .7em;padding-top:1.2em;border-top:1px solid var(--line);scroll-margin-top:110px}
.imp-legal .entry h3{font:500 21px/1.3 var(--serif);margin:1.6em 0 .5em}
.imp-legal .entry :is(ol,ul){padding-left:1.6em;margin:0 0 1.3em;list-style:revert}
.imp-legal .entry li{margin:0 0 .75em;padding:0 0 0 .3em;border:0}
.imp-legal .entry li::before{content:none}
.imp-legal .entry li>:is(ol,ul){margin:.7em 0 .2em}
.imp-legal .entry ol[type="a"]{list-style-type:lower-alpha}.imp-legal .entry ol:not([type]){list-style-type:decimal}.imp-legal .entry ul{list-style-type:disc}
.imp-legal .entry li::marker{color:var(--mute)}
.imp-legal .entry table{width:100%;border-collapse:collapse;margin:1em 0 1.8em;font-size:14.5px;line-height:1.55}
.imp-legal .entry :is(th,td){border:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}
.imp-legal .entry th{background:var(--bg2);font-weight:600}
.imp-legal .entry table:has(tr>:nth-child(5)){table-layout:fixed;font-size:14px}
.imp-legal .entry table:has(tr>:nth-child(5)) td:nth-child(1){font-size:13px;overflow-wrap:anywhere}
.imp-legal .entry p{max-width:none}
.prawne-pdf{margin-top:2.4em}
.imp-toc{display:none}
@media (min-width:1100px){
  .prawne-uklad{display:grid;grid-template-columns:260px minmax(0,780px);gap:72px;justify-content:center;align-items:start}
  .imp-toc{display:block;position:sticky;top:110px;max-height:calc(100vh - 140px);overflow:auto;padding-top:8px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
  .imp-toc ol{list-style:none;margin:10px 0 18px;padding:0;border-left:1px solid var(--line)}
  .imp-toc a{display:block;padding:6px 0 6px 16px;font:400 13.5px/1.4 var(--sans);color:var(--mute);text-decoration:none;border-left:2px solid transparent;margin-left:-1px}
  .imp-toc a:hover,.imp-toc a.on{color:var(--ink);border-left-color:var(--ink)}
  .imp-toc-pdf{font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
}
@media (max-width:760px){.imp-legal .entry table{display:block;overflow-x:auto}}

/* stopka: menu bez punktorów; wiele kolumn (≥5, np. zespół Fundacji) → siatka zamiast ściśniętych kolumn */
.foot-r li{list-style:none;display:inline-flex}
.entry .wp-block-columns:has(>.wp-block-column:nth-child(5)){display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}

/* Fundacja: nadtytuł nad nagłówkiem sekcji, kotwice pod przyklejonym nagłówkiem strony */
.entry .im-nadtytul{font:600 12px var(--sans)!important;letter-spacing:.3em;text-transform:uppercase;color:var(--mute)!important;margin:0 0 14px}
.im-kotwica{display:block;position:relative;top:-90px;visibility:hidden}
.tresc-glowna{border-top:1px solid var(--line);padding:clamp(56px,10vh,110px) 0}
/* Fundacja: zespół na stronie głównej — zdjęcie (kwadrat), imię z linkiem, biogram */
.entry .im-czlonek-foto{margin:0 0 16px;overflow:hidden;background:var(--bg2)}
.entry .im-czlonek-foto img{aspect-ratio:1;object-fit:cover;width:100%;display:block;filter:grayscale(.25);transition:filter .4s,transform .5s cubic-bezier(.2,.7,.2,1)}
.entry .im-czlonek-foto a:hover img{filter:none;transform:scale(1.03)}
.entry .im-czlonek h3{margin:0 0 .4em}.entry .im-czlonek h3 a{text-decoration:none}
.entry .im-czlonek p{font-size:15px;color:var(--mute)}

/* Fundacja: kolejne programy (Mentoring, Harmonijny Start, CORE, Wartości) — więcej powietrza i delikatna linia między nimi */
.tresc-glowna .entry>.im-sekcja{margin-bottom:0}
.tresc-glowna .entry>.im-sekcja+.im-sekcja{margin-top:clamp(64px,9vh,112px);padding-top:clamp(64px,9vh,112px);position:relative}
.tresc-glowna .entry>.im-sekcja+.im-sekcja::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--lineUI) 18%,var(--lineUI) 82%,transparent);opacity:.55}

/* ICC: pasek liczb, dwa kafle, terminy */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats div{padding:34px 5vw 30px;border-right:1px solid var(--line)}.stats div:last-child{border-right:0}
.stats b{display:block;font:400 clamp(44px,5vw,72px)/1 var(--serif);background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.stats span{font:600 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.tiles.two-col{grid-template-columns:repeat(2,1fr)}
.entry .im-terminy>.wp-block-group__inner-container{display:grid;gap:14px}
.entry .im-termin{border:1px solid var(--line);background:var(--bg2);padding:18px 22px}
@media (max-width:960px){.stats{grid-template-columns:repeat(2,1fr)}.stats div:nth-child(2){border-right:0}.tiles.two-col{grid-template-columns:1fr}}

@media (max-width:960px){
  .pillars,.tiles,.two,.osoba{grid-template-columns:1fr}.pillars a{border-right:0}
  .entry .wp-block-columns{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){.im-os .fot img,.entry .im-rzad img{transition:none}}

/* ---------- kafelki: cień (jasny) / rozświetlenie (ciemny), uniesienie po najechaniu, łagodne wejście przy przewijaniu ----------
   Prośba Artura 11.10. Dotyczy serwisów (motyw im-serwis), nie sklepu. Klasy .ims-ukryj/.ims-widoczne nadaje serwis.js (bez JS — nic się nie ukrywa). */
:root{--kafel-cien:0 1px 2px rgba(40,35,25,.05),0 10px 26px -14px rgba(40,35,25,.20);--kafel-cien-hover:0 2px 6px rgba(40,35,25,.06),0 24px 44px -18px rgba(40,35,25,.30)}
[data-theme="dark"]{--kafel-cien:inset 0 1px 0 rgba(255,255,255,.05),0 0 0 1px rgba(255,255,255,.015),0 14px 34px -18px rgba(255,255,255,.07);
  --kafel-cien-hover:inset 0 1px 0 rgba(255,255,255,.09),0 0 0 1px rgba(255,255,255,.05),0 20px 50px -16px rgba(255,255,255,.14),0 0 38px -12px rgba(255,255,255,.10)}
:is(.tile2,.im-os,.entry .im-karta,.entry .wp-block-quote,.entry .im-termin){box-shadow:var(--kafel-cien);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s cubic-bezier(.2,.7,.2,1),border-color .45s,opacity .7s ease}
:is(.tile2,.im-os,.entry .im-karta,.entry .wp-block-quote,.entry .im-termin):hover{transform:translateY(-4px);box-shadow:var(--kafel-cien-hover);border-color:var(--lineUI)}
[data-theme="dark"] :is(.tile2,.im-os,.entry .im-karta,.entry .wp-block-quote,.entry .im-termin):hover{border-color:color-mix(in srgb,var(--lineUI) 70%,#fff 10%)}
.ims-ukryj{opacity:0;transform:translateY(16px)}
.ims-ukryj.ims-widoczne{opacity:1;transform:none}
.ims-ukryj.ims-widoczne:hover{transform:translateY(-4px)}
@media (prefers-reduced-motion:reduce){
  :is(.tile2,.im-os,.entry .im-karta,.entry .wp-block-quote,.entry .im-termin){transition:none}
  :is(.tile2,.im-os,.entry .im-karta,.entry .wp-block-quote,.entry .im-termin):hover{transform:none}
  .ims-ukryj{opacity:1;transform:none}
}

/* ---------- nagrody (strona główna IM): 2 rzędy po 3, statuetka na jasnym tle, podpis, powiększenie ---------- */
.nagrody{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,28px)}
.nagroda{margin:0;background:var(--bg2);border:1px solid var(--line);box-shadow:var(--kafel-cien);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s cubic-bezier(.2,.7,.2,1),border-color .45s,opacity .7s ease}
.nagroda:hover{transform:translateY(-4px);box-shadow:var(--kafel-cien-hover);border-color:var(--lineUI)}
.nagroda a{display:block;background:#fff;aspect-ratio:1600/1314;overflow:hidden;cursor:zoom-in}
.nagroda img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.nagroda a:hover img{transform:scale(1.04)}
.nagroda figcaption{padding:16px 20px 18px;font:500 19px/1.3 var(--serif);color:var(--ink);border-top:1px solid var(--line)}
@media (max-width:960px){.nagrody{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.nagrody{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.nagroda,.nagroda img{transition:none}.nagroda:hover{transform:none}}

/* ---------- lightbox (a.im-lightbox, grupowane przez [data-galeria]) ---------- */
.im-lb{border:0;padding:0;background:transparent;max-width:min(1100px,94vw);max-height:94vh;overflow:visible;position:fixed;inset:0;margin:auto;width:fit-content;height:fit-content}   /* margin:auto = środek ekranu (rdzeń zeruje marginesy *{margin:0}) */
.im-lb::backdrop{background:rgba(8,8,9,.86);backdrop-filter:blur(4px)}
.im-lb figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px}
.im-lb img{max-width:min(1100px,94vw);max-height:80vh;object-fit:contain;background:#fff;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.im-lb figcaption{color:#ecebe8;font:400 22px/1.3 var(--serif);text-align:center;max-width:760px}
.im-lb button{position:fixed;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.35);color:#fff;display:grid;place-items:center;background:rgba(0,0,0,.25)}
.im-lb button:hover{background:rgba(255,255,255,.12)}
.im-lb button svg{width:20px;height:20px}
.im-lb .lb-x{top:20px;right:20px}.im-lb .lb-p{left:20px;top:50%;transform:translateY(-50%)}.im-lb .lb-n{right:20px;top:50%;transform:translateY(-50%)}

/* line art w kafelkach „Narzędzia” (strona główna IM) */
.tile2 .ph .lineart{width:clamp(140px,13vw,180px);height:auto;fill:none;stroke:var(--lineUI);stroke-width:1.1;stroke-linecap:round;transition:stroke .5s,transform .7s cubic-bezier(.2,.7,.2,1)}
.tile2 .ph .lineart .w{fill:var(--bg2)}   /* węzeł przykrywa przerywany okrąg pod sobą */
.tile2:hover .ph .lineart{stroke:var(--ink);transform:scale(1.04) rotate(-4deg)}
[data-theme="dark"] .tile2 .ph .lineart{stroke:color-mix(in srgb,var(--lineUI) 80%,#fff 20%)}
[data-theme="dark"] .tile2:hover .ph .lineart{stroke:#ecebe8;filter:drop-shadow(0 0 6px rgba(255,255,255,.25))}
@media (prefers-reduced-motion:reduce){.tile2:hover .ph .lineart{transform:none}}

/* „indeks górny” przy tytule podstrony narzędzi (jak ² w m²) — ta sama grafika co w kafelku */
.h1-ikona{display:inline-block;vertical-align:super;margin-left:.12em;line-height:0}
.h1-ikona .lineart{width:.42em;height:.42em;fill:none;stroke:var(--mute);stroke-width:2.6;stroke-linecap:round;position:relative;top:-.15em;transition:stroke .5s,transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}
.strona-h h1:hover .h1-ikona .lineart{stroke:var(--ink);transform:rotate(-8deg) scale(1.1)}
[data-theme="dark"] .strona-h h1:hover .h1-ikona .lineart{stroke:#ecebe8;filter:drop-shadow(0 0 5px rgba(255,255,255,.3))}
@media (prefers-reduced-motion:reduce){.strona-h h1:hover .h1-ikona .lineart{transform:none}}
.h1-ikona .lineart .w{fill:var(--bg)}

/* ---------- „Be Harmonized” — sieć jako TŁO ([im_be], assets/js/be.js; prośby Artura 11.10) ----------
   Warstwa .im-be-tlo na całą szerokość, przy bloku „Be” + 50 px w górę i w dół (sąsiedni tekst lekko na nią nachodzi); tekst nad nią, rozmycie pod tekstem liczy be.js. */
main.ma-tlo-be{position:relative}
main.ma-tlo-be>*:not(.im-be-tlo){position:relative;z-index:1}
.im-be-tlo{position:absolute;top:0;left:0;right:0;z-index:0;pointer-events:none;overflow:hidden}
.im-be-tlo canvas{display:block;width:100%;height:100%}
.entry .im-be{margin:clamp(40px,7vh,90px) 0;padding:clamp(30px,6vh,70px) 0;text-align:center}
.im-be-napis{display:inline-block;text-align:center;pointer-events:none;line-height:1}
.im-be-napis .be{display:block;font:900 clamp(78px,12vw,164px)/1.08 var(--sans);margin:-.17em 0 -.1em;letter-spacing:-.03em;color:var(--ink);-webkit-text-stroke:.045em currentColor;paint-order:stroke fill}   /* 900 = maks. Mulish; obrys = „mega gruby”; pełna wysokość linii (nad płótnem tekst trafia na osobną warstwę — przy 0,82 ucinało wierzch „B”), ujemne marginesy = ten sam wygląd */
.im-be-napis .harm{display:block;margin-top:.12em;font:400 clamp(20px,2.4vw,32px)/1 var(--sans);letter-spacing:-.005em;color:var(--ink)}
.im-be noscript img{width:100%;height:auto;display:block}
.strona-h{background:transparent}

/* Kolejne punkty w kolumnie (nagłówek h3 po liście/akapicie, np. „Działania”, „Metoda”) — więcej powietrza i delikatna kreska nad punktem (prośba Artura 11.10) */
.entry .wp-block-column>:is(.wp-block-list,p)+h3.wp-block-heading{margin-top:2.1em;padding-top:1.5em;position:relative}
.entry .wp-block-column>:is(.wp-block-list,p)+h3.wp-block-heading::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,var(--lineUI) 0%,var(--lineUI) 35%,transparent 100%);opacity:.6}

/* Kolejne sekcje strony zaczynające się od nagłówka (np. Values Academy) — odstęp + delikatna kreska jak na Fundacji (prośba Artura 11.10).
   Sekcje bez nagłówka (cytat z grafiką, rzędy okładek) — bez kreski. */
:not(.tresc-glowna)>.wrap.entry>.im-sekcja+.im-sekcja:has(>.wp-block-group__inner-container>:is(h2.wp-block-heading,.wp-block-columns):first-child){padding-top:clamp(48px,7vh,88px);position:relative}
:not(.tresc-glowna)>.wrap.entry>.im-sekcja+.im-sekcja:has(>.wp-block-group__inner-container>:is(h2.wp-block-heading,.wp-block-columns):first-child)::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--lineUI) 18%,var(--lineUI) 82%,transparent);opacity:.55}
