:root{--paper:#efe4cf;--ink:#1c1a17;--red:#a6322a;--navy:#1f3550;--gold:#c8a15a}
*{box-sizing:border-box;margin:0;padding:0}body{background:var(--paper);color:var(--ink);font:400 17px/1.6 Oswald,sans-serif;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit}
.grain{position:fixed;inset:0;pointer-events:none;z-index:40;opacity:.22;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 4vw;background:var(--ink);border-bottom:6px double var(--gold)}.logo img{height:44px;width:auto}
nav{display:flex;gap:28px}nav a{color:var(--paper);text-decoration:none;font:400 22px 'Bebas Neue';letter-spacing:.1em}nav a:hover{color:var(--gold)}
.call{background:var(--red);color:#fff;text-decoration:none;font:400 20px 'Bebas Neue';letter-spacing:.1em;padding:8px 20px;border:2px solid var(--paper);outline:2px solid var(--red)}
.poster{padding:50px 4vw}.frame{max-width:1100px;margin:auto;border:4px solid var(--ink);outline:2px solid var(--ink);outline-offset:6px;padding:40px 5vw 50px;text-align:center;position:relative}
.est{font:400 18px 'Special Elite';letter-spacing:.12em;color:var(--red)}
h1{margin:16px 0 26px;line-height:.9}h1 span{display:block;line-height:1.1}.s2{line-height:1.14!important}.s1{font:400 clamp(44px,6vw,90px) Rye,serif;color:var(--navy)}.s2{font:400 clamp(100px,15vw,230px)/.85 'Bebas Neue';color:var(--red);letter-spacing:.02em;text-shadow:5px 5px 0 var(--ink)}.s3{font:600 clamp(20px,2.2vw,32px) Oswald;text-transform:uppercase;letter-spacing:.3em;margin-top:0}
.pimg{border:4px solid var(--ink);filter:sepia(.35) contrast(1.05)}.pimg img{width:100%;aspect-ratio:21/9;object-fit:cover}
.stamps{display:flex;justify-content:center;gap:30px;margin:-70px 0 20px;position:relative}.stamp{width:140px;height:140px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;font:400 15px/1.1 'Bebas Neue';letter-spacing:.08em;color:var(--paper);border:4px dashed var(--paper);outline:4px solid currentColor;box-shadow:0 0 0 8px var(--c)}
.stamp b{font:400 46px 'Bebas Neue';line-height:1}.stamp.r{background:var(--red);--c:var(--red);transform:rotate(-8deg)}.stamp.n{background:var(--navy);--c:var(--navy);transform:rotate(5deg)}.stamp.k{background:var(--ink);--c:var(--ink);transform:rotate(-3deg)}
.tag{font:400 18px 'Special Elite';margin:10px auto 24px;max-width:640px}
.btn{display:inline-block;background:var(--ink);color:var(--paper);font:400 26px 'Bebas Neue';letter-spacing:.14em;padding:14px 40px;border:0;text-decoration:none;cursor:pointer;box-shadow:6px 6px 0 var(--red);transition:transform .15s,box-shadow .15s}.btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--red)}
.board-w{background:var(--ink);padding:80px 4vw}.board{max-width:1000px;margin:auto;background:#262b28;border:14px solid #6b4a2e;box-shadow:inset 0 0 80px rgba(0,0,0,.6),0 20px 50px rgba(0,0,0,.5);padding:50px 6%;color:#f1ece0;text-align:center}
.board h2{font:400 clamp(40px,5vw,70px) Rye;color:#f1ece0}.bsub{font:400 20px 'Special Elite';color:var(--gold);margin-bottom:26px}
.board ul{list-style:none;text-align:left}.board li{display:flex;align-items:baseline;gap:12px;font:400 clamp(22px,2.4vw,32px) 'Bebas Neue';letter-spacing:.06em;padding:8px 0}.board li i{flex:1;border-bottom:3px dotted rgba(241,236,224,.5);min-width:20px}.board li b{font-weight:400;color:var(--gold)}
.pk{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.pk div{border:2px solid rgba(241,236,224,.6);padding:20px;border-radius:4px}.pk h3{font:400 30px Rye}.pk b{display:block;font:400 40px 'Bebas Neue';color:var(--gold)}.pk p{font-size:15px;color:#cfc8b8}.chalk{font:400 16px 'Special Elite';color:#b9b2a3;margin-top:24px}
section{padding:90px 4vw}.ribbon{text-align:center;margin-bottom:20px}.ribbon span{display:inline-block;background:var(--red);color:var(--paper);font:400 clamp(26px,3vw,44px) 'Bebas Neue';letter-spacing:.08em;padding:10px 40px;clip-path:polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%)}
.lead{max-width:720px;margin:0 auto 40px;text-align:center}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.cards figure{background:#fff;padding:12px 12px 4px;box-shadow:0 10px 25px rgba(0,0,0,.18);transition:transform .3s}.cards figure:nth-child(1){transform:rotate(-2deg)}.cards figure:nth-child(3){transform:rotate(2deg)}.cards figure:hover{transform:rotate(0) scale(1.03)}
.cards img{aspect-ratio:1;object-fit:cover;width:100%;filter:sepia(.3)}figcaption{font:400 28px Rye;text-align:center;padding:8px 0}
.quotes{background:var(--navy);color:var(--paper)}blockquote{font:400 22px/1.35 'Special Elite';border-top:3px solid var(--gold);padding-top:16px}cite{display:block;font:400 22px 'Bebas Neue';letter-spacing:.1em;color:var(--gold);margin-top:10px;font-style:normal}
.visit{display:grid;grid-template-columns:1fr 1fr;gap:4vw;max-width:1100px;margin:auto}.ticket{border:3px dashed var(--ink);padding:30px;background:#f6eedd}.ticket h2{font:400 54px Rye;color:var(--red)}.ticket p{margin-top:12px;font-size:19px}.sm{font-family:'Special Elite';font-size:15px!important}
form{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start}label{font:400 20px 'Bebas Neue';letter-spacing:.1em}input,select{display:block;width:100%;margin-top:4px;padding:12px;border:3px solid var(--ink);background:#fbf6ea;font:400 17px Oswald}form .btn{grid-column:1/3}
footer{text-align:center;background:var(--ink);color:#b9b2a3;padding:24px 4vw 70px;font:400 15px 'Special Elite'}
.badge{position:fixed;right:12px;bottom:12px;z-index:50;background:var(--paper);border:2px solid var(--ink);font:400 15px 'Bebas Neue';letter-spacing:.08em;padding:4px 12px;text-decoration:none}
.fd{opacity:0;transition:opacity .9s ease}.fd.in{opacity:1}
@media(max-width:860px){nav{display:none}.logo img{height:34px}.call{font-size:17px;padding:6px 14px}.poster{padding:30px 4vw}.frame{padding:26px 5vw 34px}.pimg img{aspect-ratio:4/3}.stamps{gap:10px;margin-top:-50px}.stamp{width:96px;height:96px;font-size:11px}.stamp b{font-size:30px}
.pk,.cards,.quotes,.visit{grid-template-columns:1fr}.board{border-width:8px;padding:30px 5%}.board li{font-size:20px}form{grid-template-columns:1fr}form .btn{grid-column:1}section{padding:60px 5vw}.s2{text-shadow:3px 3px 0 var(--ink)}}
@media(prefers-reduced-motion:reduce){.fd{opacity:1;transition:none}*{transition:none!important}}
/* animacje v2 */
.pole{position:absolute;top:40px;width:26px;height:190px;border:3px solid var(--ink);border-radius:13px;overflow:hidden;background:#fff}.pole.l{left:22px}.pole.r{right:22px}
.pole i{position:absolute;left:0;right:0;top:-60px;bottom:0;background:repeating-linear-gradient(-45deg,var(--red) 0 12px,#fff 12px 24px,var(--navy) 24px 36px,#fff 36px 48px);animation:pole 1.6s linear infinite}
@keyframes pole{to{transform:translateY(67.88px)}}
h1 span{opacity:0;transform:translateY(40px);animation:rise .9s cubic-bezier(.2,.8,.2,1) forwards}.s1{animation-delay:.1s!important}.s2{animation-delay:.3s!important}.s3{animation-delay:.55s!important}
@keyframes rise{to{opacity:1;transform:none}}
.stamp{animation:stamp .6s cubic-bezier(.3,1.6,.5,1) both}.stamp.r{animation-delay:.9s}.stamp.n{animation-delay:1.05s}.stamp.k{animation-delay:1.2s}
@keyframes stamp{from{opacity:0;scale:2.2}to{opacity:1;scale:1}}
.stamp:hover{scale:1.08;transition:scale .2s}
.fd{transform:translateY(30px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}.fd.in{transform:none}
.cards figure.fd.in:nth-child(1){transform:rotate(-2deg)}.cards figure.fd.in:nth-child(3){transform:rotate(2deg)}.cards figure.fd.in:hover{transform:rotate(0) scale(1.03)}
.board li{transition:color .2s,padding .25s}.board li:hover{color:var(--gold);padding-left:10px}.board li:hover b{color:#fff}
.pk div{transition:transform .25s,background .25s,border-color .25s}.pk div:hover{transform:translateY(-6px);background:rgba(200,161,90,.12);border-color:var(--gold)}
.call{animation:ring 4s ease-in-out 2s infinite}@keyframes ring{0%,90%,100%{transform:none}92%{transform:rotate(-4deg)}94%{transform:rotate(4deg)}96%{transform:rotate(-3deg)}}
@media(max-width:860px){.pole{display:none}}
@media(prefers-reduced-motion:reduce){h1 span,.stamp,.call,.pole i{animation:none!important;opacity:1;transform:none}.fd{transform:none}}

/* v3: prawdziwy słupek */
.pole{position:absolute;top:30px;width:34px;height:230px;border:0;border-radius:0;overflow:visible;background:none;display:flex;flex-direction:column;align-items:center}
.pole .cap{display:block;width:34px;background:linear-gradient(90deg,#6d6d6d,#f4f4f4 30%,#fff 40%,#9a9a9a 70%,#4a4a4a);border:2px solid var(--ink);position:relative}
.pole .cap.top{height:16px;border-radius:4px 4px 2px 2px}.pole .cap.top em{position:absolute;left:5px;right:5px;bottom:100%;height:20px;border:2px solid var(--ink);border-bottom:0;border-radius:50% 50% 0 0/100% 100% 0 0;background:radial-gradient(circle at 35% 30%,#fff,#c9c9c9 40%,#666)}
.pole .cap.bot{height:24px;border-radius:2px 2px 6px 6px;width:38px}
.pole .glass{display:block;position:relative;width:26px;height:170px;overflow:hidden;border-left:2px solid var(--ink);border-right:2px solid var(--ink);background:#fff}
.pole .glass i{position:absolute;left:0;right:0;top:0;height:400px;background:repeating-linear-gradient(-40deg,var(--red) 0 10px,#fff 10px 20px,var(--navy) 20px 30px,#fff 30px 40px);animation:poleUp 1.4s linear infinite;inset:auto 0 -120px 0}
.pole .glass::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(255,255,255,0) 25%,rgba(255,255,255,.85) 38%,rgba(255,255,255,0) 50%,rgba(0,0,0,.08) 75%,rgba(0,0,0,.4))}
@keyframes poleUp{from{transform:translateY(0)}to{transform:translateY(-52.2px)}}
/* v3: pieczątki */
.stamp{position:relative;border:0;outline:0;box-shadow:none;background:none!important;transition:scale .25s cubic-bezier(.3,1.6,.5,1)}
.stamp .saw{position:absolute;inset:-14px;width:calc(100% + 28px);height:calc(100% + 28px);z-index:-1;animation:spin 18s linear infinite}.stamp .saw path{fill:var(--c);stroke:var(--paper);stroke-width:1.2;stroke-dasharray:2 1.5}
.stamp::before{content:"";position:absolute;inset:6px;border-radius:50%;border:2px dashed var(--paper);z-index:-1;animation:spin 12s linear infinite reverse}
.stamp.n .saw{animation-duration:14s;animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.stamp:hover{scale:1.15}.stamp:hover .saw{animation-duration:3s}
.stamp.bump{animation:bump .6s cubic-bezier(.3,1.8,.5,1)}@keyframes bump{50%{scale:1.2}}
/* v3: opinie */
.quotes{position:relative;overflow:hidden;background:radial-gradient(circle at 15% 20%,rgba(200,161,90,.18),transparent 40%),repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 2px,transparent 2px 14px),var(--navy)}
.qhead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;max-width:1200px;margin:0 auto 40px}
.qhead img{width:130px;height:130px;object-fit:cover;border-radius:50%;border:5px solid var(--gold);justify-self:end;box-shadow:0 0 0 6px var(--navy),0 0 0 8px var(--gold)}
.score{display:flex;align-items:center;gap:14px}.score>b{font:400 84px/1 'Bebas Neue';color:var(--gold)}.score small{display:block;font:400 15px 'Special Elite';color:#d9cfb9}.st{color:#f5b301;letter-spacing:.12em;font-size:20px}
.marq{overflow:hidden;mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.track{display:flex;gap:24px;width:max-content;animation:marq 60s linear infinite}.marq:hover .track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(calc(-50% - 12px))}}
.rv{position:relative;width:330px;flex:none;background:var(--paper);color:var(--ink);padding:28px 24px 20px;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--red);transition:transform .25s}.rv:nth-child(even){transform:rotate(1.2deg)}.rv:nth-child(odd){transform:rotate(-1deg)}.rv:hover{transform:translateY(-8px) rotate(0)}
.rv .qm{position:absolute;top:-30px;right:16px;font:400 110px/1 Rye;color:var(--red)}.rv p{font:400 17px/1.45 'Special Elite';margin:10px 0 16px;min-height:75px}
.rv footer{display:flex;align-items:center;gap:10px;background:none;padding:0;color:var(--ink);text-align:left;border-top:2px dotted rgba(0,0,0,.3);padding-top:12px}.rv footer b{font:400 22px 'Bebas Neue';letter-spacing:.08em}.rv footer small{margin-left:auto;font:400 13px Oswald;color:#7a6f5c}
.av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--paper);font:400 22px 'Bebas Neue';border:2px solid var(--gold)}.rv:nth-child(3n+2) .av{background:var(--red)}.rv:nth-child(3n) .av{background:var(--ink)}
.qbadges{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:44px}.qbadges span{border:2px solid var(--gold);color:var(--gold);font:400 20px 'Bebas Neue';letter-spacing:.1em;padding:6px 18px;border-radius:30px}
.quotes .ribbon{margin:0}
@media(max-width:860px){.qhead{grid-template-columns:1fr;justify-items:center;text-align:center}.qhead img{justify-self:center;order:3;width:100px;height:100px}.score{order:2}.rv{width:270px}}
@media(prefers-reduced-motion:reduce){.track,.saw,.stamp::before,.pole .glass i{animation:none!important}}
.stamp{isolation:isolate}
.poster{overflow:hidden}@media(max-width:860px){.stamp{width:84px;height:84px}.stamp .saw{inset:-9px;width:calc(100% + 18px);height:calc(100% + 18px)}.stamps{gap:22px}}
.track{padding:40px 0 16px}.rv .qm{top:-34px}
