/* Język scen na podstronach: ogromne tytuły, listy z numerami, naprzemienne jasne i ciemne sceny, zdjęcia w ruchu w hero */
:root { --sx-ease: cubic-bezier(.2,.7,.2,1); }

/* ===== HERO podstron ===== */
.subhero, .khero { background: radial-gradient(900px 600px at 92% 0, rgba(228,0,124,.26), transparent 62%), radial-gradient(800px 600px at 0 100%, rgba(138,24,176,.34), transparent 62%), #12041e !important; }
.subhero:not(.post-hero), .khero { min-height: min(72svh, 680px); display:flex; align-items:center; }
.subhero > .wrap, .khero > .wrap { width:100%; }
.subhero:not(.post-hero) .wrap, .khero .wrap { padding-block: clamp(70px,9vw,120px) clamp(64px,8vw,104px) !important; }
.subhero h1, .khero h1 { font-family:var(--sans); font-weight:800; text-transform:uppercase; letter-spacing:-.035em; line-height:.96; font-size: clamp(1.9rem, 4.4vw, 4.4rem); max-width:none; overflow-wrap:break-word; color:#fff; }
.subhero h1 em, .khero h1 em { font-style:normal; color:var(--lime); }
.subhero.post-hero h1 { font-size: clamp(1.7rem, 3.9vw, 3.5rem); max-width: 22ch; }
.subhero .lead, .khero .lead { font-size: var(--step-1) !important; font-weight:300; max-width:44ch !important; color: rgba(255,255,255,.9); font-style: normal; }
.subhero:not(.post-hero) .wrap > *:not(.hp-cols), .khero .khero-grid { max-width: min(62%, 820px); }
@media (max-width: 900px) { .subhero:not(.post-hero) .wrap > *:not(.hp-cols), .khero .khero-grid { max-width:none; } }

/* kolumny zdjęć w ruchu (wstrzykiwane skryptem) */
.hp-cols { position:absolute; z-index:1; top:0; bottom:0; right:clamp(8px,2vw,32px); width:min(40%, 560px); display:grid; grid-template-columns:1fr 1fr; gap:clamp(12px,1.6vw,24px); overflow:hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24%); mask-image: linear-gradient(90deg, transparent 0, #000 24%); pointer-events:auto; }
.hp-col { display:flex; flex-direction:column; gap:clamp(12px,1.6vw,24px); will-change:transform; animation: hpUp 64s linear infinite; }
.hp-col.b { animation-name: hpDown; animation-duration: 76s; margin-top:-26vh; }
.hp-cols:hover .hp-col { animation-play-state: paused; }
@keyframes hpUp { to { transform: translateY(-50%); } } @keyframes hpDown { from { transform: translateY(-50%); } to { transform: translateY(0); } }
.hp-ph { position:relative; flex:none; overflow:hidden; border-radius:4px; background:#2b0a47; }
.hp-ph:nth-child(odd) { aspect-ratio:4/5; } .hp-ph:nth-child(even) { aspect-ratio:5/4; }
.hp-ph img { width:100%; height:100%; object-fit:cover; display:block; filter: grayscale(1) contrast(1.05) brightness(.82); transform:scale(1.04); transition: filter .5s ease, transform .8s var(--sx-ease); }
.hp-ph::after { content:""; position:absolute; inset:0; pointer-events:none; mix-blend-mode:multiply; background: linear-gradient(160deg, rgba(60,12,100,.85), rgba(160,24,150,.55)); transition: opacity .5s ease; }
.hp-ph:hover img { filter:none; transform:scale(1); } .hp-ph:hover::after { opacity:0; }
@media (max-width: 900px) { .hp-cols { opacity:.3; width:70%; } }

/* ===== NAGŁÓWKI SEKCJI: ogromne, wielkie litery ===== */
.sec-head h2, .bx-head h2, .vsec-head h2, .bx-intro h2, .story-lead { font-family:var(--sans); font-weight:800; text-transform:uppercase; letter-spacing:-.03em; line-height:.98; font-size: clamp(1.7rem, 3.8vw, 3.8rem); max-width:min(100%,20ch); overflow-wrap:break-word; font-style:normal; }
.sec-head, .bx-head { max-width:none; margin-bottom: clamp(26px,4vw,54px); }
.sec-head p, .bx-head p { font-size: var(--step-1); font-weight:300; max-width:54ch; }
.eyebrow { letter-spacing:.24em; }
.quote { font-family:var(--sans); font-weight:800; text-transform:uppercase; letter-spacing:-.025em; line-height:1; font-style:normal; font-size: clamp(1.6rem, 3.6vw, 3.4rem); }

/* ===== SCENY CIEMNE: sekcje "alt" ===== */
main > section.band.alt:not(#kontakt) {
  background: radial-gradient(900px 560px at 88% 0, rgba(228,0,124,.2), transparent 62%), radial-gradient(800px 560px at 0 100%, rgba(138,24,176,.28), transparent 62%), #12041e !important;
  color:#fff; --text:#f7e9f1; --text-muted:#c9a8d2; --hairline:rgba(255,255,255,.16); --card:#23112f; box-shadow: 0 -22px 50px -18px rgba(0,0,0,.6), 0 -1px 0 rgba(255,255,255,.1) inset !important; }
main > section.band.alt:not(#kontakt) h2, main > section.band.alt:not(#kontakt) h3 { color:#fff; }
main > section.band.alt:not(#kontakt) .eyebrow { color:#fff; opacity:.85; }

/* ===== LISTY Z NUMERAMI zamiast kart (jak oferta na stronie głównej) ===== */
.bx-types, .cards, .values, .why { display:block !important; perspective:none; }
.bx-type, .cards .card, .values .val { display:grid !important; grid-template-columns: clamp(52px,7vw,96px) minmax(0,1.1fr) minmax(0,1fr); column-gap: clamp(16px,3vw,48px); row-gap:6px; align-items:center;
  background:none !important; border:0 !important; border-top:1px solid var(--hairline,#ead9e1) !important; border-radius:0 !important; box-shadow:none !important; padding-block: clamp(18px,2.4vw,34px); padding-inline:0; transform:none !important; transition: padding .35s var(--sx-ease), color .25s; }
.bx-type:last-child, .cards .card:last-child, .values .val:last-child { border-bottom:1px solid var(--hairline,#ead9e1) !important; }
.bx-type .n, .values .val .n { font-size:.85rem; font-weight:700; letter-spacing:.2em; color:var(--magenta); }
.cards .card .ic { grid-column:1; width:44px; height:44px; border-radius:6px; }
.bx-type h3, .cards .card h3, .values .val h3 { font-weight:800; text-transform:uppercase; letter-spacing:-.02em; line-height:1; font-size: clamp(1.15rem, 2.1vw, 1.9rem); margin:0; overflow-wrap:break-word; min-width:0; }
.bx-type p, .cards .card p, .values .val p { margin:0; font-size: var(--step-0); min-width:0; max-width:46ch; }
.bx-type:hover, .cards .card:hover, .values .val:hover { border-color: var(--hairline) !important; box-shadow:none !important; padding-left:12px; }
.bx-type:hover h3, .cards .card:hover h3, .values .val:hover h3 { color: var(--magenta); }
main > section.band.alt:not(#kontakt) .bx-type:hover h3, main > section.band.alt:not(#kontakt) .cards .card:hover h3, main > section.band.alt:not(#kontakt) .values .val:hover h3 { color: var(--lime); }
.why-col { background:none !important; border:0 !important; padding:0; }
.why { display:grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(20px,4vw,56px); }
.why-col h3 { font-size: clamp(3rem, 7vw, 6rem) !important; font-weight:800; line-height:.9; color:transparent !important; -webkit-text-stroke:1.5px var(--magenta); background:none !important; -webkit-text-fill-color: transparent; }
@media (max-width: 760px) { .bx-type, .cards .card, .values .val { grid-template-columns: 48px minmax(0,1fr); } .bx-type p, .cards .card p, .values .val p { grid-column:2; } .why { grid-template-columns:1fr; } }

/* ===== PROCES: wiersze z ogromnymi numerami (fioletowa scena) ===== */
#proces-boxu, section:has(> .wrap > .bx-steps) { background: linear-gradient(160deg, #2b0a47, #5a0e7a 55%, #8a18b0) !important; color:#fff; --text:#fff; --text-muted:rgba(255,255,255,.82); --hairline:rgba(255,255,255,.22); }
section:has(.bx-steps) h2, section:has(.bx-steps) .eyebrow, section:has(.flow) .eyebrow { color:#fff; }
.bx-steps, .flow, .process { display:grid !important; grid-template-columns:1fr !important; gap:0 !important; }
.bx-step, .flow .step { display:grid !important; grid-template-columns: clamp(80px,12vw,200px) minmax(0,1.2fr) minmax(0,1fr); column-gap: clamp(16px,3vw,48px); align-items:center; background:none !important; border:0 !important; border-top:1px solid rgba(255,255,255,.22) !important; border-radius:0 !important; box-shadow:none !important; padding-block: clamp(18px,2.8vw,36px); color:#fff; }
.bx-step:last-child, .flow .step:last-child { border-bottom:1px solid rgba(255,255,255,.22) !important; }
.bx-step .n, .flow .step .num { font-weight:800; font-size: clamp(3rem, 7vw, 6.4rem); line-height:.9; letter-spacing:-.05em; color:transparent !important; -webkit-text-stroke:1.5px var(--lime); }
.bx-step h3, .flow .step h3 { font-weight:800; text-transform:uppercase; letter-spacing:-.02em; font-size: clamp(1.3rem, 2.8vw, 2.5rem); line-height:1; color:#fff !important; overflow-wrap:break-word; min-width:0; }
.bx-step p, .flow .step p { color:rgba(255,255,255,.86) !important; min-width:0; margin:0; max-width:46ch; }
@media (max-width: 1000px) { .bx-step, .flow .step { grid-template-columns: clamp(64px,10vw,100px) minmax(0,1fr); row-gap:8px; } .bx-step p, .flow .step p { grid-column:2; } }

/* ===== zdjęcia i kafelki: ostre kadry, kolor po najechaniu ===== */
.gallery .ph, .bx-gal a, .bx-gal img, .rl-grid a, .pu-grid a, .zw-pair a, .bx-photo img, .wi-pic img, .art-fig img { border-radius:4px !important; }
.bx-gal a img, .rl-grid a img, .pu-grid a img, .zw-pair a img { filter: grayscale(.85) contrast(1.03); transition: filter .5s ease, transform .6s var(--sx-ease); }
.bx-gal a:hover img, .rl-grid a:hover img, .pu-grid a:hover img, .zw-pair a:hover img { filter:none; }
@media (prefers-reduced-motion: reduce) { .hp-col { animation:none; } }
.subhero h1 em, .khero h1 em, .subhero h1 em .kc, .khero h1 em .kc { font-style: normal !important; }

@media (max-width: 760px) {
  .bx-step, .flow .step { grid-template-columns: 1fr !important; row-gap: 6px; }
  .bx-step .n, .flow .step .num { font-size: 2.6rem; }
  .bx-step h3, .flow .step h3, .bx-type h3, .cards .card h3, .values .val h3 { font-size: clamp(1.1rem, 5.2vw, 1.6rem); overflow-wrap: break-word; hyphens: manual; }
  .bx-step p, .flow .step p { grid-column: auto !important; }
}

/* telefon: tytuł w hero mieści najdłuższe słowo (np. "zaprojektowane") */
@media (max-width: 600px) {
  .subhero h1, .khero h1 { font-size: clamp(1.45rem, 6.9vw, 2rem); letter-spacing: -.03em; }
  .subhero.post-hero h1 { font-size: clamp(1.35rem, 6.2vw, 1.8rem); }
  .sec-head h2, .bx-head h2, .vsec-head h2, .bx-intro h2, .story-lead { font-size: clamp(1.45rem, 6.9vw, 2rem); }
}