/* ============================================================
   kika.0xarise.com — "The Reel + Letter" (Concept E)
   Editorial spine · cinematic interlude · letter finale
   Palette: paper / ink, with a near-black cinematic mode.
   ============================================================ */
:root{
  --paper:#f3ede1;        /* editorial bg */
  --paper-2:#ece4d4;
  --ink:#1b1813;          /* editorial text */
  --ink-soft:#5a5346;
  --ink-faint:#8a8170;
  --line:#d6cdb8;
  --accent:#9a4a2f;       /* terracotta */
  --night:#08080a;        /* cinematic bg */
  --night-2:#101013;
  --on-night:#f4f2ee;
  --on-night-soft:#b9b6ae;
  --maxw:1180px;
  --measure:62ch;
  --serif:"Newsreader","Fraunces",Georgia,"Times New Roman",serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --pad: clamp(20px, 5vw, 64px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--paper);color:var(--ink);
  font:400 18px/1.65 var(--serif);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.lenis{height:auto}
img,video{display:block;max-width:100%;height:auto}
.mono{font-family:var(--mono);letter-spacing:.04em}
.cap{font:500 11.5px/1.45 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
::selection{background:var(--accent);color:#fff}

/* film grain — global, subtle, fixed */
.grain-fx, .hero-grain{
  pointer-events:none;position:fixed;inset:0;z-index:60;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px;
}
.hero-grain{position:absolute;z-index:3;opacity:.07}

/* ---------- HERO ---------- */
.hero{position:relative;height:100svh;min-height:560px;background:var(--night);color:var(--on-night);overflow:hidden;display:flex;align-items:flex-end}
.hero-media{position:absolute;inset:0;z-index:1}
.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.15) 40%,rgba(0,0,0,.78));}
.hero-media.empty{background:radial-gradient(120% 90% at 70% 25%,#2c2620,#08080a 78%)}
.hero-inner{position:relative;z-index:4;padding:var(--pad);padding-bottom:clamp(48px,9vh,110px);max-width:var(--maxw);margin:0 auto;width:100%}
.hero-kicker{font:500 12px/1 var(--mono);letter-spacing:.34em;text-transform:uppercase;color:var(--on-night-soft);margin-bottom:18px}
.hero-title{font:300 clamp(40px,8.5vw,108px)/.98 var(--serif);letter-spacing:-.025em}
.hero-title em{font-style:italic;font-weight:400}
.hero-sub{margin-top:14px;font:italic 400 clamp(16px,2.4vw,24px)/1.4 var(--serif);color:var(--on-night-soft);max-width:30ch}
.scroll-hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:4}
.scroll-hint span{display:block;width:1px;height:46px;background:linear-gradient(180deg,transparent,var(--on-night-soft));animation:dr 2.2s ease-in-out infinite}
@keyframes dr{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- CHAPTER RAIL (side progress) ---------- */
.rail{position:fixed;top:0;left:max(14px,2.2vw);height:100vh;width:2px;z-index:50;display:flex;flex-direction:column;gap:0;justify-content:center;mix-blend-mode:difference}
.rail .tick{flex:1;max-height:64px;display:flex;align-items:center;gap:9px;color:#fff;opacity:.4;transition:opacity .3s}
.rail .tick i{display:block;width:14px;height:1px;background:currentColor}
.rail .tick span{font:500 10px/1 var(--mono);letter-spacing:.12em;opacity:0;transform:translateX(-4px);transition:.3s}
.rail .tick.on{opacity:1}.rail .tick.on span{opacity:1;transform:none}
@media(max-width:740px){.rail{display:none}}

/* ---------- STORY / CHAPTERS ---------- */
main#story{position:relative;z-index:10}
.chapter{padding:clamp(70px,13vh,160px) 0;position:relative}
.chapter .inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.ch-head{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:clamp(20px,4vw,38px);border-bottom:1px solid var(--line);padding-bottom:14px}
.ch-num{font:500 13px/1 var(--mono);letter-spacing:.2em;color:var(--accent)}
.ch-title{font:400 clamp(30px,5.4vw,62px)/1.02 var(--serif);letter-spacing:-.02em;flex:1 1 auto}
.ch-meta{font:500 11.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);text-align:right}
.ch-body{max-width:var(--measure);font-size:clamp(17px,2vw,20px)}
.ch-body p+p{margin-top:1em}
.ch-body :first-child::first-letter{ }
figure{margin:0}
figure figcaption{margin-top:8px}
html.no-js .fade-in,html.no-js .reveal-img{opacity:1!important;transform:none!important;clip-path:none!important}
.fade-in{opacity:0;transform:translateY(24px) }  /* JS toggles .is-in */
.fade-in.is-in{opacity:1;transform:none;transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.reveal-img{opacity:0}
.reveal-img.is-in{opacity:1;transition:opacity 1s cubic-bezier(.2,.7,.2,1)}

/* layout: split */
.lay-split .ch-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,4vw,56px);align-items:start;margin-top:clamp(24px,4vw,40px)}
.lay-split .ch-body{grid-column:1}
.lay-split .ch-figs{display:flex;flex-direction:column;gap:clamp(16px,2.5vw,28px)}
.lay-split .ch-figs figure:nth-child(2){margin-left:clamp(20px,8%,80px)}
/* layout: stack */
.lay-stack .ch-figs{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,2vw,22px);margin-top:clamp(28px,5vw,48px)}
.lay-stack .ch-figs figure:first-child:nth-last-child(odd){grid-column:1/-1}
.lay-stack .ch-figs figure:first-child:nth-last-child(odd) img,
.lay-stack .ch-figs figure:first-child:nth-last-child(odd) video{aspect-ratio:16/9;object-fit:cover}
/* layout: fullbleed */
.lay-fullbleed{padding:0}
.lay-fullbleed .fb-wrap{position:relative;min-height:100svh;display:flex;align-items:flex-end;background:var(--night);color:var(--on-night)}
.lay-fullbleed .fb-media{position:absolute;inset:0}
.lay-fullbleed .fb-media img,.lay-fullbleed .fb-media video{width:100%;height:100%;object-fit:cover}
.lay-fullbleed .fb-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.7));pointer-events:none}
.lay-fullbleed .fb-text{position:relative;z-index:2;padding:var(--pad);padding-bottom:clamp(54px,10vh,120px);max-width:var(--maxw);margin:0 auto;width:100%}
.lay-fullbleed .ch-head{border-color:rgba(255,255,255,.25)}
.lay-fullbleed .ch-meta{color:var(--on-night-soft)}
.lay-fullbleed .ch-body{color:var(--on-night-soft);max-width:46ch}
/* fullbleed + grid (hero + mosaic below) */
.lay-fullbleed .fb-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:14vw;gap:10px;padding:clamp(28px,5vw,48px) var(--pad);background:var(--night);color:var(--on-night)}
.lay-fullbleed .fb-grid figure{overflow:hidden;margin:0}
.lay-fullbleed .fb-grid figure img,.lay-fullbleed .fb-grid figure video{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.lay-fullbleed .fb-grid figure:nth-child(3n+1){grid-column:span 3;grid-row:span 2}
.lay-fullbleed .fb-grid figure:nth-child(3n+2){grid-column:span 3}
.lay-fullbleed .fb-grid figure:nth-child(3n){grid-column:span 2}
/* layout: grid (mosaic) */
.lay-grid .ch-figs{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:14vw;gap:10px;margin-top:clamp(28px,5vw,48px)}
.lay-grid .ch-figs figure{overflow:hidden}
.lay-grid .ch-figs figure img,.lay-grid .ch-figs figure video{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.lay-grid .ch-figs figure:nth-child(3n+1){grid-column:span 3;grid-row:span 2}
.lay-grid .ch-figs figure:nth-child(3n+2){grid-column:span 3}
.lay-grid .ch-figs figure:nth-child(3n){grid-column:span 2}
.lay-grid figcaption{display:none}

/* ---------- CINEMATIC INTERLUDE ---------- */
.cinematic{background:var(--night);color:var(--on-night)}
.cine-slide{position:relative;height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cine-slide .ken{position:absolute;inset:-8%;}
.cine-slide .ken img,.cine-slide .ken video{width:100%;height:100%;object-fit:cover;will-change:transform}
.cine-slide.empty .ken{background:radial-gradient(120% 100% at 50% 40%,#2a241e,#08080a 75%)}
.cine-slide::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 120% at 50% 50%,transparent 40%,rgba(0,0,0,.62));z-index:1}
.cine-slide .line{position:relative;z-index:2;font:italic 300 clamp(22px,4.4vw,56px)/1.25 var(--serif);text-align:center;padding:0 8vw;text-shadow:0 2px 30px rgba(0,0,0,.6);max-width:22ch}
@keyframes ken{from{transform:scale(1) translate(0,0)}to{transform:scale(1.12) translate(-2%,-2%)}}
.cine-slide.is-in .ken img,.cine-slide.is-in .ken video{animation:ken 14s ease-out forwards}

/* ---------- INTERSTITIAL (full-bleed photo break — "nasze stock photos") ---------- */
/* portrety NIE są ucinane — wypełniamy resztę kadru rozmytą wersją tego samego zdjęcia */
.interstitial{position:relative;height:88svh;min-height:480px;overflow:hidden;background:var(--night)}
.interstitial .ist-bg{position:absolute;inset:-6%;background-size:cover;background-position:center;filter:blur(34px) brightness(.55) saturate(.85);transform:scale(1.12);z-index:0}
.interstitial img.ist-fg,.interstitial video.ist-fg{position:relative;display:block;width:100%;height:100%;object-fit:contain;z-index:1;will-change:transform}
.interstitial::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,0) 35%,rgba(0,0,0,.35));z-index:2;pointer-events:none}
.interstitial .cap2{position:absolute;left:0;right:0;bottom:clamp(20px,5vw,48px);text-align:center;z-index:3;color:#fff;font:italic 300 clamp(16px,2.6vw,26px)/1.3 var(--serif);text-shadow:0 2px 24px rgba(0,0,0,.5);padding:0 8vw}
.interstitial.is-in img.ist-fg,.interstitial.is-in video.ist-fg{animation:ken 16s ease-out forwards}

/* ---------- WRAPPED INTERLUDE ---------- */
.wrapped{background:linear-gradient(165deg,#b8442f,#a02f5e 52%,#5e2d7a);color:#fff;padding:clamp(60px,12vh,140px) 0;font-family:var(--serif)}
.wrapped .inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.wrapped .w-kicker{font:600 12px/1 var(--mono);letter-spacing:.3em;text-transform:uppercase;opacity:.85;margin-bottom:clamp(28px,6vw,52px)}
.w-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(14px,2.5vw,26px)}
.w-card{background:rgba(255,255,255,.1);backdrop-filter:blur(3px);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:clamp(22px,3vw,34px);min-height:clamp(180px,26vw,260px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.w-card.stat .num{font:300 clamp(40px,6vw,76px)/.92 var(--serif);letter-spacing:-.03em}
.w-card.stat .lbl{font:600 clamp(16px,2vw,20px) var(--serif);margin-top:8px}
.w-card.stat .sub{font:italic 400 14px/1.4 var(--serif);opacity:.85;margin-top:6px}
.w-card.photo{padding:0;position:relative}
.w-card.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.w-card.photo .line{position:relative;z-index:2;padding:clamp(20px,3vw,30px);font:italic 400 clamp(15px,2vw,18px)/1.35 var(--serif);background:linear-gradient(0deg,rgba(0,0,0,.6),transparent)}

/* ---------- MEMORY MAP — overview z miniaturkami (places) ---------- */
.memmap{position:relative;background:var(--night-2);padding:clamp(60px,10vh,120px) 0 0}
.memmap .section-title{color:var(--on-night);padding:0 var(--pad);margin-bottom:clamp(28px,5vw,52px)}
.memmap #mmCanvas.mm-static{height:78svh;min-height:520px;width:100%;background:#10141a}
.memmap #mmCanvas.mm-static .maplibregl-canvas{outline:none}
.place-pin{position:relative;cursor:pointer;transition:transform .25s ease}
.place-pin:hover{transform:translateY(-3px) scale(1.05);z-index:5}
.place-pin img{width:54px;height:54px;object-fit:cover;border-radius:10px;border:2px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.5);display:block;background:#222}
.place-pin::after{content:"";position:absolute;left:50%;bottom:-7px;transform:translateX(-50%) rotate(45deg);width:10px;height:10px;background:#fff;border-bottom:2px solid #fff;border-right:2px solid #fff;box-shadow:3px 3px 8px rgba(0,0,0,.4)}
.place-pin span{position:absolute;left:50%;top:-26px;transform:translateX(-50%);font:600 11px/1 var(--mono);letter-spacing:.06em;color:#fff;background:rgba(8,9,11,.85);padding:5px 10px;border-radius:5px;white-space:nowrap;opacity:0;transition:opacity .25s}
.place-pin:hover span{opacity:1}
.maplibregl-popup-content{background:#0c0f13!important;color:#e8e8ea;border:1px solid #2a333d;border-radius:12px;padding:0!important;overflow:hidden}
.maplibregl-popup-tip{border-top-color:#0c0f13!important;border-bottom-color:#0c0f13!important}
.place-pop img{width:100%;max-height:220px;object-fit:cover;display:block}
.place-pop .t{font:400 22px/1.1 var(--serif);padding:14px 16px 4px}
.place-pop .c{font:italic 400 14px/1.4 var(--serif);color:var(--on-night-soft);padding:0 16px 14px}

/* ---------- MEMORY MAP — legacy scrollytelling (stops) ---------- */
.memmap.legacy{padding:0}
.memmap.legacy #mmCanvas{position:sticky;top:0;height:100svh;width:100%}
.memmap .mm-steps{position:relative;z-index:2;pointer-events:none}
.memmap .mm-step{min-height:100svh;display:flex;align-items:center;padding:var(--pad)}
.memmap .mm-card{pointer-events:auto;max-width:380px;background:rgba(8,9,11,.82);backdrop-filter:blur(8px);border:1px solid #2a333d;border-radius:14px;padding:clamp(18px,2.5vw,26px);color:var(--on-night)}
.memmap .mm-card .t{font:400 clamp(22px,3vw,32px)/1.05 var(--serif)}
.memmap .mm-card .d{font:500 11px/1 var(--mono);letter-spacing:.12em;color:var(--accent);margin:8px 0 12px}
.memmap .mm-card img{border-radius:8px;margin-bottom:12px}
.memmap .mm-card p{font-size:15px;color:var(--on-night-soft)}

/* ---------- SECTION TITLE (shared) ---------- */
.section-title{font:300 clamp(28px,5vw,56px)/1 var(--serif);letter-spacing:-.02em;text-align:center;margin-bottom:clamp(28px,5vw,52px)}

/* ---------- GALLERY ---------- */
.gallery{padding:clamp(70px,12vh,150px) var(--pad);background:var(--paper-2)}
.gallery-grid{max-width:var(--maxw);margin:0 auto;column-count:4;column-gap:12px}
.gallery-grid a{display:block;margin-bottom:12px;break-inside:avoid;overflow:hidden;background:var(--line)}
.gallery-grid a img{width:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.gallery-grid a:hover img{transform:scale(1.04)}
@media(max-width:1000px){.gallery-grid{column-count:3}}
@media(max-width:680px){.gallery-grid{column-count:2}}

/* ---------- LETTER ---------- */
.letter{background:var(--paper);padding:clamp(70px,14vh,170px) var(--pad);display:flex;flex-direction:column;align-items:center}
.envelope{position:relative;width:min(420px,86vw);aspect-ratio:3/2;cursor:pointer;perspective:1200px;transition:transform .4s}
.envelope:hover{transform:translateY(-4px)}
.env-body{position:absolute;inset:0;background:linear-gradient(150deg,#efe6d3,#e2d6bd);border:1px solid var(--line);border-radius:6px;box-shadow:0 20px 50px -20px rgba(0,0,0,.3)}
.env-body::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 49.5%,rgba(0,0,0,.06) 50%),linear-gradient(-135deg,transparent 49.5%,rgba(0,0,0,.06) 50%)}
.env-flap{position:absolute;left:0;right:0;top:0;height:62%;background:linear-gradient(170deg,#e8ddc6,#dccdb0);border:1px solid var(--line);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;transition:transform .8s cubic-bezier(.6,0,.2,1);z-index:3}
.env-hint{position:absolute;left:0;right:0;bottom:-30px;text-align:center;font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}
.envelope.open .env-flap{transform:rotateX(180deg);z-index:1}
.envelope.open{cursor:default}
.envelope.open .env-hint{opacity:0;transition:opacity .3s}
.letter-body{max-width:60ch;margin-top:clamp(40px,8vh,90px);font:400 clamp(18px,2.2vw,22px)/1.8 var(--serif)}
.letter-body p{margin:0 0 1.4em}
.letter-body p .line{display:block;overflow:hidden}
.letter-body p .line>span{display:block;transform:translateY(105%)}
.letter-body p .line.is-in>span{transform:none;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.letter-body figure{margin:clamp(28px,5vw,48px) 0}
.letter-body .signoff{font:italic 400 clamp(20px,2.6vw,26px) var(--serif);color:var(--accent);margin-top:1.4em}

/* ---------- MUSIC ---------- */
.music{padding:0 var(--pad) clamp(50px,10vh,110px);background:var(--paper);text-align:center}
.music iframe{border-radius:14px;max-width:560px;width:100%}

/* ---------- FOOTER ---------- */
.site-foot{padding:40px var(--pad) 60px;background:var(--paper);text-align:center;font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);border-top:1px solid var(--line)}

/* ---------- DWIGHT „FAKT.” rotujący prawy-dół ---------- */
.fakt{position:fixed;right:18px;bottom:74px;z-index:65;max-width:min(380px,calc(100vw - 96px));background:rgba(8,9,11,.88);backdrop-filter:blur(8px);border:1px solid #2a2a30;border-radius:10px;padding:9px 12px 10px;font:13px/1.45 var(--mono);color:#e8e8ea;box-shadow:0 14px 32px rgba(0,0,0,.45);opacity:0;transform:translateY(8px);transition:opacity .35s, transform .35s;cursor:pointer;user-select:none}
.fakt.on{opacity:1;transform:none}
.fakt-lbl{display:inline-block;font-weight:700;color:var(--accent);letter-spacing:.08em;margin-right:8px}
.fakt-txt{color:#cfcfd2}
.fakt:hover{border-color:var(--accent)}
@media(max-width:740px){.fakt{right:10px;left:10px;max-width:none;bottom:68px;font-size:12.5px}}

/* ---------- AMBIENT AUDIO BTN ---------- */
.audio-btn{position:fixed;right:22px;bottom:22px;z-index:70;width:56px;height:56px;border-radius:50%;border:1.5px solid rgba(255,255,255,.85);background:rgba(212,163,115,.18);backdrop-filter:blur(10px);color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s,background .25s;box-shadow:0 4px 18px rgba(0,0,0,.4)}.audio-btn:hover{background:rgba(212,163,115,.35)}.audio-btn.playing{background:rgba(212,163,115,.5);border-color:#d4a373}
.audio-btn.playing{animation:spin 6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- MOBILE ---------- */
@media(max-width:740px){
  body{font-size:17px}
  .lay-split .ch-cols{grid-template-columns:1fr}
  .lay-split .ch-figs figure:nth-child(2){margin-left:0}
  .lay-stack .ch-figs{grid-template-columns:1fr}
  .lay-grid .ch-figs{grid-template-columns:repeat(2,1fr);grid-auto-rows:32vw}
  .lay-grid .ch-figs figure:nth-child(3n+1),.lay-grid .ch-figs figure:nth-child(3n+2),.lay-grid .ch-figs figure:nth-child(3n){grid-column:span 1;grid-row:span 1}
  .lay-fullbleed .fb-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:32vw}
  .lay-fullbleed .fb-grid figure:nth-child(3n+1),.lay-fullbleed .fb-grid figure:nth-child(3n+2),.lay-fullbleed .fb-grid figure:nth-child(3n){grid-column:span 1;grid-row:span 1}
  .ch-meta{text-align:left;width:100%}
}
/* ---------- LIGHTBOX (click chapter image → full-screen) ---------- */
.img-zoom-overlay{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:20px;box-sizing:border-box;animation:fadein .18s ease}
.img-zoom-overlay img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;cursor:zoom-out;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.img-zoom-overlay::after{content:"esc / klik";position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.5);font:11px/1.4 ui-monospace,monospace;letter-spacing:.08em}
.lay-grid .ch-figs figure img,.lay-fullbleed .fb-grid figure img,.lay-stack .ch-figs figure img,.lay-split .ch-figs figure img{cursor:zoom-in}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .fade-in,.reveal-img{opacity:1;transform:none;clip-path:none}
}
