/* moduł chaos — hero: bałagan → telefon → światło.
   Wszystko poniżej działa tylko z klasą .chaos-gra na #start (dodaje chaos.js, gdy jest GSAP i brak reduced-motion).
   Bez JS / reduced: hero zostaje w stanie statycznym z nowa.css. */

/* ── scena przypięta ── */
.hero.chaos-gra .hero-pin{min-height:100vh;min-height:100lvh;padding-bottom:40px}
.hero.chaos-gra .hero-tekst{will-change:transform,opacity}
.hero.chaos-gra .hero-telefon{position:absolute;left:50%;top:50%;z-index:2;width:max-content;margin:0;will-change:transform}
.hero.chaos-gra .hero-telefon .telefon{will-change:transform;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 0 0 1px #050506,0 34px 54px -30px rgba(0,0,0,.55),0 12px 26px -18px rgba(0,0,0,.35)}
/* warstwy w trakcie gry: tło 0 · światło 1 · telefon 2 · kartki 3 (lecą NAD telefonem) · tekst 4 · podpowiedź 5 */
.hero.chaos-gra .hero-swiatlo{z-index:1}
.hero.chaos-gra .chaos-scena{z-index:3}
.hero.chaos-gra .hero-tekst{z-index:4}
.hero.chaos-gra.lot .hero-tekst{z-index:1}
.hero.chaos-gra.bez-tekstu .hero-tekst{pointer-events:none}
.hero.chaos-gra .hero-podpis{color:var(--tusz);font-size:15.5px;font-weight:500;opacity:0}
/* desktop: po „świetle” podpis staje się dużym zdaniem po lewej od telefonu (porządek = odbicie otwarcia) */
@media (min-width:1024px){
  .hero.chaos-gra .hero-podpis{position:absolute;top:auto;bottom:16%;right:calc(100% + clamp(40px,4.6vw,76px));width:min(38vw,600px);max-width:none;text-align:left;font:600 clamp(32px,3.3vw,56px)/1.16 var(--f-display);text-transform:uppercase;letter-spacing:-.004em;text-wrap:balance}
}

/* zakreślacz w 1. wierszu ekranu (przelatuje, gdy kartki lądują) */
.hero.chaos-gra .ek-wiersz>:not(.chaos-zakres){position:relative;z-index:1}
.hero.chaos-gra .ek-wiersz:first-child b{width:fit-content}
.chaos-zakres{position:absolute;z-index:0;display:block;left:0;top:0;width:0;height:0;border-radius:3px;background:var(--zolty);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}

/* „światło”: krąg papieru rośnie zza telefonu, potem .hero-swiatlo domyka kolor */
.chaos-blask{position:absolute;left:0;top:0;z-index:1;width:240px;height:240px;border-radius:50%;background:radial-gradient(closest-side,var(--papier) 98.5%,rgba(239,239,234,0));pointer-events:none;transform:scale(0);will-change:transform}

/* podpowiedź „Przewiń” */
.chaos-hint{position:absolute;left:50%;z-index:5;display:flex;align-items:center;gap:8px;padding:9px 14px 9px 16px;border:1px solid var(--noc-linia);border-radius:999px;background:rgba(10,10,11,.82);transform:translateX(-50%);font:500 10.5px/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--noc-tekst);pointer-events:none;white-space:nowrap}
.chaos-hint svg{width:15px;height:15px;fill:none;stroke:var(--zolty);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:chaos-dol 1.5s cubic-bezier(.45,0,.55,1) infinite}
@keyframes chaos-dol{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}

/* ── kartki bałaganu (DOM, ostry tekst; dane przykładowe) ── */
.ck{position:absolute;left:0;top:0;will-change:transform,opacity;backface-visibility:hidden}
.ck-p,.ck-f{will-change:transform}
.kt{position:relative;font-family:var(--f-tekst);text-align:left;box-shadow:0 26px 44px -20px rgba(0,0,0,.8),0 3px 8px rgba(0,0,0,.4)}
.kt svg{display:block;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* WhatsApp (ciemny dymek) i SMS */
.kt-wa,.kt-sms{width:236px;padding:8px 11px 7px 12px;border-radius:4px 14px 14px 14px;background:#1F2C33;color:#E9EDEF;font-size:15px;line-height:1.35}
.kt-wa::before{content:"";position:absolute;left:-8px;top:0;width:0;height:0;border-style:solid;border-width:0 9px 10px 0;border-color:transparent #1F2C33 transparent transparent}
.kt-sms{width:220px;background:#2C2C2E;border-radius:16px 16px 16px 4px}
.kt-kto{margin-bottom:2px;font-size:12.5px;font-weight:800;color:#5FD39A}
.kt-sms .kt-kto{color:#A9A9A3;font:500 10.5px/1.6 var(--f-mono);letter-spacing:.06em;text-transform:uppercase}
.kt-czas{display:block;margin-top:2px;text-align:right;font-size:11px;color:#8696A0}

/* paragon */
.kt-par{display:grid;gap:3px;width:150px;padding:12px 12px 16px;background:#F4F2EA;color:#1A1A1A;font:500 10.5px/1.35 var(--f-mono);text-transform:uppercase;letter-spacing:.02em}
.kt-par::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:8px;background:radial-gradient(circle at 5px 8px,transparent 4.5px,#F4F2EA 5px) 0 0/10px 8px repeat-x}
.kt-par b{font:700 17px/1 var(--f-display);letter-spacing:.08em;text-align:center}
.kt-par span{display:block;text-align:center;color:#55554F}
.kt-par .kl{height:0;margin:3px 0;border-top:1.5px dashed #B9B7AE}
.kt-par strong{display:flex;justify-content:space-between;font-weight:500;font-size:11.5px}
.kt-par u{text-decoration:none;font-weight:500}

/* żółta karteczka */
.kt-kartka{width:150px;min-height:128px;padding:20px 14px 14px;background:#FFE680;color:#1A1A1A;font:800 19px/1.15 var(--f-tekst);letter-spacing:-.01em;box-shadow:0 26px 40px -22px rgba(0,0,0,.85),0 2px 4px rgba(0,0,0,.3)}
.kt-kartka::before{content:"";position:absolute;left:50%;top:-9px;width:58px;height:20px;margin-left:-29px;background:rgba(243,243,239,.42);transform:rotate(-4deg)}
.kt-kartka p{transform:rotate(-2deg)}
.kt-kartka.b{background:#FFD84D}

/* powiadomienie (telefon, poczta) */
.kt-pow{display:flex;gap:10px;width:250px;padding:11px 12px;border-radius:18px;background:#232326;color:#F3F3EF;font-size:13.5px;line-height:1.3;border:1px solid rgba(255,255,255,.08)}
.kt-ap{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#2FB15B;color:#fff}
.kt-ap svg{width:19px;height:19px;stroke-width:2}
.kt-mail .kt-ap{background:#3B82F6}
.kt-app{display:flex;justify-content:space-between;gap:8px;margin-bottom:1px;font-size:11.5px;color:#A9A9A3}
.kt-app time{font-size:11px}
.kt-pow div{flex:1;min-width:0}
.kt-pow b{display:block;font-weight:800}
.kt-pow div p:last-child:not(.kt-app){color:#C9C9C2}

/* zdjęcie z budowy bez adresu */
.kt-foto{width:160px;padding:6px 6px 8px;border-radius:6px;background:#F3F3EF;color:#1A1A1A}
.kt-zdj{display:grid;place-items:center;aspect-ratio:4/3;border-radius:3px;color:rgba(255,255,255,.75);background:linear-gradient(168deg,transparent 52%,rgba(0,0,0,.28) 53% 64%,transparent 65%),linear-gradient(180deg,#8A8A82 0%,#6E6C64 48%,#585650 49%,#4A4842 100%)}
.kt-zdj.b{background:linear-gradient(12deg,transparent 40%,rgba(0,0,0,.25) 41% 50%,transparent 51%),linear-gradient(180deg,#9A9890 0%,#7A786F 55%,#5E5C55 56%,#4E4C46 100%)}
.kt-zdj.c{background:linear-gradient(180deg,#77756D 0%,#5F5D56 60%,#4C4A44 61%,#3E3C37 100%)}
.kt-zdj svg{width:34px;height:34px;stroke-width:1.6}
.kt-foto p{display:flex;justify-content:space-between;gap:6px;margin-top:6px;font:500 10px/1.2 var(--f-mono)}
.kt-foto em{font-style:normal;color:var(--czerwony)}

/* faktura PDF */
.kt-fv{display:grid;gap:6px;width:150px;padding:14px 13px 13px;border-radius:4px;background:#FFFFFF;color:#1A1A1A}
.kt-pdf{justify-self:start;padding:3px 6px;border-radius:3px;background:var(--czerwony);color:#fff;font:700 10px/1 var(--f-mono);letter-spacing:.08em}
.kt-fv b{font:600 19px/1.05 var(--f-display);letter-spacing:.01em}
.kt-fv i{display:block;height:5px;border-radius:3px;background:#E4E4DE}
.kt-fv i.kr{width:62%}
.kt-fv em{margin-top:2px;font:700 12px/1.25 var(--f-tekst);font-style:normal;color:var(--czerwony)}

/* kartka z kalendarza */
.kt-kal{width:140px;overflow:hidden;border-radius:12px;background:#FFFFFF;color:#1A1A1A;text-align:center}
.kt-mies{padding:6px 0 5px;background:var(--czerwony);color:#fff;font:700 11px/1 var(--f-mono);letter-spacing:.16em}
.kt-kal b{display:block;padding-top:6px;font:600 44px/1 var(--f-display)}
.kt-kal p:last-child{padding:4px 10px 12px;font-size:13px;font-weight:800;line-height:1.25}

@media (min-width:1024px){
  .chaos-hint{left:auto;right:max(var(--g),calc((100% - var(--max)) / 2 + var(--g)));transform:none;font-size:11px}
}
