    :root{--paper:#eee9df;--ink:#2b2a25;--rust:#bd4b31;--gold:#c8a26b;--navy:#071e2b;--aqua:#93d8d4;--mint:#b9f87a;--bg:var(--paper);--fg:var(--ink);--vh:100svh;--gutter:clamp(24px,5.6vw,100px);--sans:'Space Grotesk',sans-serif;--mono:'DM Mono',monospace;--serif:'Playfair Display',Georgia,serif}
    *{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);transition:background-color .8s,color .8s}body.loading{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}button{cursor:pointer}::selection{background:var(--rust);color:var(--paper)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}img{display:block;width:100%;height:100%;object-fit:cover}svg{display:block}button{border:0}p{line-height:1.7}.mono,.eyebrow{font:400 10px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:13px}.eyebrow:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.small{font-size:12px;line-height:1.7}.muted{opacity:.55}.serif{font-family:var(--serif);font-style:italic}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:fixed;top:-100px;left:20px;z-index:1100;padding:12px;background:var(--paper);color:var(--ink)}.skip:focus{top:12px}
    .grain,.vignette{position:fixed;inset:0;pointer-events:none;z-index:90}.grain{opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.vignette{box-shadow:inset 0 0 130px #0000000c}.progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:200;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#bd4b31,#e2ae62,#72bdc0,#b9f87a)}
    .site-header{position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:27px var(--gutter);pointer-events:none}.site-header>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:-.03em}.brand-icon{width:21px;height:24px;position:relative;border:1px solid currentColor;border-radius:11px 11px 0 0}.brand-icon:before,.brand-icon:after{content:'';position:absolute;bottom:0;width:1px;background:currentColor;height:15px}.brand-icon:before{left:6px}.brand-icon:after{right:6px}.header-note{position:absolute;left:50%;transform:translateX(-50%);font:9px var(--mono);letter-spacing:.14em;text-transform:uppercase}.menu-button{padding:9px 0;background:none;display:flex;gap:15px;align-items:center;font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em}.menu-icon{width:18px;height:9px;border-top:1px solid;border-bottom:1px solid}.chapter-menu{position:fixed;inset:0;z-index:120;background:#eee9dff7;color:var(--ink);padding:100px var(--gutter) 30px;display:none;backdrop-filter:blur(18px)}.chapter-menu.open{display:flex;flex-direction:column;justify-content:center}.chapter-menu a{font-size:clamp(30px,6vw,70px);border-bottom:1px solid #2b2a2525;padding:10px 0;display:flex;gap:28px;align-items:center}.chapter-menu a span{font:12px var(--mono);color:var(--rust)}.menu-close{position:absolute;right:var(--gutter);top:30px;background:none;font:12px var(--mono)}
    .dots{position:fixed;right:25px;top:50%;transform:translateY(-50%);z-index:101;display:grid;gap:18px}.dots a{width:14px;height:14px;display:grid;place-items:center;position:relative}.dots a:after{content:'';width:4px;height:4px;background:currentColor;border-radius:50%;opacity:.4;transition:.3s}.dots a.active:after{opacity:1;width:7px;height:7px}.dots a:before{content:attr(aria-label);position:absolute;right:22px;white-space:nowrap;font:9px var(--mono);opacity:0;transition:.3s}.dots a:hover:before,.dots a:focus-visible:before{opacity:1}.chapter-count{position:fixed;bottom:24px;left:var(--gutter);z-index:99;display:flex;align-items:center;gap:8px;font:10px var(--mono);letter-spacing:.1em}.odometer{height:16px;overflow:hidden;display:inline-block}.odometer-strip{display:flex;flex-direction:column;transition:transform .8s cubic-bezier(.2,.7,.1,1)}.odometer-strip span{height:16px;line-height:16px}.chapter-label{margin-left:10px;opacity:.5}.sound-note{position:fixed;bottom:25px;right:var(--gutter);z-index:99;font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase;opacity:.55}.cursor{position:fixed;top:0;left:0;width:16px;height:16px;border:1px solid currentColor;border-radius:50%;z-index:250;pointer-events:none;display:none;align-items:center;justify-content:center;font:9px var(--mono);transition:width .4s,height .4s,background .4s;mix-blend-mode:difference;color:white}.cursor span{opacity:0}.cursor.big{width:74px;height:74px;background:#ffffff15}.cursor.big span{opacity:1}
    .loader[hidden]{display:none}.loader{position:fixed;inset:0;background:#bd4b31;color:var(--paper);z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;clip-path:inset(0)}.loader-word{font:italic clamp(90px,18vw,240px) var(--serif)}.loader-num{font:12px var(--mono);margin-top:25px}.loader-rule{position:absolute;bottom:15%;width:40%;height:1px;background:#ffffff40}.loader-rule i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:var(--paper)}
    main{overflow:clip}.scene{position:relative;min-height:var(--vh)}.stage{position:relative;min-height:var(--vh);padding:105px var(--gutter) 90px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.animated{transition:background-color .12s linear,color .12s linear}.animated .scene{height:calc(var(--vh) * (1 + var(--travel,1)))}.animated .scene>.stage{position:sticky;top:0;height:var(--vh)}.section-heading{font-size:clamp(65px,12vw,175px);letter-spacing:-.085em;line-height:.92}.scene-top{position:absolute;left:var(--gutter);right:var(--gutter);top:108px;display:flex;align-items:center;justify-content:space-between}.scene-index{font:10px var(--mono);letter-spacing:.1em;opacity:.55}.section-copy{max-width:480px;font-size:clamp(16px,1.45vw,21px)}.section-copy p+p{margin-top:20px}.chapter-title{display:inline-block;overflow:hidden;padding-bottom:.12em}.chapter-title span{display:inline-block}.line{display:block}.reveal-word{display:inline-block;margin-right:.23em}.reveal-char{display:inline-block;white-space:pre}.round-link{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:50%;background:transparent;font-size:20px}.pill{display:inline-flex;align-items:center;gap:25px;padding:16px 23px;border:1px solid #ffffff35;border-radius:100px;background:transparent;font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase}.pill:hover{background:#ffffff12}.pill .arrow{font-size:18px}.horizontal-rule{height:1px;background:currentColor;opacity:.2}
    /* HERO — włoski plakat, architektura i typografia. */
    .hero .stage{justify-content:flex-start;padding-top:clamp(140px,19vh,200px)}.hero-meta{display:flex;justify-content:space-between;align-items:center}.hero-meta .edition{font:10px var(--mono);opacity:.6}.hero-title{font-size:clamp(85px,min(17.4vw,24vh),260px);letter-spacing:-.087em;line-height:.9;position:relative;z-index:3;margin:35px 0 0 -8px;max-width:100%}.hero-title .year{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--rust);letter-spacing:-.09em}.type-heading{position:relative;display:block;white-space:nowrap}.type-caret{display:inline-block;width:3px;height:.12em;background:var(--rust);margin-left:9px;animation:blink 1s steps(2,end) infinite;vertical-align:baseline}.hero-bottom{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:40px;align-items:end;margin-top:auto;padding-top:30px;position:relative;z-index:4}.hero-description{font-size:clamp(15px,1.5vw,20px);max-width:270px;line-height:1.5}.hero-person{display:grid;gap:8px;align-self:end}.hero-scroll{display:flex;align-items:center;gap:18px;justify-self:end}.hero-scroll small{font:9px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase}.scroll-line{width:1px;height:50px;background:#2b2a2530;position:relative;overflow:hidden}.scroll-line:after{content:'';position:absolute;height:25px;width:1px;background:var(--rust);animation:scrollLine 2.5s ease-in-out infinite}.hero-art{position:absolute;width:42vw;height:48vh;right:3%;bottom:11%;opacity:.64;z-index:1;pointer-events:none}.hero-arch{width:100%;height:100%;color:#bd4b31}.hero-coordinate{position:absolute;right:4%;top:48%;writing-mode:vertical-rl;font:8px var(--mono);letter-spacing:.15em;opacity:.45}.hero-stamp{position:absolute;left:50%;bottom:19%;width:115px;height:115px;border:1px solid #bd4b3140;border-radius:50%;color:var(--rust);display:grid;place-items:center;transform:rotate(-12deg);font:9px/1.7 var(--mono);text-align:center;letter-spacing:.1em}.hero-stamp:after{content:'';position:absolute;inset:7px;border:1px dashed #bd4b3150;border-radius:50%}.ambient-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.5}.hero-wash{position:absolute;width:55vw;height:55vw;right:-15%;top:0;border-radius:50%;background:radial-gradient(circle,#d89b7740,transparent 67%);animation:breathe 14s ease-in-out infinite;pointer-events:none}.hero-after{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:25px;pointer-events:none;opacity:0}.hero-after p{font:italic clamp(45px,8vw,110px)/1.05 var(--serif);max-width:850px}.hero-tiny{font:9px var(--mono);letter-spacing:.2em;text-transform:uppercase}
    /* UNIWERSALNA RAMKA: pusty lub błędny plik zawsze ma estetyczny zamiennik. */
    .photo{position:relative;overflow:hidden;background:#b87355;aspect-ratio:4/3;isolation:isolate;border-radius:2px}.photo-shell{min-width:0}.photo .placeholder{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 5%,#f7d4a860,transparent 60%),linear-gradient(145deg,#aa513e,#8a4b3b 54%,#c78a65);display:flex;align-items:center;justify-content:center}.placeholder:before{content:'';position:absolute;inset:12% 16% 0;border:1px solid #fff4;border-radius:50% 50% 0 0;box-shadow:18px 0 0 -1px #0000,0 0 0 16px #ffffff06,0 0 0 33px #ffffff05}.placeholder:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0004,transparent 50%)}.placeholder-label{z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;color:#fff9;font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase}.placeholder-label svg{width:24px;height:24px;stroke-width:1}.photo img{position:absolute;inset:0;z-index:3}.photo img[hidden]{display:none}.photo.has-image .placeholder{display:none}.photo::after{content:'';position:absolute;inset:0;border:1px solid #ffffff16;pointer-events:none;z-index:4}.photo-caption{display:flex;justify-content:space-between;gap:18px;margin-top:12px;font:9px/1.6 var(--mono);letter-spacing:.03em}.photo-caption span:last-child{opacity:.5}.photo-button{width:100%;padding:0;background:none;text-align:left;display:block}.photo-button:disabled{cursor:default}.photo-button:focus-visible{outline-offset:5px}.photo[data-tone='blue'] .placeholder{background:radial-gradient(ellipse at 10% 0,#89c4c866,transparent 60%),linear-gradient(150deg,#235060,#092b3c 60%,#10262c)}.photo[data-tone='gold'] .placeholder{background:radial-gradient(ellipse at 20% 0,#f7dda655,transparent 60%),linear-gradient(145deg,#9b754a,#78543c 54%,#c3a374)}.photo[data-tone='tech'] .placeholder{background:linear-gradient(150deg,#243a32,#101d1c 54%,#314637)}.photo[data-tone='tech'] .placeholder:before{border-radius:5px;background:linear-gradient(#b9f87a08 1px,transparent 1px),linear-gradient(90deg,#b9f87a08 1px,transparent 1px);background-size:24px 24px}
    /* BOLOGNA */
    .bologna-intro .stage{background:transparent}.bologna-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:8vw;align-items:center}.bologna-text .section-heading{margin:27px 0 28px}.bologna-text .serif{color:var(--rust);font-size:clamp(27px,3vw,47px);line-height:1.2;margin-bottom:26px}.bologna-photos{position:relative;height:59vh;max-height:620px}.bologna-photos .photo-shell{position:absolute;width:75%;right:0;top:0;transform:rotate(5deg)}.bologna-photos .photo-shell:nth-child(even){width:61%;left:-3%;top:42%;transform:rotate(-6deg)}.bologna-photos .photo{aspect-ratio:4/3}.bologna-photos .photo-shell:nth-child(n+3){top:12%;right:8%;width:67%}.bologna-photos .photo-shell:nth-child(3n){top:32%;right:22%}.bologna-photos .photo-caption{display:none}.facts-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:12%;align-items:center}.fact{padding:22px 0;border-bottom:1px solid #2b2a2533}.fact-value{font-size:clamp(48px,7vw,108px);line-height:1.05;letter-spacing:-.07em;display:flex;gap:12px;align-items:baseline}.fact-value small{font:italic .35em var(--serif);letter-spacing:0}.fact-label{font-size:12px;margin-top:10px;opacity:.65}.tower-art{height:58vh;width:100%;stroke:var(--rust);fill:none;stroke-width:1.4}.tower-caption{text-align:center;margin-top:12px}.collage-stage .section-heading{position:relative;z-index:1;font-size:clamp(60px,9vw,130px);text-align:center}.collage{position:absolute;inset:16% 11% 12%;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-content:center}.collage .photo-shell{position:relative}.collage .photo-shell:nth-child(2n){margin-top:45px}.collage .photo-shell:nth-child(3n){margin-top:-30px}.collage .photo{aspect-ratio:4/5}.collage .photo-caption{display:none}.collage-stage .scene-top{z-index:5}.collage-stage .collage-note{position:absolute;bottom:12%;right:var(--gutter);max-width:200px;z-index:4;font-size:12px;text-align:right}
    /* PRZEJŚCIE */
    .bridge{background:#141613;color:var(--paper)}.bridge .stage{align-items:center;text-align:center}.bridge-title{font:500 clamp(40px,7.5vw,110px)/1.15 var(--sans);letter-spacing:-.06em;position:relative;z-index:3}.bridge-title .serif{color:#bc8665}.bridge-door{position:absolute;top:0;bottom:0;width:50%;background:#141613;z-index:2}.bridge-door.left{left:0}.bridge-door.right{right:0}.bridge-under{position:absolute;inset:0;background:#a3694c;display:grid;place-items:center;font:italic 19vw var(--serif);color:#e9d9b6}.marquee{overflow:hidden;border-top:1px solid currentColor;border-bottom:1px solid currentColor;padding:20px 0;opacity:.7;position:relative}.marquee-track{display:flex;width:max-content;gap:40px;font:500 clamp(30px,5vw,80px) var(--sans);letter-spacing:-.04em;white-space:nowrap}.marquee-track span{display:block}.marquee-track em{font-family:var(--serif);font-weight:400}.bridge .marquee{position:absolute;bottom:11%;left:0;right:0;z-index:5;opacity:.5}
    /* FIRENZE */
    .florence{--gold:#ac7b3e}.firenze-stage{align-items:center;text-align:center}.firenze-title{font:500 clamp(85px,20vw,300px)/1 var(--serif);letter-spacing:-.065em;color:#a5744e;background:linear-gradient(140deg,#4d3325 10%,#b77e50 30%,#dfbb80 48%,#66442e 70%,#ac7b3e);background-size:cover;background-position:center;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;position:relative;z-index:2}.firenze-sub{display:flex;justify-content:space-between;width:100%;font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-top:35px}.firenze-rose{position:absolute;width:80vh;height:80vh;opacity:.15;stroke:#9c713e;fill:none;left:50%;top:50%;transform:translate(-50%,-50%)}.museum .stage{justify-content:center}.museum-heading{font:italic clamp(32px,5vw,70px)/1.1 var(--serif);margin-bottom:35px}.museum-track{display:flex;gap:5vw;align-items:center;width:max-content;padding:15px 20px 30px}.museum-item{width:clamp(240px,min(28vw,31vh),430px);flex-shrink:0}.museum-item:nth-child(even){padding-top:45px}.museum-item .photo{aspect-ratio:3/4;border:8px solid #957345;outline:2px solid #b9955a;outline-offset:5px;box-shadow:inset 0 0 0 2px #ecd2a1,0 24px 40px #58442225}.museum-item .photo-caption{margin-top:25px;border-left:2px solid #a88858;padding-left:12px;min-height:35px}.florence-prose .stage{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10vw}.florence-prose .reveal-text{font:500 clamp(28px,3.8vw,57px)/1.45 var(--serif);letter-spacing:-.02em;position:relative;z-index:2}.rose-wrap{position:relative;width:100%;aspect-ratio:1}.rose-svg{width:100%;height:100%;stroke:#a47c46;fill:none;stroke-width:1;opacity:.65}.rose-wrap .mono{position:absolute;bottom:5%;text-align:center;width:100%}.ghost-word{position:absolute;font:italic 24vw var(--serif);opacity:.035;white-space:nowrap;left:-5%;bottom:0;pointer-events:none}.curtain-stage{padding:0}.curtain-photo{position:absolute;inset:0}.curtain-photo .photo-shell,.curtain-photo .photo-button,.curtain-photo .photo{height:100%;width:100%;aspect-ratio:auto}.curtain-photo .photo-caption{display:none}.curtain-panel{position:absolute;inset:0 50% 0 0;background:repeating-linear-gradient(90deg,#612525,#88382c 7%,#492023 14%);z-index:4;box-shadow:20px 0 50px #0004}.curtain-panel.right{inset:0 0 0 50%;box-shadow:-20px 0 50px #0004}.curtain-label{position:absolute;left:var(--gutter);bottom:15%;z-index:5;color:#fff0d6}.curtain-label h3{font:italic clamp(40px,7vw,100px) var(--serif);margin-top:14px}.curtain-shade{position:absolute;inset:0;background:linear-gradient(0deg,#241b1488,transparent 60%);z-index:3;pointer-events:none}
    /* VENEZIA */
    .venice{color:#c7e6e5}.venice .stage{background:transparent}.venice-intro .stage{padding:0;align-items:center;text-align:center}.venice-backdrop{position:absolute;inset:0}.venice-backdrop .photo,.venice-backdrop .photo-shell,.venice-backdrop .photo-button{height:100%;width:100%;aspect-ratio:auto}.venice-backdrop .photo-caption{display:none}.venice-backdrop .placeholder-label{position:absolute;top:15%;opacity:.4;font-size:8px}.venice-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#071e2b,transparent 70%);z-index:4;pointer-events:none}.venice-title{font:500 clamp(75px,16vw,250px)/1 var(--serif);font-style:italic;letter-spacing:-.055em;position:relative;z-index:5}.venice-sub{position:relative;z-index:5;max-width:400px;margin-top:25px;font-size:17px}.venice-intro .eyebrow{position:relative;z-index:5;margin-bottom:25px}.waves{position:absolute;bottom:-1px;left:0;width:200%;height:85px;opacity:.25;pointer-events:none;animation:waveDrift 18s linear infinite}.waves path{fill:none;stroke:currentColor;stroke-width:1}.mist{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 15% 65%,#a4e1dd15,transparent 40%),radial-gradient(ellipse at 75% 40%,#85cec411,transparent 45%);transform:scale(1.2);animation:mist 20s ease-in-out infinite}.venice-gallery .stage{padding-right:0}.venice-gallery .section-heading{font-size:clamp(38px,5.8vw,85px);letter-spacing:-.055em;max-width:90%}.gallery-track{display:flex;align-items:center;gap:6vw;width:max-content;margin-top:55px;padding-right:var(--gutter)}.venice-item{width:clamp(190px,min(26vw,30vh),400px);flex-shrink:0;position:relative}.venice-item:nth-child(even){transform:translateY(30px)}.venice-item .photo{border-radius:50% 50% 2px 2px;aspect-ratio:3/4}.venice-item .reflection{height:60px;overflow:hidden;transform:scaleY(-1);opacity:.16;mask-image:linear-gradient(transparent,#000);pointer-events:none;margin-top:10px}.venice-item .reflection .photo{height:200px;aspect-ratio:auto;border-radius:0}.venice-item .reflection .placeholder-label{display:none}.water-photo{filter:url(#water-filter)}.water-photo:hover{filter:none}.gondola-stage{text-align:center;align-items:center}.gondola-story{font:italic clamp(32px,5.4vw,78px)/1.25 var(--serif);max-width:900px;z-index:2}.gondola-water{position:absolute;bottom:18%;left:0;width:100%;height:100px;border-bottom:1px solid #93d8d440}.gondola-svg{width:190px;height:85px;position:absolute;left:5%;bottom:0;fill:none;stroke:var(--aqua);stroke-width:1.2}.wake{position:absolute;left:0;bottom:-13px;width:100%;height:25px;transform-origin:left}.wake path{fill:none;stroke:#93d8d440;stroke-width:1}.gondola-note{margin-top:40px;max-width:400px}.ripple-stage{display:grid;grid-template-columns:1fr 1.1fr;gap:10vw;align-items:center}.ripple-copy h3{font:italic clamp(40px,6vw,88px)/1.1 var(--serif);margin:24px 0}.ripple-frame{position:relative}.ripple-frame .photo{aspect-ratio:4/5}.ripple-rings{position:absolute;inset:0;pointer-events:none;overflow:hidden}.ripple-ring{position:absolute;left:50%;top:50%;width:100px;height:100px;margin:-50px;border:1px solid #c7e6e580;border-radius:50%;box-shadow:0 0 20px #c7e6e516}.bubble{position:absolute;border:1px solid #a2dddd25;border-radius:50%;width:7px;height:7px;bottom:5%;left:var(--left);animation:bubble var(--duration) ease-in infinite;pointer-events:none}
/* Zastępuje stary blok PRAKTYKI. Reguły dotyczą wyłącznie #practice. */
#practice{--neon:#39ff9c;--pr-mono:'JetBrains Mono',monospace;position:relative;color:#e0e9de;isolation:isolate}
#practice .pr-anchor{position:absolute;left:0;top:0;width:1px;height:1px;pointer-events:none}
#practice .stage{background-image:linear-gradient(#39ff9c06 1px,transparent 1px),linear-gradient(90deg,#39ff9c06 1px,transparent 1px);background-size:48px 48px}
.animated #practice .pr-flow{height:auto!important}
.animated #practice .pr-flow>.stage,#practice .pr-flow>.stage{position:relative;height:auto;min-height:100svh;padding-block:120px}
#practice .eyebrow{color:var(--neon)}
#practice .pr-heading{font:500 clamp(28px,4.3vw,62px)/1.12 var(--sans);letter-spacing:-.055em;margin:18px 0 28px}
#practice .pr-title{font-size:clamp(65px,10vw,150px);line-height:1;letter-spacing:-.075em;color:var(--neon);margin:22px 0}
#practice .pr-description{font-size:clamp(15px,1.5vw,19px);max-width:640px;color:#aabcb1}
#practice .pr-note{font:10px/1.65 var(--pr-mono);color:#9bb0a3;max-width:850px;margin-top:20px}
#practice .pr-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:7vw;align-items:center}
#practice pre{font:11px/1.75 var(--pr-mono);white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2;margin:0}
#practice .pr-console,#practice .pr-code-card{border:1px solid #39ff9c25;background:#0b1411e8;border-radius:12px;overflow:hidden}
#practice .pr-company{padding:25px;min-height:140px}
#practice .pr-bar{display:flex;align-items:center;gap:6px;padding:13px 17px;border-bottom:1px solid #39ff9c1a;font:9px var(--pr-mono);background:#14211be8}
#practice .pr-bar i{width:6px;height:6px;border-radius:50%;background:#39ff9c60}
#practice .pr-bar span{margin-left:auto}
#practice .pr-string{color:#a9e8c5}#practice .pr-keyword{color:var(--neon)}#practice .pr-comment{color:#809e8c}
#practice .pr-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:45px}
#practice .pr-chips>span{font:12px var(--pr-mono);padding:15px 21px;border:1px solid #39ff9c35;border-radius:6px;background:#15271d}
#practice .pr-rain{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none;opacity:.12}
#practice .pr-rain span{position:absolute;top:-2%;left:calc(var(--i)*12%);writing-mode:vertical-rl;letter-spacing:14px;font:11px var(--pr-mono);color:var(--neon);animation:pr-code-rain 22s linear infinite;animation-delay:calc(var(--i)*-2s)}
@keyframes pr-code-rain{to{transform:translateY(800px);opacity:0}}
#practice .pr-glass{background:linear-gradient(130deg,#173226bf,#101c16ed);border:1px solid #39ff9c30;border-radius:13px;box-shadow:0 24px 60px #0003;backdrop-filter:blur(10px)}
#practice .pr-pipe-window{width:100%;overflow:hidden;padding:15px 0 35px}
#practice .pr-pipe-track{display:flex;gap:45px;list-style:none;width:max-content;min-width:100%;padding:0;margin:0}
#practice .pr-node{width:180px;flex:0 0 180px;min-height:215px;position:relative;padding:25px 18px;border:1px solid #39ff9c25;border-radius:12px;background:#132019}
#practice .pr-node-light{position:absolute;inset:0;border:1px solid var(--neon);box-shadow:inset 0 0 30px #39ff9c12,0 0 20px #39ff9c12;border-radius:inherit;pointer-events:none}
#practice .pr-symbol{font:17px var(--pr-mono);color:var(--neon)}
#practice .pr-node h4{font:500 17px/1.3 var(--sans);margin:30px 0 12px}
#practice .pr-node p{font:11px/1.65 var(--pr-mono);color:#a8bcaf}
#practice .pr-wire{position:absolute;left:100%;top:45px;width:45px;height:20px;overflow:visible;stroke:var(--neon);fill:none;stroke-width:1}
#practice .pr-packet{fill:var(--neon);stroke:none}
#practice .pr-heading-row{display:flex;align-items:center;justify-content:space-between;gap:15px}
#practice .pr-phase{font:10px var(--pr-mono);color:var(--neon);white-space:nowrap}
#practice .pr-lab{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:22px;align-items:center}
#practice #p3>.stage,#practice #p4>.stage{padding-top:90px;padding-bottom:65px}
#practice .pr-app{position:relative;min-width:0}
#practice .pr-app-body{display:grid;grid-template-columns:minmax(0,1fr) 133px}
#practice .pr-camera{position:relative;aspect-ratio:16/10;max-height:38vh;min-width:0;overflow:hidden;background:#08130f;background-image:linear-gradient(#39ff9c0c 1px,transparent 1px),linear-gradient(90deg,#39ff9c0c 1px,transparent 1px);background-size:24px 24px}
#practice .pr-camera:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 4px,#0002 4px 5px);pointer-events:none}
#practice .pr-camera-hud{position:absolute;z-index:3;left:10px;right:10px;top:10px;display:flex;justify-content:space-between;font:7px var(--pr-mono);color:#a4c6b4}
#practice .pr-camera-hud span{display:flex;align-items:center;gap:5px}
#practice .pr-rec{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--neon)}
.animated #practice .pr-rec{animation:blink 1.5s steps(2,end) infinite}
#practice .pr-vector{width:100%;height:100%;fill:none;stroke:var(--neon);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#practice .pr-room{stroke:#39ff9c24;stroke-width:1}
#practice .pr-shadow{fill:#39ff9c0d;stroke:none}
#practice .pr-facebox{stroke-width:3}
#practice .pr-facebox text{font:12px var(--pr-mono);stroke:none;fill:var(--neon)}
#practice .pr-motion-mask path{fill:#39ff9c30;stroke:none}
#practice .pr-motion-mask rect{stroke-dasharray:5 5;stroke:#b5ff73}
#practice .pr-scan>rect:first-child{stroke:#d9ffc1;stroke-dasharray:5 3}
#practice .pr-haar-light{fill:#d9ffe9;stroke:none}#practice .pr-haar-dark{fill:#06190e;stroke:#39ff9c55}
#practice .pr-diff{position:absolute;right:10px;bottom:10px;width:100px;height:75px;border:1px solid #39ff9c60;background:#000;overflow:hidden}
#practice .pr-diff>span{position:absolute;left:5px;top:4px;font:6px var(--pr-mono);color:white}
#practice .pr-diff .pr-vector{stroke:white}#practice .pr-diff .pr-person{fill:#fff;stroke:#fff}#practice .pr-diff .pr-facebox{display:none}
#practice .pr-flash{position:absolute;inset:0;background:white;z-index:4;pointer-events:none;opacity:0}
#practice .pr-click-word{position:absolute;top:40%;left:38%;font:24px var(--pr-mono);color:white;z-index:5}
#practice .pr-controls{padding:13px 10px;border-left:1px solid #39ff9c20;display:flex;flex-direction:column;gap:9px;min-width:0}
#practice .pr-start,#practice .pr-stop{font:10px var(--pr-mono);padding:8px 10px;border-radius:5px;text-align:center;border:1px solid #39ff9c35;background:#39ff9c15}
#practice .pr-start{color:var(--neon)}#practice .pr-stop{color:#9bafa3}
#practice .pr-switch{font:7px/1.5 var(--pr-mono);display:flex;align-items:center;gap:5px}
#practice .pr-switch i{width:19px;min-width:19px;height:10px;border-radius:8px;background:#39ff9c30;position:relative}
#practice .pr-switch i:after{content:'';position:absolute;right:2px;top:2px;width:6px;height:6px;border-radius:50%;background:var(--neon)}
#practice .pr-status-caption{font:7px var(--pr-mono);color:#8ba696;margin-top:auto}
#practice .pr-status{font:8px/1.5 var(--pr-mono);color:var(--neon);min-height:24px}
#practice .pr-log{border-top:1px solid #39ff9c20;padding:12px 15px;height:98px;overflow:hidden}
#practice .pr-log>span{font:7px var(--pr-mono);color:#7ca58e}
#practice .pr-log pre{font-size:8px;line-height:1.6;color:#c0d6c8;margin-top:5px}
#practice .pr-mouse{position:absolute;right:75px;top:75px;width:22px;height:28px;z-index:8;fill:white;stroke:#08150e;stroke-width:1.5;pointer-events:none}
#practice .pr-click-ring{position:absolute;right:58px;top:54px;width:38px;height:38px;border:1px solid var(--neon);border-radius:50%;pointer-events:none}
#practice .pr-polaroid,#practice .pr-flight{position:absolute;width:145px;padding:8px 8px 12px;background:#ddf5e5;color:#123922;box-shadow:0 20px 45px #0006;z-index:7;pointer-events:none}
#practice .pr-polaroid{right:15%;top:20%;transform:rotate(7deg)}
#practice .pr-shot-art{aspect-ratio:4/3;background:#10281b}
#practice .pr-polaroid>span,#practice .pr-flight>span{display:block;font:7px var(--pr-mono);margin-top:8px}
#practice .pr-code-deck{display:grid;min-width:0;align-self:stretch;gap:12px}
#practice .pr-code-card{padding:17px;min-width:0}
#practice .pr-code-card h4{font:9px var(--pr-mono);color:var(--neon);margin:0 0 14px}
#practice .pr-code-card pre{font-size:10px}
.animated #practice .pr-code-deck>.pr-code-card{grid-area:1/1;align-self:center;min-height:235px;opacity:0}
#practice .pr-send-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;position:relative;width:min(1050px,100%);margin:auto}
#practice .pr-send-source{position:relative;z-index:2;min-width:0}
#practice .pr-source-tile{padding:20px;display:flex;gap:18px;align-items:center}
#practice .pr-source-tile h4{font:11px var(--pr-mono);margin:0 0 8px}
#practice .pr-source-tile p{font:9px var(--pr-mono);color:#9db2a5}
#practice .pr-file-icon{font:35px var(--pr-mono);color:var(--neon)}
#practice .pr-transfer-code{margin-top:20px}
#practice .pr-send-status{font:10px var(--pr-mono);color:var(--neon);margin-top:18px;min-height:28px}
#practice .pr-send-progress{height:2px;background:#39ff9c15;margin-top:8px}
#practice .pr-send-progress i{display:block;height:100%;background:var(--neon);transform-origin:left}
#practice .pr-phone{position:relative;justify-self:center;width:min(320px,100%);border:7px solid #263b34;border-radius:30px;background:#0d191c;box-shadow:0 25px 70px #0005;overflow:hidden;z-index:3}
#practice .pr-phone-header{padding:24px 17px 16px;background:#183038;display:flex;align-items:center;gap:12px}
#practice .pr-avatar{width:35px;height:35px;border-radius:50%;background:#338cab;color:white;display:grid;place-items:center}
#practice .pr-phone-header strong{font:500 13px var(--sans)}
#practice .pr-phone-header small{display:block;font:9px var(--pr-mono);color:#7eafb9;margin-top:4px}
#practice .pr-phone-header>span:last-child{margin-left:auto}
#practice .pr-chat{padding:22px 14px 36px;min-height:265px;background:radial-gradient(ellipse at 90% 0,#23453e,transparent 80%)}
#practice .pr-typing{position:absolute;top:110px;left:22px;display:flex;align-items:center;gap:4px;font:9px var(--pr-mono);color:#a8c4c7}
#practice .pr-typing>span{margin-right:6px}#practice .pr-typing i{width:4px;height:4px;border-radius:50%;background:#9dceca}
#practice .pr-message{width:90%;background:#21434a;border-radius:12px 12px 12px 2px;overflow:hidden;padding:6px}
#practice .pr-message-image{aspect-ratio:4/3;background:#0b1c19;border-radius:7px;overflow:hidden}
#practice .pr-message p{font:12px var(--sans);padding:10px 6px 3px}
#practice .pr-message small{display:block;text-align:right;padding:0 6px 4px;font:8px var(--pr-mono);color:#92bbb9}
#practice .pr-message small span{color:#61ccdb;margin-left:4px}
#practice .pr-push{position:absolute;top:12px;left:8px;right:8px;display:flex;gap:9px;padding:12px;background:#e7fff0;color:#102a1b;border-radius:13px;box-shadow:0 12px 30px #0004;z-index:6}
#practice .pr-push strong{font:600 10px var(--sans)}#practice .pr-push p{font:9px/1.4 var(--sans);margin-top:4px}
#practice .pr-send-wire{position:absolute;inset:15% 0 auto;width:100%;height:180px;pointer-events:none;z-index:1}
#practice .pr-send-wire path{fill:none;stroke:var(--neon);stroke-width:1;stroke-dasharray:1}
#practice .pr-flight{left:18%;top:20%;z-index:5}
#practice .pr-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}
#practice .pr-result-card{perspective:1000px;min-width:0}
#practice .pr-flip{position:relative;transform-style:preserve-3d;display:grid}
#practice .pr-front,#practice .pr-back{padding:28px;min-height:290px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
#practice .pr-front h4,#practice .pr-back h4{font:500 25px/1.2 var(--sans);letter-spacing:-.025em;margin:25px 0 16px}
#practice .pr-front p,#practice .pr-back p{font:14px/1.7 var(--sans);color:#b4c7bb}
#practice .pr-turn{display:block;color:var(--neon);font-size:28px;margin-top:20px}
.animated #practice .pr-front,.animated #practice .pr-back{grid-area:1/1}
.animated #practice .pr-back{transform:rotateY(180deg)}
#practice .pr-skill-title{font:500 24px var(--sans);margin:45px 0 25px}
#practice .pr-skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:24px 40px}
#practice .pr-skill>div:first-child{display:flex;justify-content:space-between;font:11px var(--pr-mono)}
#practice .pr-skill-track{height:3px;background:#39ff9c15;margin-top:13px}
#practice .pr-skill-track i{display:block;height:100%;background:var(--neon);transform-origin:left}
#practice .pr-real-screen{max-width:1000px;margin:0 auto 35px}
#practice .pr-real-screen .photo{aspect-ratio:16/9}
#practice .pr-office{columns:3;column-gap:20px}
#practice .pr-office .photo-shell{break-inside:avoid;margin-bottom:25px}
#practice .pr-office .photo-shell:nth-child(even) .photo{aspect-ratio:4/5}
#practice .pr-all-code{border-top:1px solid #39ff9c30;margin-top:50px;padding-top:20px}
#practice .pr-all-code summary{font:12px var(--pr-mono);color:var(--neon);cursor:pointer;padding:12px 0}
#practice .pr-all-code>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-top:20px}
/* Statyczny stan jest kompletny również bez bibliotek. */
body:not(.animated) #practice .pr-motion-mask,body:not(.animated) #practice .pr-scan,body:not(.animated) #practice .pr-diff,body:not(.animated) #practice .pr-flash,body:not(.animated) #practice .pr-click-word,body:not(.animated) #practice .pr-mouse,body:not(.animated) #practice .pr-click-ring,body:not(.animated) #practice .pr-polaroid,body:not(.animated) #practice .pr-flight,body:not(.animated) #practice .pr-typing,body:not(.animated) #practice .pr-push{display:none}
body:not(.animated) #practice .pr-rain{display:none}
body:not(.animated) #practice .pr-code-deck>.pr-code-card{opacity:1}
body:not(.animated) #practice .pr-pipe-track{width:100%;min-width:0;flex-wrap:wrap}
body:not(.animated) #practice .pr-pipe-window{overflow:visible}
body:not(.animated) #practice .pr-wire{display:none}
body:not(.animated) #practice .pr-lab{align-items:start}
body:not(.animated) #practice .pr-log{height:auto;min-height:98px}
body:not(.animated) #practice .pr-flip{gap:12px}
@media(max-width:800px){
  #practice .pr-intro{grid-template-columns:1fr;gap:25px}
  #practice .pr-title{font-size:clamp(65px,13vw,105px)}
  #practice .pr-lab{grid-template-columns:1fr;gap:12px}
  #practice .pr-app{max-width:580px;width:100%;margin:auto}
  #practice .pr-code-deck{min-height:150px}
  .animated #practice .pr-code-deck>.pr-code-card{min-height:150px;max-width:580px;width:100%;justify-self:center;padding:13px}
  #practice .pr-code-card pre{font-size:9px;line-height:1.5}
  #practice .pr-code-card h4{font-size:8px;margin-bottom:8px}
  #practice .pr-send-layout{gap:6%}
  #practice .pr-result-grid{grid-template-columns:1fr}
  #practice .pr-front,#practice .pr-back{min-height:230px}
}
@media(max-width:600px){
  #practice .pr-heading{font-size:29px;margin:12px 0 20px}
  #practice .pr-heading-row{align-items:flex-start}
  #practice .pr-phase{font-size:7px;padding-top:16px}
  #practice .pr-note{font-size:7px;margin-top:12px}
  #practice .pr-chips{margin-top:25px;gap:7px}
  #practice .pr-chips>span{font-size:10px;padding:11px 13px}
  #practice .pr-node{width:190px;flex-basis:190px}
  #practice .pr-app-body{grid-template-columns:1fr}
  #practice .pr-camera{aspect-ratio:16/9}
  #practice .pr-controls{display:grid;grid-template-columns:55px 55px 1fr;gap:6px;padding:9px;border-left:0;border-top:1px solid #39ff9c20}
  #practice .pr-start,#practice .pr-stop{padding:6px;font-size:8px;grid-row:1/3;align-self:center}
  #practice .pr-switch{grid-column:3;font-size:6px}
  #practice .pr-status-caption{display:none}
  #practice .pr-status{grid-column:1/-1;font-size:7px;min-height:0}
  #practice .pr-bar{padding:11px;font-size:7px}
  #practice .pr-log{height:65px;padding:7px 11px}
  #practice .pr-log pre{font-size:6px;line-height:1.5;margin-top:3px}
  #practice .pr-log>span{font-size:6px}
  #practice .pr-diff{width:65px;height:45px}
  #practice .pr-diff>span{font-size:4px}
  #practice .pr-mouse{width:16px;height:21px}
  #practice .pr-polaroid,#practice .pr-flight{width:104px}
  #practice .pr-code-deck{min-height:125px}
  .animated #practice .pr-code-deck>.pr-code-card{min-height:125px}
  #practice .pr-code-card pre{font-size:8px;line-height:1.5}
  #practice .pr-send-layout{grid-template-columns:1fr;gap:16px}
  #practice .pr-source-tile{padding:10px 14px;gap:12px}
  #practice .pr-file-icon{font-size:24px}
  #practice .pr-source-tile h4{font-size:8px;margin-bottom:4px}
  #practice .pr-source-tile p{font-size:7px}
  #practice .pr-transfer-code{display:none}
  #practice .pr-send-status{font-size:8px;margin-top:9px;min-height:12px}
  #practice .pr-phone{width:248px;border-width:5px;border-radius:23px}
  #practice .pr-phone-header{padding:14px 13px 11px}
  #practice .pr-avatar{width:28px;height:28px}
  #practice .pr-chat{padding:17px 12px 22px;min-height:230px}
  #practice .pr-message{width:94%}
  #practice .pr-message p{font-size:10px}
  #practice .pr-push{padding:10px}
  #practice .pr-push strong{font-size:9px}#practice .pr-push p{font-size:8px}
  #practice .pr-send-wire{display:none}
  #practice .pr-flight{left:36%;top:5%}
  #practice .pr-typing{top:87px;font-size:8px}
  #practice .pr-office{columns:2;column-gap:12px}
  #practice .pr-office .photo-caption{font-size:7px}
  #practice .pr-real-screen .photo-caption{font-size:8px}
  body:not(.animated) #practice .pr-transfer-code{display:block}
}
@media(max-height:680px) and (min-width:801px){
  #practice #p3>.stage,#practice #p4>.stage{padding-top:80px;padding-bottom:55px}
  #practice .pr-heading{font-size:36px;margin:10px 0 18px}
  #practice .pr-lab{max-width:1050px;margin:auto}
  #practice .pr-phone{width:260px}
  #practice .pr-chat{min-height:230px;padding-bottom:20px}
  #practice .pr-phone-header{padding:14px}
  #practice .pr-transfer-code{margin-top:12px}
  #practice .pr-code-card pre{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  #practice .pr-rain{display:none}#practice .pr-rec{animation:none}
}


    /* Plakat funduszy UE — wyłącznie nowa scena przed 05 / Podsumowanie. */
    .eu-support{color:#f7f4ee;isolation:isolate}
    .eu-support .stage{isolation:isolate;align-items:stretch}
    .eu-support .eu-darkness{position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 32% 47%,#182126 0%,#090b0e 54%,#030405 100%);pointer-events:none}
    .eu-support .eu-content{position:relative;width:min(1250px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);align-items:center;gap:clamp(30px,6vw,96px);z-index:2}
    .eu-support .eu-poster{margin:0;min-width:0;position:relative;transform-origin:45% 60%;filter:drop-shadow(0 25px 55px #0009)}
    .eu-support .eu-poster img{height:auto;width:100%;aspect-ratio:1310/909;object-fit:contain;border:1px solid #ffffff21;border-radius:3px;background:#fff;box-shadow:0 0 0 8px #ffffff07}
    .eu-support .eu-poster figcaption{font:9px/1.8 var(--mono);text-transform:uppercase;letter-spacing:.15em;color:#e0c9a5;margin-top:17px;display:flex;justify-content:space-between;gap:16px}
    .eu-support .eu-copy{position:relative;min-width:0}
    .eu-support .eu-kicker{font:10px/1.7 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#d6ad76;margin-bottom:24px;display:flex;align-items:center;gap:14px}
    .eu-support .eu-kicker:before{content:'';height:1px;width:30px;background:#d6ad76}
    .eu-support .eu-copy h2{font:500 clamp(35px,4.4vw,67px)/1.06 var(--sans);letter-spacing:-.063em;max-width:590px;color:#fcfaf4}
    .eu-support .eu-rule{display:block;width:70px;height:1px;background:#d6ad76;margin:30px 0}
    .eu-support .eu-copy p.eu-description{max-width:520px;font:clamp(14px,1.4vw,19px)/1.72 var(--sans);color:#c8cfce;overflow-wrap:break-word}
    .eu-support .eu-plane{position:absolute;top:10%;left:3%;z-index:3;width:clamp(52px,6vw,85px);height:clamp(52px,6vw,85px);color:#e5bf84;pointer-events:none;transform-origin:center}
    .eu-support .eu-plane svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 12px #e5bf8450)}
    .eu-support .eu-flight-path{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.33}
    .eu-support .eu-flight-path path{fill:none;stroke:#d4ae79;stroke-width:1;stroke-dasharray:3 12}
    body.animated .eu-support .eu-darkness{opacity:0}
    body.animated .eu-support .eu-poster,body.animated .eu-support .eu-copy,body.animated .eu-support .eu-plane,body.animated .eu-support .eu-flight-path{opacity:0}
    @media(max-width:800px){
      .eu-support .stage{padding-top:94px;padding-bottom:70px}
      .eu-support .eu-content{grid-template-columns:1fr;gap:27px;text-align:center}
      .eu-support .eu-poster{max-width:min(550px,95%);justify-self:center}
      .eu-support .eu-poster figcaption{font-size:7px;margin-top:10px}
      .eu-support .eu-copy{justify-self:center}
      .eu-support .eu-copy h2{font-size:clamp(27px,7.2vw,46px);max-width:600px}
      .eu-support .eu-copy p.eu-description{font-size:clamp(12px,3.4vw,16px);line-height:1.58}
      .eu-support .eu-kicker{justify-content:center;margin-bottom:10px;font-size:9px}
      .eu-support .eu-rule{margin:14px auto}
      .eu-support .eu-plane{top:3%;left:0}
    }
    @media(max-width:420px){.eu-support .stage{padding:84px 22px 45px}.eu-support .eu-content{gap:23px}.eu-support .eu-copy h2{font-size:30px}.eu-support .eu-description{max-width:360px}}
    @media(max-height:630px) and (min-width:801px){.eu-support .stage{padding-top:75px;padding-bottom:55px}.eu-support .eu-copy h2{font-size:clamp(32px,4vw,55px)}.eu-support .eu-rule{margin:16px 0}}

    /* EPILOG */
    .conclusion-stage{align-items:center;text-align:center}.conclusion-stack{position:relative;width:100%;min-height:260px;display:grid;place-items:center;margin:30px 0}.conclusion{grid-area:1/1;font:500 clamp(40px,7vw,100px)/1.1 var(--sans);letter-spacing:-.055em;max-width:1050px}.conclusion em{font-family:var(--serif);font-weight:500;color:var(--rust)}.recap{display:flex;gap:clamp(25px,8vw,120px);margin-top:30px}.recap-stat strong{font-size:clamp(35px,5vw,70px);font-weight:500;letter-spacing:-.07em}.recap-stat .mono{margin-top:10px;font-size:8px}.finale .stage{align-items:center;text-align:center}.finale-title{font:italic 500 clamp(100px,23vw,340px)/1 var(--serif);letter-spacing:-.08em;color:var(--rust);position:relative;z-index:3}.finale-copy{max-width:450px;min-height:55px;font-size:16px;position:relative;z-index:3;margin:20px 0 27px}.finale .pill{border-color:#2b2a2540;z-index:5}.finale .pill:hover{background:#2b2a2509}.finale-credit{position:absolute;bottom:65px;font:9px var(--mono);opacity:.5;letter-spacing:.1em}.finale-orbit{position:absolute;inset:12% 13%;pointer-events:none}.orbit-photo{position:absolute;width:130px;opacity:.5}.orbit-photo:nth-child(1){top:0;left:0;transform:rotate(-15deg)}.orbit-photo:nth-child(2){top:0;right:0;transform:rotate(12deg)}.orbit-photo:nth-child(3){bottom:0;left:5%;transform:rotate(9deg)}.orbit-photo:nth-child(4){bottom:0;right:5%;transform:rotate(-9deg)}.orbit-photo .photo{aspect-ratio:4/5}.orbit-photo .photo-caption,.orbit-photo .placeholder-label{display:none}.confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}.lightbox{border:1px solid #ffffff20;background:#101714;color:#eee9df;width:min(95vw,1200px);max-height:92vh;padding:50px 20px 20px}.lightbox::backdrop{background:#030705eb;backdrop-filter:blur(12px)}.lightbox img{height:auto;max-height:73vh;object-fit:contain}.lightbox button{position:absolute;top:15px;right:20px;background:none;color:white;font:12px var(--mono)}.lightbox p{padding-top:12px;text-align:center;font:11px var(--mono)}
    @keyframes blink{50%{opacity:0}}@keyframes scrollLine{0%{transform:translateY(-30px)}100%{transform:translateY(65px)}}@keyframes breathe{50%{transform:translate(-8%,10%) scale(1.1)}}@keyframes waveDrift{to{transform:translateX(-50%)}}@keyframes mist{50%{transform:translateX(5%) scale(1.25)}}@keyframes bubble{to{transform:translateY(-65vh);opacity:0}}@keyframes codeRain{to{transform:translateY(150vh)}}@keyframes glitch{20%{transform:translate(3px,-1px);text-shadow:-5px 0 #bd4b3166}40%{transform:translate(-3px,1px);text-shadow:5px 0 #b9f87a66}60%{transform:translate(2px,0)}80%{transform:translate(-1px,0)}100%{transform:none;text-shadow:none}}.glitch{animation:glitch .65s steps(2,end)}
    /* Bez JS / bez CDN / ograniczony ruch: pełna opowieść pozostaje dostępna. */
    body:not(.animated) .hero-after{display:none}body:not(.animated) .stage{overflow:visible}body:not(.animated) .conclusion-stack{display:flex;flex-direction:column;gap:50px}body:not(.animated) .conclusion{font-size:clamp(30px,5vw,70px)}body:not(.animated) .curtain-panel{display:none}body:not(.animated) .collage{position:relative;inset:auto;margin:40px 0}body:not(.animated) .collage-note{position:static}body:not(.animated) .museum-track,body:not(.animated) .gallery-track{width:100%;overflow-x:auto;padding-bottom:30px;scroll-snap-type:x proximity}body:not(.animated) .bridge-door{display:none}body:not(.animated) .bridge-under{opacity:.15}body:not(.animated) .ripple-rings{display:none}
    @media(min-width:1800px){.stage{padding-left:max(var(--gutter),calc((100vw - 1560px)/2));padding-right:max(var(--gutter),calc((100vw - 1560px)/2))}}
    @media(max-width:900px){:root{--gutter:32px}.header-note{display:none}.dots{right:10px}.hero-title{font-size:min(17.3vw,24vh)}.hero-bottom{grid-template-columns:1fr 1fr}.hero-scroll{display:none}.hero-stamp{left:46%;bottom:28%;width:95px;height:95px}.hero-art{width:55vw;height:45vh;bottom:20%}.bologna-layout{gap:35px}.bologna-photos{height:48vh}.section-copy{font-size:15px}.photo-caption{font-size:8px}.scene-top{top:95px}.orbit-photo{width:95px}}
    @media(max-width:600px){:root{--gutter:24px}.site-header{padding-top:21px}.brand{font-size:12px}.menu-button{font-size:9px}.menu-button .menu-text{display:none}.stage{padding-top:104px;padding-bottom:76px}.scene-top{top:85px}.scene-index{font-size:8px}.dots{display:none}.chapter-count{bottom:18px;font-size:9px}.sound-note{bottom:20px;font-size:8px}.chapter-label{display:none}.hero .stage{padding-top:22vh}.hero-meta .edition{font-size:8px}.eyebrow{font-size:8px}.hero-title{font-size:18vw;margin-top:32px;letter-spacing:-.085em;margin-left:-3px}.hero-title .year{letter-spacing:-.075em}.hero-bottom{gap:20px;padding-bottom:15px}.hero-description{font-size:14px;max-width:170px}.hero-person .mono{font-size:8px}.hero-person .small{font-size:11px}.hero-art{width:74vw;height:37vh;bottom:25%;right:-15%;opacity:.45}.hero-stamp{width:76px;height:76px;left:12%;bottom:30%;font-size:7px}.hero-coordinate{top:43%;right:6%;font-size:7px}.hero-after p{padding:0 25px;font-size:12vw}.bologna-layout{display:flex;flex-direction:column;gap:20px;align-items:stretch}.bologna-text .section-heading{font-size:21vw;margin:20px 0 14px}.bologna-text .serif{font-size:25px;margin-bottom:13px}.bologna-text .section-copy{font-size:13px}.bologna-text .section-copy p+p{margin-top:10px}.bologna-photos{height:27vh;width:70%;margin-left:auto;margin-top:10px}.bologna-photos .photo-shell{width:70%}.bologna-photos .photo-shell:nth-child(even){width:62%;top:20%}.facts-layout{grid-template-columns:1.15fr 1fr;gap:25px}.fact{padding:18px 0}.fact-value{font-size:14vw;gap:6px}.fact-label{font-size:10px}.tower-art{height:42vh}.tower-caption{font-size:7px}.collage{inset:22% 7% 20%;gap:9px;grid-template-columns:repeat(2,1fr)}.collage .photo-shell:nth-child(2n){margin-top:25px}.collage .photo-shell:nth-child(3n){margin-top:0}.collage .photo{aspect-ratio:4/3}.collage-stage .section-heading{font-size:17vw}.collage-stage .collage-note{font-size:10px;bottom:11%}.bridge-title{font-size:11vw}.firenze-title{font-size:21vw}.firenze-sub{font-size:8px;gap:20px;line-height:1.6}.firenze-rose{width:100vw;height:100vw}.museum-heading{font-size:35px}.museum-track{gap:45px}.museum-item{width:62vw}.museum-item .photo{max-height:45vh}.florence-prose .stage{grid-template-columns:1fr;gap:20px}.florence-prose .reveal-text{font-size:7.3vw;line-height:1.4}.rose-wrap{width:45%;margin:auto}.curtain-label h3{font-size:14vw}.venice-title{font-size:23vw}.venice-sub{font-size:14px;padding:0 30px}.venice-item{width:60vw}.venice-item .photo{max-height:46vh}.gallery-track{gap:40px;margin-top:40px}.venice-gallery .section-heading{font-size:13vw}.gondola-story{font-size:9vw}.gondola-note{font-size:12px}.gondola-water{bottom:19%}.gondola-svg{width:140px}.ripple-stage{grid-template-columns:1fr;gap:24px}.ripple-copy h3{font-size:12vw;margin:15px 0}.ripple-copy p{font-size:13px}.ripple-frame{width:64%;margin:auto}.ripple-frame .photo{aspect-ratio:4/3}.conclusion{font-size:11vw}.conclusion-stack{min-height:240px}.recap{gap:30px}.recap-stat strong{font-size:12vw}.recap-stat .mono{font-size:7px}.finale-title{font-size:25vw}.finale-copy{font-size:13px;max-width:290px}.finale-orbit{inset:20% 8%}.orbit-photo{width:64px}.finale-credit{font-size:7px;bottom:67px}.water-photo{filter:none}.vignette{box-shadow:inset 0 0 70px #00000009}.grain{opacity:.035}}
    @media(max-height:650px) and (min-width:601px){.stage{padding-top:85px;padding-bottom:60px}.scene-top{top:75px}.hero .stage{padding-top:110px}.hero-title{font-size:15vw;margin-top:20px}.hero-stamp{display:none}.museum-item .photo{max-height:53vh}.venice-item .photo{max-height:48vh}.section-heading{font-size:10vw}.fact{padding:12px 0}.fact-value{font-size:8vh}.conclusion-stack{min-height:180px}.finale-title{font-size:27vh}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.loader,.cursor,.ambient-canvas,.confetti{display:none!important}.animated .scene{height:auto!important}.animated .scene>.stage{position:relative;height:auto;min-height:100svh}.grain{opacity:.025}}