@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/barlow-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/barlow-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/barlow-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/barlow-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/barlow-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/barlow-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/barlow-800-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/barlow-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Układ: zdjęcia na całą szerokość, bez ramek i odstępów, jedno pod drugim. Teksty leżą na zdjęciach. Pasek menu na środku u góry, informacje na dole pierwszego ekranu. */
:root{
  --ink:#000000;
  --squares:linear-gradient(rgba(0,0,0,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.10) 1px,transparent 1px);
  --paper:#FFFFFF;
  --accent:#F1EB3C;
  --magenta:#E640D8;
  --font:'Barlow','DIN Alternate','Helvetica Neue',Arial,sans-serif;
  --gutter-l:max(16px,env(safe-area-inset-left,0px));
  --gutter-r:max(16px,env(safe-area-inset-right,0px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.5}
a{color:inherit}
svg{display:block}
:focus-visible{outline:3px solid var(--magenta);outline-offset:2px}
h1,h2,h3,p{margin:0}
.label{font-size:.75rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}

/* "zakreślacz" */
.hl{background-color:var(--accent);background-image:var(--squares);background-size:4px 4px;color:var(--ink);padding:.04em .3em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.line{margin-top:5px;line-height:1.55}
.line:first-child{margin-top:0}

.btn{display:inline-block;background:var(--ink);color:var(--paper);padding:.8rem 1.3rem;text-decoration:none;text-transform:uppercase;font-weight:600;font-size:.85rem;letter-spacing:.07em}
.btn:hover{background:var(--magenta);color:var(--ink)}

/* pasek menu: bez tła, na środku u góry, bezpośrednio na zdjęciu */
.bar{position:fixed;z-index:50;top:calc(env(safe-area-inset-top,0px) + 10px);left:50%;transform:translateX(-50%);color:#fff;white-space:nowrap}
.bar-menu{display:flex;align-items:center;gap:.65rem;background:none;border:0;color:inherit;font:inherit;font-weight:500;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;padding:.7rem 1rem;cursor:pointer;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.bar-menu svg{width:20px;height:20px;filter:drop-shadow(0 1px 4px rgba(0,0,0,.5))}
.bar-menu:hover span{text-decoration:underline;text-underline-offset:5px}
.bar.ink{color:var(--ink)}
.bar.ink .bar-menu{text-shadow:none}
.bar.ink .bar-menu svg{filter:none}
.lang{display:flex;gap:.5rem}
.lang button{font:inherit;font-weight:600;font-size:.85rem;letter-spacing:.07em;border:1.5px solid var(--ink);background:transparent;color:var(--ink);padding:.35rem .8rem;cursor:pointer}
.lang button.on{background:var(--ink);color:var(--accent)}

/* nakładka menu: żółte tło z drobną siatką kwadratów, wysuwa się z góry */
.overlay{position:fixed;inset:0;z-index:60;color:var(--ink);background-color:var(--accent);background-image:var(--squares);background-size:4px 4px;display:flex;flex-direction:column;overflow-y:auto;padding:calc(env(safe-area-inset-top,0px) + 10px) var(--gutter-r) calc(env(safe-area-inset-bottom,0px) + 28px) var(--gutter-l);transform:translateY(-100%);visibility:hidden;transition:transform .55s cubic-bezier(.7,0,.2,1),visibility 0s .55s}
.overlay.open{transform:none;visibility:visible;transition:transform .55s cubic-bezier(.7,0,.2,1)}
.overlay .top{display:flex;justify-content:center}
.overlay .bar-menu{color:var(--ink);text-shadow:none}
.overlay .bar-menu svg{filter:none}
.overlay nav{width:100%;max-width:1240px;margin:2rem auto 0;padding-left:clamp(0px,14vw,200px)}
.overlay nav a{display:block;width:fit-content;font-size:clamp(2.2rem,7vw,4.6rem);font-weight:400;line-height:1.12;text-decoration:none;padding:.2rem 0;opacity:0;transform:translateY(22px);transition:opacity .4s ease,transform .5s ease}
.overlay.open nav a{opacity:1;transform:none}
.overlay.open nav a:nth-child(1){transition-delay:.25s}
.overlay.open nav a:nth-child(2){transition-delay:.32s}
.overlay.open nav a:nth-child(3){transition-delay:.39s}
.overlay.open nav a:nth-child(4){transition-delay:.46s}
.overlay.open nav a:nth-child(5){transition-delay:.53s}
.overlay nav a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:7px}
.overlay .foot{margin:auto auto 0;width:100%;max-width:1240px;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;padding-top:2rem}
.logo{position:absolute;z-index:5;top:calc(env(safe-area-inset-top,0px) + 14px);left:var(--gutter-l);color:#fff;font-weight:600;line-height:.95;text-transform:uppercase;font-size:1.05rem;text-shadow:0 1px 8px rgba(0,0,0,.35);text-decoration:none}
.logo small{display:block;font-weight:400;text-transform:none;font-size:.9rem}
.logo svg{display:block;width:clamp(88px,8vw,128px);height:auto;overflow:visible}

/* panele ze zdjęciem: bez ramek, bez odstępów */
.panel{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(480px,76vw,740px);overflow:hidden;background:#333}
.photo{position:absolute;inset:0}
.photo svg{width:100%;height:100%}
.photo img{display:block;width:100%;height:100%;object-fit:cover}
.ph-label{position:absolute;z-index:3;right:var(--gutter-r);top:4.6rem;color:#fff;background:rgba(0,0,0,.55);font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;padding:.25rem .5rem;max-width:70%}
.tag{position:absolute;z-index:3;left:0;top:1.2rem;background:var(--magenta);color:var(--ink);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .65rem .3rem var(--gutter-l)}
.text{position:relative;z-index:2;width:100%;max-width:1240px;margin:0 auto;padding:7rem var(--gutter-r) 2.2rem var(--gutter-l)}
.text .box{max-width:620px}
.panel h2{font-size:clamp(1.8rem,5vw,3rem);font-weight:400;line-height:1.2;margin-bottom:.5rem}
.panel .sub{font-size:1.1rem;margin-bottom:1rem}
.panel .btn{margin-top:1rem}
.num{font-weight:700}

/* pierwszy ekran */
.hero{min-height:560px;min-height:clamp(560px,100svh,880px)}
.hero h1{font-size:clamp(2.1rem,6.2vw,3.6rem);font-weight:400;line-height:1.15;margin-bottom:.5rem}
.hero .sub{margin-bottom:1rem}
.hero .text{padding-bottom:1.6rem}
.facts{position:relative;z-index:2;background:#fff;color:var(--ink)}
.facts .in{max-width:1240px;margin:0 auto;padding:0 var(--gutter-r) env(safe-area-inset-bottom,0px) var(--gutter-l);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.facts .cell{padding:.95rem .8rem .95rem 0}
.facts .cell+.cell{padding-left:1rem;border-left:1px solid #d9d9d9}
.facts .label{display:block;color:#666;margin-bottom:.1rem}
.facts strong,.facts .val{font-size:1.2rem;font-weight:500;line-height:1.25;display:block}
@media(max-width:560px){
  .facts .cell{padding:.8rem .5rem .8rem 0}
  .facts .cell+.cell{padding-left:.7rem}
  .facts strong,.facts .val{font-size:.98rem}
  .facts .label{font-size:.66rem}
}

footer{background:var(--ink);color:var(--paper);padding:2.6rem 0 1.6rem;font-size:.95rem}
footer .in{max-width:1240px;margin:0 auto;padding:0 var(--gutter-r) 0 var(--gutter-l)}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
footer .label{display:block;color:var(--accent);margin-bottom:.5rem}
footer a{display:block;text-decoration:none;padding:.15rem 0}
footer a:hover{color:var(--accent)}
footer .copy{margin-top:2rem;padding-top:1rem;border-top:1px solid #333;color:#aaa;font-size:.85rem}
@media(max-width:700px){footer .cols{grid-template-columns:1fr}}
/* bilety i cennik: minimalistycznie */
[hidden]{display:none!important}
.tickets{background:#fff;color:var(--ink);padding:4.5rem 0}
.tickets .in{max-width:920px;margin:0 auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
.tickets h2{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:400;margin:.3rem 0 .4rem}
.tickets .lead{color:#555;margin:0 0 2rem;font-size:1.1rem}
.trow{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.6rem 1.6rem;padding:1.05rem 0;border-top:1px solid #d9d9d9}
.trow:last-of-type{border-bottom:1px solid #d9d9d9}
.trow .nm{font-size:1.25rem}
.trow .nm small{display:block;font-size:.85rem;color:#666;margin-top:.1rem}
.trow .pr{font-size:1.25rem;font-weight:600;min-width:7ch;text-align:right}
.trow .ask{font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.07em;min-width:8.5rem;text-align:right}
.step{display:flex;align-items:center;gap:.5rem}
.step button{width:2.5rem;height:2.5rem;border:1.5px solid var(--ink);background:#fff;color:var(--ink);font:inherit;font-size:1.3rem;line-height:1;cursor:pointer}
.step button:hover{background:var(--accent)}
.step output{min-width:2ch;text-align:center;font-weight:600;font-size:1.15rem}
.tbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.8rem}
.tbar .sum{font-size:1.7rem}
.tbar .sum b{font-weight:600}
.btn[disabled]{opacity:.3;cursor:not-allowed}
.btn[disabled]:hover{background:var(--ink);color:var(--paper)}
.tmsg{margin:1rem 0 0;display:inline-block;background-color:var(--accent);background-image:var(--squares);background-size:4px 4px;padding:.5rem .8rem}
.tnote{margin:.9rem 0 0;font-size:.85rem;color:#666}
@media(max-width:560px){
  .trow{grid-template-columns:1fr auto}
  .trow .step{grid-column:1/-1;justify-content:flex-end}
  .trow .ask{grid-column:1/-1;text-align:right}
}

/* bilety i cennik w układzie Bookero */
.tgrid{display:grid;grid-template-columns:1fr 1.15fr;gap:3rem;align-items:start}
@media(max-width:900px){.tgrid{grid-template-columns:1fr;gap:2.5rem}}
.tickets .in{max-width:1180px}
.plist h3{font-size:1.5rem;font-weight:400;margin:0 0 .6rem}
.prow{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid #d9d9d9}
.prow:last-of-type{border-bottom:1px solid #d9d9d9}
.prow .nm{font-size:1.2rem}
.prow .nm small{display:block;font-size:.85rem;color:#666;margin-top:.1rem}
.prow .pr{font-weight:600;font-size:1.2rem;text-align:right;white-space:nowrap}
.prow .ask{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.07em}
.book{border:1.5px solid var(--ink);background:#fff}
.bk-head{background:var(--ink);color:#fff;padding:1rem 1.3rem;font-size:1.25rem}
.bk-step{padding:.2rem 1.3rem 1.6rem}
.book h3{font-size:1.1rem;font-weight:500;margin:1.5rem 0 .5rem}
.bk-meta{margin:0;font-size:.9rem;color:#444}
.book label{display:block;font-size:.9rem;font-weight:600;margin:1rem 0 0}
.book label span{display:block;margin-bottom:.3rem}
.book input[type=date],.book select{width:100%;box-sizing:border-box;font:inherit;font-size:1.05rem;padding:.7rem .8rem;border:1.5px solid #bbb;background:#fff;color:var(--ink);border-radius:0}
.book input[type=date]{margin-top:.3rem}
.slots{display:flex;flex-wrap:wrap;gap:.5rem}
.slot{font:inherit;font-weight:600;padding:.55rem .8rem;border:1.5px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer}
.slot:hover:not(:disabled){background:var(--accent)}
.slot[aria-pressed="true"]{background:var(--ink);color:var(--accent)}
.slot:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed;border-color:#999}
.cnt-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
@media(max-width:560px){.cnt-grid{grid-template-columns:1fr}}
.bk-req{font-size:.85rem;color:#666;margin:1.1rem 0}
.bk-err{color:#b00020;font-weight:600;margin:.8rem 0 0}
dl.sum{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;margin:0}
dl.sum dt{color:#555}
dl.sum dd{margin:0;font-weight:600;text-align:right}
.sum2{font-size:1.6rem;margin-top:1rem}
.sum2 b{font-weight:600}
.bk-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.3rem}
.btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--ink)}
.btn.ghost:hover{background:var(--accent);color:var(--ink)}

/* opinie */
.reviews{background:#f2f1ec;color:var(--ink);padding:4.5rem 0}
.reviews .in{max-width:1240px;margin:0 auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
.reviews h2{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:400}
.first{font-size:clamp(1.5rem,3.4vw,2.4rem);line-height:1.25;margin:1.4rem 0 .4rem;max-width:30rem}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;margin-top:2rem}
.rcard{margin:0;border-top:2px solid var(--ink);padding-top:1rem}
.stars{letter-spacing:.18em;font-size:1.15rem}
.rcard p{font-size:1.25rem;line-height:1.4;margin:.7rem 0 1rem}
.rcard .who{font-size:.85rem;color:#555;text-transform:uppercase;letter-spacing:.08em;font-weight:600}
@media(max-width:800px){.rgrid{grid-template-columns:1fr;gap:1.8rem}}

/* nasze inne atrakcje: zdjęcia bez odstępów, tytuł na zdjęciu */
.more{position:relative;background:#000}
.more h2{position:absolute;z-index:4;top:calc(1.6rem);left:var(--gutter-l);right:var(--gutter-r);font-size:clamp(2rem,5vw,3.8rem);font-weight:400;line-height:1.25}
.more .slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.more .slides::-webkit-scrollbar{display:none}
.more .sl-ctl{position:absolute;z-index:5;left:var(--gutter-l);bottom:1.4rem;display:flex;align-items:center;gap:.5rem}
.more .sl-ctl button{width:2.9rem;height:2.9rem;border:0;background:#000;color:#fff;font:inherit;font-size:1.3rem;line-height:1;cursor:pointer}
.more .sl-ctl button:hover{background:var(--magenta);color:#000}
.more .sl-ctl .cnt{margin-left:.6rem;font-weight:600;letter-spacing:.08em;background-color:var(--accent);background-image:var(--squares);background-size:4px 4px;color:#000;padding:.35rem .6rem}
.more .tile{position:relative;flex:0 0 100%;scroll-snap-align:start;display:flex;align-items:flex-end;min-height:clamp(480px,50vw,740px);color:var(--ink);text-decoration:none;overflow:hidden}
.more .tile .cap{position:relative;z-index:2;padding:0 var(--gutter-r) 5.6rem var(--gutter-l);line-height:1.7}
.more .tile .nm{font-size:clamp(1.7rem,3.4vw,3.2rem)}
.more .tile .go{font-size:1.15rem;margin-top:.3rem}
.more .tile:hover .go .hl{text-decoration:underline}
.more .tile .photo{transition:transform .6s ease}
.more .tile:hover .photo{transform:scale(1.04)}
.more .ph-label{top:auto;bottom:0;right:0}
@media(max-width:800px){
  .more .tile{min-height:120vw}
  .more h2{top:4.4rem}
}
.g-bf{background:linear-gradient(160deg,#2f8f5b,#f0a03c)}
.g-mi{background:linear-gradient(160deg,#4b3b9a,#d2557f)}
.g-wf{background:linear-gradient(160deg,#1f7fb0,#7fd1d9)}

/* podstrony: blog i galeria */
.panel.sub{min-height:clamp(380px,48vw,560px)}
.panel.sub h1{font-size:clamp(2.8rem,8vw,6rem);font-weight:400;line-height:1.1;margin-bottom:.6rem}
.back{display:inline-block;margin-bottom:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;text-decoration:none}
.back:hover{text-decoration:underline}
.pgrid{display:grid;grid-template-columns:repeat(2,1fr)}
.post{min-height:clamp(400px,46vw,560px)}
.post h3{font-size:clamp(1.5rem,3vw,2.4rem);font-weight:400;line-height:1.3;margin-bottom:1rem}
@media(max-width:800px){.pgrid{grid-template-columns:1fr}}
.subnote{background:#000;color:#aaa;margin:0;padding:1rem var(--gutter-r) 1rem var(--gutter-l);font-size:.85rem}
.ggrid{display:grid;grid-template-columns:repeat(3,1fr);background:#000}
.gt{position:relative;aspect-ratio:4/3;border:0;padding:0;margin:0;overflow:hidden;cursor:zoom-in;background:#333}
.gt img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gt:hover img{transform:scale(1.05)}
@media(max-width:700px){.ggrid{grid-template-columns:repeat(2,1fr)}.gt{aspect-ratio:1}}
.g-blog,.g-gal{background:linear-gradient(160deg,#3b6fa0,#9bc2d6)}
.g-b1{background:linear-gradient(160deg,#8a5a2f,#e0b070)}
.g-b2{background:linear-gradient(160deg,#4b5d78,#9aa8c0)}
.g-b3{background:linear-gradient(160deg,#2f7f6f,#a6d6a0)}
.g-b4{background:linear-gradient(160deg,#c05a7a,#f4b080)}
.g-t1,.g-t6{background:#7a8fb0}.g-t2,.g-t7{background:#6f9a62}.g-t3,.g-t8{background:#c9a070}.g-t4,.g-t9{background:#b86a5a}.g-t5{background:#8a7ab0}
.lb{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:4rem var(--gutter-r) 2rem var(--gutter-l)}
.lb.open{display:flex}
.lb img{max-width:100%;max-height:100%;object-fit:contain}
.lb .btn{position:absolute;top:calc(env(safe-area-inset-top,0px) + 12px);right:var(--gutter-r);background:#fff;color:#000}

/* social na samym dole stopki */
.social{display:flex;justify-content:center;gap:1rem;margin-top:1.8rem}
.social a{display:grid;place-items:center;width:3.1rem;height:3.1rem;padding:0;border:1.5px solid #fff;border-radius:50%}
.social a:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.social svg{width:1.45rem;height:1.45rem}

/* animacja powitalna: piłeczka wpada do dołka, potem żółta zasłona wjeżdża w górę */
.intro{display:none}
html.intro-on body{overflow:hidden}
html.intro-on .intro{display:block;--b:clamp(24px,3.4vw,40px);--hw:calc(var(--b)*1.8);position:fixed;inset:0;z-index:100;background-color:var(--accent);background-image:var(--squares);background-size:4px 4px;overflow:hidden;transition:transform .65s cubic-bezier(.7,0,.2,1)}
.intro.leave{transform:translateY(-100%)}
.intro .name{position:absolute;top:calc(env(safe-area-inset-top,0px) + 22px);left:0;right:0;text-align:center;font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.85rem}
.intro .ground{position:absolute;left:0;right:0;top:62%;bottom:0;background:#2f6b3c}
.intro .hole{position:absolute;left:72%;top:62%;width:var(--hw);height:calc(var(--hw)*.42);margin-left:calc(var(--hw)/-2);margin-top:calc(var(--hw)*-.21);background:#000;border-radius:50%}
.intro .flag{position:absolute;left:calc(72% + var(--b)*1.6);top:62%;width:3px;height:22vh;margin-top:-22vh;background:#000;transform-origin:bottom center;animation:wiggle .55s 2.0s ease-in-out}
.intro .flag::after{content:"";position:absolute;top:0;left:3px;border-left:calc(var(--b)*1.3) solid var(--magenta);border-top:calc(var(--b)*.5) solid transparent;border-bottom:calc(var(--b)*.5) solid transparent}
.intro .roll{position:absolute;left:0;top:62%;width:var(--b);height:var(--b);margin-top:calc(var(--b)*-1);transform:translateX(-14vw);animation:roll 1.5s .3s cubic-bezier(.25,.6,.3,1) forwards}
.intro .dropper{width:100%;height:100%;animation:drop .24s 1.85s ease-in forwards}
.intro .ball{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 30% 34%,rgba(0,0,0,.2) 0 7%,transparent 8%),radial-gradient(circle at 62% 28%,rgba(0,0,0,.2) 0 7%,transparent 8%),radial-gradient(circle at 48% 62%,rgba(0,0,0,.2) 0 7%,transparent 8%),radial-gradient(circle at 30% 30%,#fff 0 55%,#dcdcdc 100%);box-shadow:0 2px 0 rgba(0,0,0,.28);animation:spin 1.5s .3s cubic-bezier(.25,.6,.3,1) forwards}
.intro .skip{position:absolute;right:var(--gutter-r);bottom:calc(env(safe-area-inset-bottom,0px) + 18px);border:0;font-family:inherit;cursor:pointer}
@keyframes roll{to{transform:translateX(calc(72vw - var(--b)/2))}}
@keyframes spin{to{transform:rotate(1800deg)}}
@keyframes drop{to{transform:translateY(calc(var(--b)*.8)) scale(.35);opacity:0}}
.intro .i-slogan{position:absolute;left:0;right:0;top:20%;text-align:center;font-weight:800;text-transform:uppercase;line-height:.95;font-size:clamp(2.2rem,8.6vw,7.6rem);letter-spacing:-.01em;color:#111;opacity:0;animation:slogan 2.05s .1s ease forwards}
.intro .i-slogan span{display:block}
@keyframes slogan{0%{opacity:0;transform:translateY(16px)}18%{opacity:1;transform:none}80%{opacity:1}100%{opacity:0}}
@keyframes wiggle{0%,100%{transform:rotate(0)}30%{transform:rotate(-6deg)}60%{transform:rotate(4deg)}}

/* większe teksty na szerokich ekranach */
@media(min-width:1000px){
  .text .box{max-width:860px}
  .hero h1{font-size:clamp(3.2rem,5.4vw,5.4rem)}
  .panel h2{font-size:clamp(2.6rem,4.4vw,4.4rem)}
  .panel .sub,.hero p.sub{font-size:1.5rem}
  .text .line{font-size:1.45rem;margin-top:7px}
  .panel .btn{font-size:1rem;padding:1rem 1.6rem}
  .facts strong,.facts .val{font-size:1.5rem}
  .facts .label{font-size:.85rem}
  .facts .cell{padding-top:1.2rem;padding-bottom:1.2rem}
  .tag{font-size:.9rem;top:1.6rem}
}
/* teksty wysuwają się przy przewijaniu (klasa .anim dodaje się tylko, gdy skrypt działa i animacje są dozwolone) */
.anim .panel:not(.hero) .rv{opacity:0;transform:translateY(42px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.anim .panel:not(.hero) .box.in .rv{opacity:1;transform:none}
.anim .panel:not(.hero) .tag{transform:translateX(-105%);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.anim .panel:not(.hero) .tag.in{transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---- Bloki WordPressa w układzie strony ---- */
.wp-block-group,.wp-block-image,.wp-block-buttons{margin:0}
.wp-block-group__inner-container{display:contents}
.wp-block-image.photo{margin:0}
.wp-block-image.photo img{display:block;width:100%;height:100%;object-fit:cover}
.photo.pos-1 img{object-position:50% 42%}
.photo.pos-2 img{object-position:60% 62%}
.photo.pos-4 img{object-position:35% 40%}
.photo.pos-5 img{object-position:28% 55%}
.photo.pos-6 img{object-position:40% 55%}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.wp-block-button__link{display:inline-block;background:var(--ink);color:var(--paper);padding:.8rem 1.3rem;text-decoration:none;text-transform:uppercase;font-weight:600;font-size:.85rem;letter-spacing:.07em;border-radius:0}
.wp-block-button__link:hover{background:var(--magenta);color:var(--ink)}
mark.has-inline-color{background-image:var(--squares);background-size:4px 4px;padding:.04em .3em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.line.note{margin-top:.8rem;font-size:.85rem}
.facts .cell p{margin:0}
.facts .cell p.label{display:block;color:#666;margin-bottom:.1rem}
.reviews .first,.reviews .tnote{margin-left:0}
/* ---- WordPress: wpis, strona i paginacja ---- */
.entry{background:#fff;color:var(--ink);padding:3.5rem 0 4rem}
.entry .in{max-width:760px;margin:0 auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r);font-size:1.15rem;line-height:1.65}
.entry p{margin:0 0 1.2rem}
.entry h2{font-size:clamp(1.6rem,3.6vw,2.2rem);font-weight:500;margin:2.2rem 0 .8rem;line-height:1.2}
.entry h3{font-size:1.35rem;font-weight:600;margin:1.8rem 0 .6rem}
.entry a{text-decoration:underline;text-underline-offset:3px}
.entry img,.entry figure{max-width:100%;height:auto}
.entry ul,.entry ol{padding-left:1.3rem;margin:0 0 1.2rem}
.entry .btn{text-decoration:none;color:var(--paper)}
.lang a{font:inherit;font-weight:600;font-size:.85rem;letter-spacing:.07em;border:1.5px solid var(--ink);background:transparent;color:var(--ink);padding:.35rem .8rem;text-decoration:none;display:inline-block}
.lang a.on{background:var(--ink);color:var(--accent)}
.iq-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:70}
.iq-bg.open{opacity:1;visibility:visible}
.inquiry{position:fixed;top:0;right:0;bottom:0;width:min(560px,100%);background:#fff;color:var(--ink);overflow-y:auto;overscroll-behavior:contain;transform:translateX(100%);visibility:hidden;transition:transform .38s cubic-bezier(.2,.7,.2,1),visibility .38s;z-index:71;box-shadow:-12px 0 40px rgba(0,0,0,.25)}
.inquiry.open{transform:none;visibility:visible}
.inquiry .in{padding:4.2rem var(--gutter-r) 2.5rem var(--gutter-l)}
.iq-close{position:absolute;top:1rem;right:var(--gutter-r);display:flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;background:var(--ink);color:#fff;border:0;cursor:pointer;padding:0}
.iq-close svg{width:16px;height:16px}
.iq-close:hover{background:var(--magenta)}
@media (prefers-reduced-motion:reduce){.inquiry,.iq-bg{transition:none}}
.inquiry h2{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:500;margin:0 0 .6rem;line-height:1.15}
.inquiry .lead{font-size:1.1rem;line-height:1.5;margin:0 0 1.8rem}
.inquiry form{display:grid;grid-template-columns:1fr;gap:1rem 1.2rem;position:relative}
.inquiry .f{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.inquiry .f.wide{grid-column:1/-1}
.inquiry label{font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.07em}
.inquiry input,.inquiry select,.inquiry textarea{font:inherit;font-size:1rem;border:1.5px solid var(--ink);background:#fff;color:var(--ink);padding:.7rem .8rem;border-radius:0;width:100%;box-sizing:border-box}
.inquiry textarea{min-height:8rem;resize:vertical}
.inquiry input:focus,.inquiry select:focus,.inquiry textarea:focus{outline:3px solid var(--accent);outline-offset:0}
.inquiry .consent{flex-direction:row;align-items:flex-start;gap:.6rem}
.inquiry .consent input{width:auto;margin-top:.25rem}
.inquiry .consent label{text-transform:none;letter-spacing:0;font-weight:400;font-size:.95rem;line-height:1.45}
.inquiry .consent a{text-decoration:underline;text-underline-offset:3px}
.inquiry .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.inquiry .notice{margin:0 0 1.2rem;padding:1rem 1.2rem;border:2px solid var(--ink);background:var(--accent);font-weight:600}
.inquiry .notice.bad{background:#fff;border-color:#b00020;color:#b00020}
.inquiry .btn{cursor:pointer}
@media (min-width:480px){.inquiry form{grid-template-columns:1fr 1fr}}
.cc{position:fixed;left:0;right:0;bottom:0;z-index:80;background:#000;color:#fff;padding:1rem var(--gutter-r) calc(1rem + env(safe-area-inset-bottom,0px)) var(--gutter-l);box-shadow:0 -8px 30px rgba(0,0,0,.35)}
.cc[hidden]{display:none}
.cc-in{max-width:1100px;margin:0 auto;display:grid;gap:.6rem}
.cc-t{margin:0;font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:.85rem;color:var(--accent)}
.cc-x{margin:0;font-size:.95rem;line-height:1.5}
.cc-x a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.cc-set{display:grid;gap:.6rem;margin:.3rem 0}
.cc-row{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;cursor:pointer}
.cc-row input{margin-top:.25rem;accent-color:var(--accent)}
.cc-row small{display:block;color:#bdbdbd;line-height:1.4}
.cc-btns{display:flex;flex-wrap:wrap;gap:.6rem}
.cc-btns button{font:inherit;font-weight:600;font-size:.85rem;letter-spacing:.07em;text-transform:uppercase;padding:.7rem 1.1rem;border:1.5px solid #fff;background:transparent;color:#fff;cursor:pointer;border-radius:0}
.cc-btns button[hidden]{display:none}
.cc-btns .cc-y{background:var(--accent);color:#000;border-color:var(--accent)}
.cc-btns button:hover{background:#fff;color:#000}
@media (max-width:640px){.cc{padding-top:.8rem;padding-bottom:calc(.8rem + env(safe-area-inset-bottom,0px))}.cc-in{gap:.4rem}.cc-x{font-size:.82rem;line-height:1.4}.cc-btns{gap:.4rem}.cc-btns button{flex:1 1 auto;padding:.6rem .7rem;font-size:.72rem;letter-spacing:.04em}.cc-set{max-height:40vh;overflow-y:auto}}
.legal{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:.8rem 0 0;font-size:.85rem}
.legal a,.legal .cc-open{color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0;cursor:pointer}
.mg-embed{min-height:6rem}
.mg-embed iframe{width:100%;border:0;min-height:40rem}
.draftnote{background:var(--accent);color:#000;padding:.8rem 1rem;font-weight:600}
.co{display:block;margin-top:1rem;font-size:.9rem;line-height:1.5;opacity:.8}
.bookero{padding:1.6rem}
.bookero .mg-note h3{font-size:1.3rem;font-weight:500;margin:0 0 .5rem}
.bookero .mg-note p{margin:0 0 1rem;line-height:1.5}
.bookero .mg-note a{text-decoration:underline;text-underline-offset:3px}
html.consent-ext .bookero .mg-note{display:none}
.bookero .bk-embed:empty{display:none}
.bookero .bk-embed iframe{width:100%;border:0;min-height:36rem}
.pagination{display:flex;gap:.5rem;flex-wrap:wrap;background:#000;padding:1rem var(--gutter-r) 1rem var(--gutter-l)}
.pagination a,.pagination span{color:#fff;border:1.5px solid #fff;padding:.4rem .8rem;text-decoration:none;font-weight:600}
.pagination .current{background:var(--accent);color:#000;border-color:var(--accent)}
.post .meta{margin-bottom:.6rem}
.panel.sub .meta .hl{font-size:1rem}
