/* VIP Gentlemen's Club — kurtyna, neon, szampan. Domyślny CSS = stan końcowy (bez JS i przy ograniczonym ruchu). */
@font-face { font-family: 'Gloock'; src: url(/fonts/gloock-latin-ext-400-normal.woff2) format('woff2'); font-display: swap; unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Gloock'; src: url(/fonts/gloock-latin-400-normal.woff2) format('woff2'); font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Outfit'; src: url(/fonts/outfit-latin-ext-wght-normal.woff2) format('woff2'); font-weight: 100 900; font-display: swap; unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Outfit'; src: url(/fonts/outfit-latin-wght-normal.woff2) format('woff2'); font-weight: 100 900; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Neonderthaw'; src: url(/fonts/neonderthaw-latin-ext-400-normal.woff2) format('woff2'); font-display: swap; unicode-range: U+0100-024F, U+1E00-1EFF; }
@font-face { font-family: 'Neonderthaw'; src: url(/fonts/neonderthaw-latin-400-normal.woff2) format('woff2'); font-display: swap; unicode-range: U+0000-00FF, U+2000-206F; }

:root {
  --noc: #120714; --noc2: #1b0a20; --bordo: #4d0c27; --aksamit: #7a1238; --roz: #ff2d8a; --roz2: #ff7ab8; --fiolet: #3b1470; --fiolet2: #8a3bff;
  --szampan: #e8c37e; --szampan2: #f3dca8; --krem: #f5ecdf; --papier: #fbf5ea; --atrament: #1e0d1f; --szary: #b9a9bd;
  --zloto: linear-gradient(180deg, #fff1c9 0%, #e8c37e 42%, #a8792f 72%, #f6dfa6 100%);
  --serif: 'Gloock', 'Times New Roman', serif; --sans: 'Outfit', system-ui, sans-serif; --neon: 'Neonderthaw', 'Brush Script MT', cursive;
  --wrap: 1240px; --pas: clamp(18px, 4vw, 40px); --nav-h: 72px;
  --r: 22px;
}
[hidden] { display: none !important; }
*, *::before, *::after { box-sizing: border-box; }
html { background: var(--noc); color: #f6eef3; -webkit-text-size-adjust: 100%; overflow-x: clip; scroll-padding-top: 96px; }
body { margin: 0; font: 400 clamp(16px, .25vw + 15px, 18px)/1.6 var(--sans); overflow-x: clip; }
main { overflow-x: clip; display: block; }
main:focus { outline: none; }
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
h1, h2, h3 { margin: 0; font-weight: 400; overflow-wrap: break-word; hyphens: auto; }
p { margin: 0 0 1em; }
.wrap { width: min(100% - 2 * var(--pas), var(--wrap)); margin-inline: auto; }
.wrap--waski { width: min(100% - 2 * var(--pas), 780px); }
.pomin { position: fixed; left: 12px; top: -60px; z-index: 300; background: var(--szampan); color: var(--noc); padding: 10px 16px; border-radius: 10px; font-weight: 700; }
.pomin:focus { top: 12px; }
:focus-visible { outline: 2px solid var(--szampan); outline-offset: 3px; border-radius: 6px; }
html.b18 body { overflow: hidden; }

/* ---------- typografia ---------- */
.etyk { font: 600 12px/1.3 var(--sans); letter-spacing: .26em; text-transform: uppercase; color: var(--szampan); display: flex; align-items: center; gap: .8em; margin: 0 0 18px; }
.etyk::before { content: ''; width: 26px; height: 1px; background: currentColor; }
.h2 { font: 400 clamp(36px, 5.2vw, 76px)/1.02 var(--serif); letter-spacing: -.02em; text-wrap: balance; }
.h2--duzy { font-size: clamp(40px, 6.4vw, 96px); }
.h2 em, .start__h em, .cta__h em { font-style: normal; display: block; }
.h3 { font: 400 clamp(26px, 2.6vw, 36px)/1.1 var(--serif); margin-bottom: 18px; }
.neon { font: 400 clamp(40px, 5vw, 74px)/1 var(--neon); color: #ffe6f2; text-shadow: 0 0 2px #fff, 0 0 8px var(--roz), 0 0 18px var(--roz), 0 0 38px var(--roz), 0 0 70px rgba(255, 45, 138, .6); }
html.js .neon { animation: migotanie 6s linear infinite; }
@keyframes migotanie { 0%, 18%, 22%, 25%, 53%, 57%, 100% { opacity: 1; } 20%, 24%, 55% { opacity: .35; text-shadow: none; } }
.neon-ciemny { font: 400 clamp(30px, 3vw, 44px)/1 var(--neon); color: var(--aksamit); }
.link { color: var(--szampan); text-underline-offset: 4px; }
.sek { position: relative; padding: clamp(80px, 10vw, 150px) 0; }
.sek__gl { margin-bottom: clamp(36px, 5vw, 64px); max-width: 860px; }
.sek__opis { margin-top: 18px; font-size: clamp(17px, 1.2vw, 20px); color: var(--szary); max-width: 620px; }
.sek__dalej { margin: 48px 0 0; }
.sek--noc { background: var(--noc); }
.sek--noc2 { background: var(--noc2); }
.sek--bordo { background: radial-gradient(120% 90% at 10% 0%, #6d1236 0%, var(--bordo) 45%, #2c0616 100%); }
.sek--fiolet { background: radial-gradient(100% 80% at 90% 10%, #5b22a8 0%, var(--fiolet) 45%, #170831 100%); }
.sek--krem { background: var(--krem); color: var(--atrament); }
.sek--krem .etyk, .sek--szampan .etyk { color: var(--aksamit); }
.sek--krem .sek__opis { color: #5a4658; }
.sek--szampan { background: radial-gradient(90% 70% at 50% 0%, #f8e7c2 0%, var(--szampan) 60%, #c99a52 100%); color: var(--atrament); }

/* ---------- przyciski ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .55em; min-height: 52px; padding: 0 26px; border-radius: 999px; border: 0; font: 600 16px/1 var(--sans); letter-spacing: .02em; text-decoration: none; cursor: pointer; transition: transform .25s, box-shadow .25s, background .25s, color .25s; white-space: nowrap; }
.btn svg { width: 18px; height: 18px; flex: none; }
.btn:hover { transform: translateY(-2px); }
.btn--zloto { background: var(--zloto); color: #2a1406; box-shadow: 0 10px 30px -10px rgba(232, 195, 126, .7), inset 0 1px 0 rgba(255, 255, 255, .6); }
.btn--zloto:hover { box-shadow: 0 16px 40px -10px rgba(232, 195, 126, .9), inset 0 1px 0 rgba(255, 255, 255, .6); }
.btn--neon { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px var(--roz), 0 0 18px -4px var(--roz); }
.btn--neon:hover { background: var(--roz); box-shadow: 0 0 30px -2px var(--roz); }
.btn--obrys { background: rgba(255, 255, 255, .04); color: inherit; box-shadow: inset 0 0 0 1.5px currentColor; }
.btn--obrys:hover { background: rgba(255, 255, 255, .12); }
.btn--ciemny { background: var(--atrament); color: var(--szampan2); }
.btn--ciemny:hover { background: var(--aksamit); color: #fff; }

/* ---------- status otwarcia ---------- */
.status { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-weight: 600; font-size: 15px; color: var(--szampan2); min-height: 1.5em; }
.status:empty { display: none; }
.status::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: var(--szary); flex: none; }
.status.is-otwarte::before { background: #3dff9a; box-shadow: 0 0 0 0 rgba(61, 255, 154, .6); animation: puls 2s infinite; }
.status--duzy { font-size: 16px; }
.status--ciemny { color: var(--atrament); }
@keyframes puls { 70% { box-shadow: 0 0 0 10px rgba(61, 255, 154, 0); } 100% { box-shadow: 0 0 0 0 rgba(61, 255, 154, 0); } }

/* ---------- logo i nawigacja ---------- */
.korona { width: 34px; height: auto; display: block; }
.logo { display: inline-grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 10px; align-items: center; text-decoration: none; line-height: 1; }
.logo .korona { grid-row: 1 / 3; width: 36px; }
.logo__vip { font: 400 27px/0.9 var(--serif); background: var(--zloto); -webkit-background-clip: text; background-clip: text; color: transparent; letter-spacing: .04em; }
.logo__gc { font: 500 9.5px/1.2 var(--sans); letter-spacing: .24em; text-transform: uppercase; color: var(--szampan); }
.nav { position: fixed; z-index: 120; top: 12px; left: 12px; right: 12px; height: var(--nav-h); display: flex; align-items: center; gap: 22px; padding: 0 12px 0 22px; border-radius: 999px; background: rgba(18, 7, 20, .55); backdrop-filter: blur(16px) saturate(1.4); -webkit-backdrop-filter: blur(16px) saturate(1.4); box-shadow: inset 0 0 0 1px rgba(232, 195, 126, .16); transition: background .3s, transform .5s cubic-bezier(.2, .8, .2, 1); }
.nav.is-scrolled { background: rgba(18, 7, 20, .86); }
.nav__menu { display: flex; gap: 4px; margin-left: auto; }
.nav__menu a { text-decoration: none; padding: 10px 14px; border-radius: 999px; font-weight: 500; font-size: 15.5px; color: #f1e3ea; transition: background .2s, color .2s; }
.nav__menu a:hover { background: rgba(255, 255, 255, .08); }
.nav__menu a[aria-current] { color: var(--szampan); box-shadow: inset 0 -2px 0 var(--roz); border-radius: 0; }
.jez { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; }
.jez a { display: grid; place-items: center; min-width: 40px; height: 36px; padding: 0 8px; border-radius: 999px; text-decoration: none; font: 600 13px/1 var(--sans); letter-spacing: .08em; color: var(--szary); }
.jez a:hover { color: #fff; background: rgba(255, 255, 255, .08); }
.jez a[aria-current] { color: var(--noc); background: var(--szampan); }
.jez--nav { padding: 3px; border-radius: 999px; box-shadow: inset 0 0 0 1px rgba(232, 195, 126, .22); }
.nav__tel { min-height: 48px; padding: 0 20px; }
.nav__burger { display: none; width: 50px; height: 50px; border-radius: 50%; border: 0; background: var(--roz); cursor: pointer; position: relative; flex: none; box-shadow: 0 0 22px -6px var(--roz); }
.nav__burger span { position: absolute; left: 15px; right: 15px; height: 2px; background: #fff; border-radius: 2px; transition: transform .35s, top .35s; }
.nav__burger span:first-child { top: 20px; } .nav__burger span:last-child { top: 28px; }
.nav__burger[aria-expanded="true"] span:first-child { top: 24px; transform: rotate(45deg); }
.nav__burger[aria-expanded="true"] span:last-child { top: 24px; transform: rotate(-45deg); }
.menu-m { position: fixed; inset: 0; z-index: 110; background: radial-gradient(120% 70% at 80% 0%, #5c1233 0%, var(--noc) 60%); padding: calc(var(--nav-h) + 40px) var(--pas) 30px; display: flex; flex-direction: column; justify-content: space-between; overflow-y: auto; clip-path: inset(0 0 100% 0); transition: clip-path .55s cubic-bezier(.7, 0, .2, 1); }
.menu-m.is-open { clip-path: inset(0 0 0 0); }
.menu-m__linki { list-style: none; margin: 0; padding: 0; }
.menu-m__linki li { border-bottom: 1px solid rgba(232, 195, 126, .14); opacity: 0; translate: 0 20px; transition: opacity .4s, translate .5s; }
.menu-m.is-open .menu-m__linki li { opacity: 1; translate: 0 0; }
.menu-m.is-open li:nth-child(2) { transition-delay: .05s; } .menu-m.is-open li:nth-child(3) { transition-delay: .1s; } .menu-m.is-open li:nth-child(4) { transition-delay: .15s; } .menu-m.is-open li:nth-child(5) { transition-delay: .2s; }
.menu-m__linki a { display: flex; align-items: baseline; gap: 14px; padding: 14px 0; text-decoration: none; font: 400 clamp(34px, 9vw, 52px)/1.05 var(--serif); }
.menu-m__linki small { font: 600 12px/1 var(--sans); color: var(--roz2); letter-spacing: .1em; }
.menu-m__linki a[aria-current] { color: var(--szampan); }
.menu-m__dol { display: grid; gap: 16px; margin-top: 30px; }
.menu-m__jez-t { margin: 0; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--szary); }
.jez--m a { min-width: 64px; height: 46px; font-size: 15px; box-shadow: inset 0 0 0 1px rgba(232, 195, 126, .3); }
.jez--m { gap: 8px; }
html.menu-otwarte body { overflow: hidden; }

/* ---------- bramka 18+ (zaproszenie) ---------- */
.bramka { display: none; position: fixed; inset: 0; z-index: 400; place-items: center; padding: 20px; background: radial-gradient(70% 60% at 50% 40%, rgba(122, 18, 56, .55), rgba(10, 3, 12, .96)), var(--noc); }
html.b18 .bramka { display: grid; }
.bramka__karta { position: relative; width: min(520px, 100%); padding: clamp(30px, 6vw, 52px) clamp(22px, 5vw, 48px); text-align: center; border-radius: 18px; background: linear-gradient(160deg, #1d0c20, #0d0410); box-shadow: 0 40px 90px -30px #000, inset 0 0 0 1px rgba(232, 195, 126, .45); }
.bramka__karta::before { content: ''; position: absolute; inset: 10px; border-radius: 12px; border: 1px solid rgba(232, 195, 126, .25); pointer-events: none; }
.bramka__karta .korona { width: 56px; margin: 0 auto 14px; }
.bramka__nad { font: 600 11.5px/1.4 var(--sans); letter-spacing: .26em; text-transform: uppercase; color: var(--szampan); }
.bramka__t { font: 400 clamp(32px, 7vw, 46px)/1.05 var(--serif); margin: 6px 0 14px; }
.bramka__tekst { color: var(--szary); }
.bramka__przyc { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 24px 0 18px; }
.bramka__przyc .btn { flex: 1 1 180px; }
.bramka__pa { color: var(--roz2); font-weight: 600; }
.bramka__adres { font-size: 13px; color: var(--szary); letter-spacing: .04em; }
.jez--bramka { justify-content: center; margin-top: 8px; }

/* ---------- START: kurtyna ---------- */
.start { position: relative; height: 100svh; min-height: 620px; background: var(--noc); }
html.kurt .start { height: 250svh; }
.start__scena { position: sticky; top: 0; height: 100svh; min-height: 620px; overflow: hidden; --p: 1; }
html.kurt .start__scena { --p: 0; }
.start__tlo { position: absolute; inset: 0; background: radial-gradient(42% 60% at 50% 46%, rgba(255, 45, 138, .32), transparent 70%), radial-gradient(60% 50% at 50% 100%, rgba(138, 59, 255, .35), transparent 70%), linear-gradient(180deg, #1a0820, var(--noc) 70%); }
.start__tlo::after { content: ''; position: absolute; left: 50%; bottom: 4svh; width: min(90vw, 980px); height: 16svh; translate: -50% 0; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 45, 138, .5), transparent); filter: blur(10px); }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.start__uklad { position: relative; z-index: 1; height: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: clamp(20px, 3vw, 56px); padding: calc(var(--nav-h) + 30px) var(--pas) 40px; max-width: 1500px; margin: 0 auto; }
.start__luk { position: relative; height: min(70svh, 760px); aspect-ratio: 2 / 3; border-radius: 999px 999px 26px 26px; padding: 8px; background: var(--zloto); box-shadow: 0 0 0 1px rgba(255, 255, 255, .1), 0 40px 120px -20px rgba(255, 45, 138, .55); scale: calc(.9 + var(--p) * .1); }
.start__foto { width: 100%; height: 100%; object-fit: cover; object-position: 40% 50%; border-radius: 999px 999px 20px 20px; }
.start__neon { position: absolute; z-index: 2; left: 50%; top: -0.2em; translate: -50% 0; white-space: nowrap; rotate: -6deg; font-size: clamp(44px, 4.6vw, 74px); }
.start__lewa { text-align: right; }
.start__lewa .etyk { justify-content: flex-end; }
.start__h { font: 400 clamp(44px, 4.5vw, 84px)/.98 var(--serif); letter-spacing: -.025em; text-wrap: balance; }
.start__h em { background: var(--zloto); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .08em; }
.start__opis { font-size: clamp(17px, 1.25vw, 20px); color: #e6d6df; max-width: 400px; }
.start__przyc { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 22px; }
.start__lewa, .start__prawa { opacity: calc((var(--p) - .55) * 3); translate: 0 calc((1 - var(--p)) * 40px); }
html.kurt .start:not(.is-po) .start__lewa, html.kurt .start:not(.is-po) .start__prawa { visibility: hidden; }

.kurtyna { position: absolute; inset: 0; z-index: 5; pointer-events: none; }
html:not(.kurt) .kurtyna__napis, html:not(.kurt) .kurtyna__podp, html:not(.kurt) .kurtyna__hint { display: none; }
.kurtyna__pol { position: absolute; top: 0; bottom: 0; width: 50.5%; background:
  linear-gradient(180deg, rgba(0, 0, 0, .55) 0%, transparent 18%, transparent 70%, rgba(0, 0, 0, .45) 100%),
  linear-gradient(90deg, #2a0411 0%, #8e1a44 14%, #4c0a22 28%, #b02a58 44%, #55102a 58%, #95204b 74%, #3a0718 88%, #7a1238 100%) 0 0 / clamp(70px, 9vw, 130px) 100%;
  box-shadow: inset 0 -30px 40px -20px #000; }
.kurtyna__pol::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 14px; background: repeating-linear-gradient(90deg, #f6dfa6 0 3px, #a8792f 3px 6px); opacity: .9; }
.kurtyna__pol--l { left: 0; transform-origin: 0 50%; scale: calc(1 - var(--p) * .88) 1; clip-path: polygon(0 0, 100% 0, calc(100% - var(--p) * 38%) 100%, 0 100%); }
.kurtyna__pol--p { right: 0; transform-origin: 100% 50%; scale: calc(1 - var(--p) * .88) 1; clip-path: polygon(0 0, 100% 0, 100% 100%, calc(var(--p) * 38%) 100%); }
.kurtyna__pol--l::before, .kurtyna__pol--p::before { content: ''; position: absolute; top: 0; bottom: 0; width: 40px; }
.kurtyna__pol--l::before { right: 0; background: linear-gradient(90deg, transparent, rgba(0, 0, 0, .55)); }
.kurtyna__pol--p::before { left: 0; background: linear-gradient(270deg, transparent, rgba(0, 0, 0, .55)); }
html:not(.kurt) .kurtyna__pol { width: 7vw; scale: 1; clip-path: polygon(0 0, 100% 0, 60% 100%, 0 100%); }
html:not(.kurt) .kurtyna__pol--p { clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%); }
.kurtyna__napis { position: absolute; top: 0; bottom: 0; width: 100vw; left: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; opacity: calc(1 - var(--p) * 1.8); }
.kurtyna__napis--l { clip-path: inset(0 50% 0 0); translate: calc(var(--p) * -55vw) 0; }
.kurtyna__napis--p { clip-path: inset(0 0 0 50%); translate: calc(var(--p) * 55vw) 0; }
.kurtyna__napis .korona { width: clamp(70px, 8vw, 120px); margin-bottom: -1vw; filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .5)); }
.vip-slowo { font: 400 clamp(150px, 26vw, 400px)/.86 var(--serif); letter-spacing: .02em; background: var(--zloto); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 12px 24px rgba(0, 0, 0, .55)); }
.kurtyna__gc { font: 500 clamp(13px, 1.4vw, 20px)/1 var(--sans); letter-spacing: .5em; text-transform: uppercase; color: var(--szampan2); margin-top: 1.2vw; padding-left: .5em; }
.kurtyna__podp { position: absolute; left: 0; right: 0; top: calc(50% + clamp(110px, 17vw, 250px)); text-align: center; font: 400 clamp(36px, 4vw, 58px)/1 var(--neon); color: #ffe6f2; text-shadow: 0 0 8px var(--roz), 0 0 24px var(--roz); opacity: calc(1 - var(--p) * 3); }
.kurtyna__hint { position: absolute; left: 0; right: 0; bottom: 34px; display: flex; flex-direction: column; align-items: center; gap: 10px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--szampan2); opacity: calc(1 - var(--p) * 4); }
.mysz { width: 24px; height: 38px; border-radius: 14px; border: 2px solid currentColor; position: relative; }
.mysz::after { content: ''; position: absolute; left: 50%; top: 7px; width: 3px; height: 8px; margin-left: -1.5px; border-radius: 2px; background: currentColor; animation: kolko 1.8s infinite; }
@keyframes kolko { 0% { opacity: 0; translate: 0 -2px; } 40% { opacity: 1; } 100% { opacity: 0; translate: 0 10px; } }
.lambrekin { position: absolute; z-index: 6; top: 0; left: 0; right: 0; height: clamp(40px, 7svh, 70px); pointer-events: none; background: linear-gradient(90deg, #2a0411, #8e1a44 25%, #5a0d2b 50%, #8e1a44 75%, #2a0411); -webkit-mask: radial-gradient(42px 26px at 50% 100%, #0000 98%, #000) 50% 0 / 84px 100%; mask: radial-gradient(42px 26px at 50% 100%, #0000 98%, #000) 50% 0 / 84px 100%; }
.lambrekin::after { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--zloto); }
html.kurt .lambrekin { translate: 0 calc(var(--p) * -100%); }
.lambrekin--maly { height: 40px; }

/* ---------- podstrony: nagłówek ---------- */
.podglowa { position: relative; padding: calc(var(--nav-h) + 110px) 0 clamp(70px, 8vw, 110px); background: radial-gradient(60% 80% at 50% 10%, rgba(255, 45, 138, .22), transparent 70%), linear-gradient(180deg, #1d0a22, var(--noc)); overflow: hidden; }
.podglowa__kurt { position: absolute; top: 0; bottom: 0; width: clamp(30px, 7vw, 110px); background: linear-gradient(90deg, #2a0411 0%, #8e1a44 22%, #4c0a22 44%, #b02a58 66%, #3a0718 100%) 0 0 / clamp(30px, 3.5vw, 55px) 100%; }
.podglowa__kurt--l { left: 0; clip-path: polygon(0 0, 100% 0, 55% 100%, 0 100%); }
.podglowa__kurt--p { right: 0; clip-path: polygon(0 0, 100% 0, 100% 100%, 45% 100%); }
.podglowa__w { position: relative; max-width: 980px; text-align: center; }
.podglowa .etyk { justify-content: center; }
.podglowa .etyk::after { content: ''; width: 26px; height: 1px; background: currentColor; }
.podglowa__h { font: 400 clamp(42px, 6.6vw, 104px)/1 var(--serif); letter-spacing: -.025em; text-wrap: balance; }
.podglowa__w-t { margin: 26px auto 0; max-width: 700px; font-size: clamp(17px, 1.3vw, 20px); color: #e2d2db; }
.okruszki { font-size: 14px; color: var(--szary); margin-bottom: 28px; }
.okruszki a { color: var(--szampan2); }
.podglowa--404 { min-height: 90svh; display: grid; place-items: center; }
.neon--404 { font-size: clamp(100px, 18vw, 220px); margin-bottom: 10px; }

/* ---------- manifest ---------- */
.manifest { --p: 1; }
.manifest__t { font: 400 clamp(30px, 4.3vw, 66px)/1.12 var(--serif); letter-spacing: -.02em; margin: 0 0 26px; max-width: 1150px; }
html.anim .manifest .sl { opacity: clamp(.14, calc(var(--p) * (var(--n) + 6) * 1.25 - var(--i)), 1); }
.manifest__podp { margin-bottom: 60px; }
.fakty { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; border-radius: var(--r); overflow: hidden; }
.fakty li { background: var(--papier); padding: 28px 26px; display: grid; gap: 8px; }
.fakty b { font: 400 clamp(48px, 5vw, 78px)/1 var(--serif); color: var(--aksamit); }
.fakty span { color: #5a4658; }
.historia__w { max-width: 1000px; }
.historia__t { font: 400 clamp(22px, 2.2vw, 32px)/1.4 var(--serif); margin-bottom: 50px; }

/* ---------- strefy ---------- */
.strefy__uklad { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 6vw, 90px); align-items: start; }
.strefy__fotki { position: sticky; top: calc(var(--nav-h) + 40px); aspect-ratio: 4 / 5; border-radius: 300px 300px var(--r) var(--r); overflow: hidden; box-shadow: 0 0 0 1px rgba(232, 195, 126, .3), 0 40px 100px -40px rgba(255, 45, 138, .5); }
.strefy__fk { position: absolute; inset: 0; opacity: 0; scale: 1.08; transition: opacity .7s, scale 1.2s cubic-bezier(.2, .8, .2, 1); }
.strefy__fk.is-akt { opacity: 1; scale: 1; }
.strefy__fk img { width: 100%; height: 100%; object-fit: cover; }
.strefy__reflektor { position: absolute; inset: 0; background: radial-gradient(40% 35% at 50% 30%, transparent, rgba(18, 7, 20, .55)); pointer-events: none; }
.strefy__lista { list-style: none; margin: 0; padding: 0; counter-reset: s; }
.strefa { padding: clamp(40px, 9vh, 110px) 0; border-top: 1px solid rgba(232, 195, 126, .18); transition: opacity .5s; }
.strefa:first-child { padding-top: 10px; border-top: 0; }
.strefa__foto { display: none; }
.strefa__nr { font: 600 13px/1 var(--sans); letter-spacing: .2em; color: #ffb3d6; }
.strefa__t { font: 400 clamp(36px, 4vw, 62px)/1.02 var(--serif); margin: 12px 0 16px; }
.strefa p { color: #d8c7d1; font-size: clamp(17px, 1.2vw, 19px); max-width: 480px; }
@media (min-width: 900px) { html.js .strefa:not(.is-akt) { opacity: .6; } }

/* ---------- tydzień ---------- */
.dni { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; }
.dzien { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 22px 16px 24px; min-height: 230px; border-radius: 18px; background: rgba(0, 0, 0, .25); box-shadow: inset 0 0 0 1px rgba(232, 195, 126, .18); }
.dzien__kr { font: 400 46px/1 var(--serif); color: rgba(255, 255, 255, .16); }
.dzien__n { font: 600 16px/1.2 var(--sans); }
.dzien__tryb { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--szary); }
.dzien__o { font-size: 14.5px; color: #e4ced9; margin-top: auto; line-height: 1.35; }
.dzien--pokazy { background: linear-gradient(180deg, rgba(255, 45, 138, .22), rgba(0, 0, 0, .25)); box-shadow: inset 0 0 0 1px rgba(255, 45, 138, .55); }
.dzien--pokazy .dzien__tryb { color: var(--roz2); }
.dzien--pokazy .dzien__kr { color: rgba(255, 122, 184, .45); }
.dzien--zamkniete { opacity: .55; }
.dzien__dzis { display: none; position: absolute; top: -12px; right: 12px; padding: 5px 10px; border-radius: 999px; background: var(--szampan); color: var(--noc); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dzien.is-dzis { box-shadow: inset 0 0 0 2px var(--szampan), 0 0 40px -8px rgba(232, 195, 126, .7); background: linear-gradient(180deg, rgba(232, 195, 126, .2), rgba(0, 0, 0, .25)); }
.dzien.is-dzis .dzien__dzis { display: block; }
.dzien.is-dzis .dzien__kr { color: var(--szampan); }
.tydzien__status { margin-top: 34px; }

/* ---------- wydarzenia ---------- */
.wyd { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.wyd__k { border-radius: var(--r); overflow: hidden; background: var(--noc2); box-shadow: inset 0 0 0 1px rgba(232, 195, 126, .2); }
.wyd__k img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.wyd__k > div { padding: 22px; }
.wyd__k h3 { font: 400 28px/1.1 var(--serif); margin-bottom: 10px; }

/* ---------- dyskrecja ---------- */
.dyskrecja { --p: 1; overflow: hidden; }
.dyskrecja__uklad { display: grid; grid-template-columns: .85fr 1fr; gap: clamp(30px, 6vw, 90px); align-items: center; }
.dyskrecja__foto { border-radius: var(--r); overflow: hidden; aspect-ratio: 4 / 5; box-shadow: 0 50px 100px -40px #000; }
.dyskrecja__foto img { width: 100%; height: 100%; object-fit: cover; scale: calc(1.15 - var(--p) * .15); }
.dyskrecja__tekst > p { font-size: clamp(17px, 1.25vw, 20px); color: #e7dcf5; margin: 26px 0 40px; max-width: 520px; }
.dyskrecja .h2 em { color: var(--roz2); }
.telefon { position: relative; width: 210px; height: 120px; }
.telefon__obudowa { position: absolute; inset: 0; border-radius: 26px; background: linear-gradient(145deg, #2b2234, #0f0a14); box-shadow: inset 0 0 0 2px #4a3d55, 0 20px 40px -20px #000; }
.telefon__obiektyw { position: absolute; left: 22px; top: 18px; width: 38px; height: 38px; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #4b6bff 0 12%, #111 30%, #000 60%); box-shadow: 0 0 0 4px #2a2232; }
.telefon__obiektyw--2 { top: 64px; }
.telefon__naklejka { position: absolute; left: 6px; top: 8px; width: 104px; height: 104px; border-radius: 50%; display: grid; place-content: center; justify-items: center; text-align: center; gap: 1px; background: var(--zloto); color: #2a1406; box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .8); rotate: calc(-14deg + var(--p) * 14deg); translate: calc((1 - min(1, var(--p) * 1.4)) * 260px) calc((1 - min(1, var(--p) * 1.4)) * -60px); }
.telefon__naklejka .korona { width: 26px; }
.telefon__naklejka b { font: 400 26px/1 var(--serif); }
.telefon__naklejka small { font-size: 9.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

/* ---------- kodeks (dokument z pieczęcią) ---------- */
.kodeks { --p: 1; }
.dokument { position: relative; max-width: 1060px; margin: 0 auto; padding: clamp(36px, 6vw, 80px) clamp(22px, 6vw, 90px); background: var(--papier); border-radius: 6px; box-shadow: 0 50px 100px -50px rgba(60, 20, 0, .6), 0 0 0 1px rgba(168, 121, 47, .25); background-image: linear-gradient(transparent 0, transparent), repeating-linear-gradient(0deg, rgba(168, 121, 47, .05) 0 1px, transparent 1px 34px); rotate: -.4deg; }
.dokument::before { content: ''; position: absolute; inset: 14px; border: 1px solid rgba(168, 121, 47, .35); pointer-events: none; border-radius: 3px; }
.dokument__wstep { font-size: clamp(17px, 1.25vw, 20px); color: #4e3a4c; max-width: 760px; margin: 22px 0 40px; }
.punkty { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 50px; }
.punkty li { display: grid; grid-template-columns: 56px 1fr; gap: 14px; padding: 22px 0; border-top: 1px solid rgba(122, 18, 56, .15); }
.punkty__nr { font: 400 34px/1 var(--serif); color: var(--aksamit); }
.punkty h3 { font: 700 18px/1.3 var(--sans); margin-bottom: 6px; }
.punkty p { margin: 0; color: #4e3a4c; font-size: 16px; }
.pomoz { margin-top: 40px; padding: 30px; border-radius: 16px; background: #f0e2cb; }
.pomoz h3 { font: 400 30px/1.1 var(--serif); margin-bottom: 10px; }
.dokument__podpis { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin: 50px 0 0; padding-top: 16px; border-top: 1px dashed rgba(122, 18, 56, .4); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #6b5368; }
.pieczec { position: absolute; z-index: 2; right: clamp(-10px, 2vw, 40px); top: clamp(-50px, -3vw, -20px); width: clamp(130px, 15vw, 190px); aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at 35% 30%, #c2305f, #7a1238 55%, #4d0c27); box-shadow: 0 14px 30px -10px rgba(77, 12, 39, .8), inset 0 0 0 6px rgba(0, 0, 0, .12), inset 0 0 18px rgba(0, 0, 0, .4); rotate: 12deg; }
.pieczec svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: obrot 30s linear infinite; }
.pieczec text { font: 700 15px var(--sans); letter-spacing: .14em; fill: #ffd9e7; text-transform: uppercase; }
.pieczec__s { display: grid; justify-items: center; color: #ffe6ef; }
.pieczec__s .korona { width: 36px; filter: saturate(.3) brightness(1.5); }
.pieczec__s b { font: 400 34px/1 var(--serif); }
html.anim .pieczec { scale: calc(2.2 - min(1, var(--p) * 2.2) * 1.2); opacity: min(1, calc(var(--p) * 3)); }
@keyframes obrot { to { rotate: 360deg; } }

/* ---------- okazje ---------- */
.okazje__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.okazja a { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 520px; padding: 26px 24px; border-radius: 200px 200px var(--r) var(--r); overflow: hidden; text-decoration: none; isolation: isolate; box-shadow: inset 0 0 0 1px rgba(232, 195, 126, .22); }
.okazja:nth-child(even) a { margin-top: 50px; }
.okazja__foto { position: absolute; inset: 0; z-index: -1; }
.okazja__foto img { width: 100%; height: 100%; object-fit: cover; transition: scale 1s cubic-bezier(.2, .8, .2, 1); }
.okazja__foto::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18, 7, 20, .1) 20%, rgba(18, 7, 20, .92) 75%); }
.okazja a:hover .okazja__foto img { scale: 1.06; }
.okazja__nr { font: 600 13px/1 var(--sans); letter-spacing: .2em; color: var(--roz2); }
.okazja__t { font: 400 clamp(28px, 2.4vw, 38px)/1.04 var(--serif); margin: 8px 0 10px; }
.okazja__o { font-size: 15.5px; color: #dccad5; line-height: 1.45; }
.okazja__cta { display: inline-flex; gap: 8px; align-items: center; margin-top: 18px; font-weight: 700; color: var(--szampan); }
.okazja__cta svg { width: 18px; transition: translate .3s; }
.okazja a:hover .okazja__cta svg { translate: 5px 0; }

/* ---------- galeria ---------- */
.gal { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.gal__el:nth-child(4n + 2), .gal__el:nth-child(4n + 4) { translate: 0 40px; }
.gal__b { position: relative; display: block; width: 100%; padding: 0; border: 0; cursor: zoom-in; border-radius: 16px; overflow: hidden; aspect-ratio: 3 / 4; background: #000; box-shadow: 0 0 0 1px rgba(255, 45, 138, .35), 0 0 26px -10px var(--roz); transition: box-shadow .4s; }
.gal__b:hover { box-shadow: 0 0 0 2px var(--roz), 0 0 40px -6px var(--roz); }
.gal__b img { width: 100%; height: 100%; object-fit: cover; transition: scale .8s cubic-bezier(.2, .8, .2, 1), filter .5s; }
.gal__b:hover img { scale: 1.05; }
.gal__podp { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 14px 12px; text-align: left; font-size: 14px; font-weight: 600; background: linear-gradient(transparent, rgba(0, 0, 0, .8)); pointer-events: none; }
.galeria .wrap { padding-bottom: 40px; }
.lightbox { position: fixed; inset: 0; z-index: 350; display: grid; grid-template-columns: auto 1fr auto; align-items: center; background: rgba(10, 3, 12, .95); padding: 20px; }
.lightbox__f { margin: 0; display: grid; justify-items: center; gap: 12px; min-width: 0; }
.lightbox__f img { max-height: 82svh; max-width: 100%; width: auto; border-radius: 12px; box-shadow: 0 0 60px -10px var(--roz); }
.lightbox.is-wejscie .lightbox__f img { animation: wyskok .45s cubic-bezier(.2, 1.3, .4, 1); }
@keyframes wyskok { from { scale: .85; opacity: 0; } }
.lightbox__f figcaption { color: var(--szampan2); font-weight: 600; }
.lightbox__x, .lightbox__s { width: 54px; height: 54px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .08); color: #fff; font-size: 34px; line-height: 1; cursor: pointer; }
.lightbox__x { position: absolute; top: 16px; right: 16px; }
.lightbox__x:hover, .lightbox__s:hover { background: var(--roz); }

/* ---------- lokal / mapa ---------- */
.lokal__uklad { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 6vw, 80px); align-items: center; }
.lokal__foto { position: relative; border-radius: 300px 300px var(--r) var(--r); overflow: hidden; aspect-ratio: 4 / 5; box-shadow: 0 40px 90px -40px rgba(77, 12, 39, .7); }
.lokal__foto img { width: 100%; height: 100%; object-fit: cover; }
.lokal__dywan { position: absolute; left: 50%; bottom: 0; width: 30%; height: 0; translate: -50% 0; background: linear-gradient(180deg, transparent, #b3122f); clip-path: polygon(35% 0, 65% 0, 100% 100%, 0 100%); opacity: .0; }
.lokal__tekst > p { color: #4e3a4c; font-size: clamp(17px, 1.2vw, 19px); margin: 20px 0 28px; }
.dane { margin: 0 0 22px; display: grid; gap: 14px; }
.dane div { display: grid; grid-template-columns: 150px 1fr; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid rgba(122, 18, 56, .15); }
.dane dt { display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--aksamit); }
.dane dt svg { width: 18px; height: 18px; flex: none; }
.dane dd { margin: 0; }
.dane a { color: inherit; }
.lokal__przyc { margin-top: 24px; }
.mapa { grid-column: 1 / -1; position: relative; height: clamp(320px, 40vw, 460px); border-radius: var(--r); overflow: hidden; box-shadow: 0 0 0 1px rgba(122, 18, 56, .2); background: #e7dccb; margin-top: 20px; }
.mapa iframe { width: 100%; height: 100%; border: 0; pointer-events: none; filter: saturate(.7) sepia(.15); }
.mapa.is-aktywna iframe { pointer-events: auto; }
.mapa__zaslona { position: absolute; inset: 0; width: 100%; border: 0; cursor: pointer; display: grid; place-items: end center; padding: 0 0 18px; background: linear-gradient(transparent 70%, rgba(18, 7, 20, .25)); color: #fff; font-weight: 700; font-size: 14px; transition: background .3s; }
.mapa__zaslona::after { content: attr(data-t); padding: 10px 18px; border-radius: 999px; background: rgba(18, 7, 20, .82); }
.mapa:hover .mapa__zaslona { background: linear-gradient(transparent 50%, rgba(18, 7, 20, .45)); }
.mapa.is-aktywna .mapa__zaslona { display: none; }
.kontakt .mapa { margin-top: 50px; }

/* ---------- CTA ---------- */
.cta { text-align: center; overflow: hidden; background: radial-gradient(50% 70% at 50% 100%, rgba(255, 45, 138, .35), transparent 70%), var(--noc); }
.cta__h { font: 400 clamp(54px, 9vw, 150px)/.95 var(--serif); letter-spacing: -.03em; }
.cta__h em { background: var(--zloto); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .06em; }
.cta p { margin: 26px auto 34px; max-width: 520px; color: #e2d2db; font-size: clamp(17px, 1.3vw, 20px); }
.cta__przyc { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

/* ---------- praca ---------- */
.stan { list-style: none; margin: 0 0 60px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.stan li { padding: 30px 24px; border-radius: 20px; background: var(--noc2); box-shadow: inset 0 0 0 1px rgba(255, 45, 138, .35); }
.stan__nr { font: 600 13px/1 var(--sans); letter-spacing: .2em; color: var(--roz2); }
.stan h2 { font: 400 clamp(28px, 2.4vw, 36px)/1.05 var(--serif); margin: 12px 0 8px; }
.stan p { margin: 0; color: var(--szary); }
.dwie { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.lista-k { padding: clamp(26px, 4vw, 44px); border-radius: var(--r); background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px rgba(232, 195, 126, .2); }
.lista-k ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.lista-k li { position: relative; padding-left: 30px; }
.lista-k li::before { content: '✦'; position: absolute; left: 0; color: var(--roz); }
.lista-k--zloto { background: var(--szampan); color: var(--atrament); }
.lista-k--zloto li::before { color: var(--aksamit); }
.praca-foto { margin-top: 30px; max-width: 260px; border-radius: 200px 200px 18px 18px; overflow: hidden; box-shadow: 0 0 0 6px rgba(232, 195, 126, .2); }

/* ---------- formularze ---------- */
.form-uklad { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(30px, 6vw, 90px); align-items: start; }
.form-uklad__opis > p { color: #e8d4de; }
.tel-duzy { margin: 26px 0 14px; } .tel-duzy a { font: 400 clamp(32px, 3.4vw, 50px)/1 var(--serif); text-decoration: none; color: var(--szampan); }
.tel-wielki { margin: 0 0 50px; } .tel-wielki a { font: 400 clamp(48px, 10vw, 150px)/1 var(--serif); letter-spacing: -.03em; text-decoration: none; color: var(--aksamit); }
.dane--siatka { grid-template-columns: repeat(2, 1fr); gap: 26px 40px; }
.dane--siatka div { grid-template-columns: 1fr; gap: 6px; }
.form { position: relative; padding: clamp(24px, 4vw, 44px); border-radius: var(--r); background: rgba(18, 7, 20, .55); box-shadow: inset 0 0 0 1px rgba(232, 195, 126, .25), 0 40px 80px -40px #000; }
.form__siatka { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.pole { display: grid; gap: 6px; min-width: 0; }
.pole--cale { grid-column: 1 / -1; }
.pole__e { font-size: 14px; font-weight: 600; color: var(--szampan2); }
.pole__e small { font-weight: 400; color: var(--szary); }
.pole input, .pole select, .pole textarea { width: 100%; min-height: 52px; padding: 12px 16px; border-radius: 14px; border: 1.5px solid rgba(232, 195, 126, .28); background: rgba(255, 255, 255, .06); color: #fff; transition: border-color .2s, background .2s; }
.pole select option { color: #000; }
.pole input[type=date] { color-scheme: dark; }
.pole textarea { resize: vertical; }
.pole input:focus, .pole select:focus, .pole textarea:focus { outline: none; border-color: var(--szampan); background: rgba(255, 255, 255, .1); }
.pole.is-blad input, .pole.is-blad select, .pole.is-blad textarea { border-color: #ff6b8f; }
.pole__b { font-size: 13.5px; color: #ff9bb4; min-height: 0; }
.pole__b:empty { display: none; }
.pole__p { color: var(--szary); font-size: 13px; }
.wgraj { display: grid; place-items: center; min-height: 70px; border-radius: 14px; border: 1.5px dashed rgba(232, 195, 126, .45); cursor: pointer; font-weight: 600; color: var(--szampan2); text-align: center; padding: 10px; }
.wgraj:hover { background: rgba(255, 255, 255, .05); }
.wgraj input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.wgraj:focus-within { outline: 2px solid var(--szampan); outline-offset: 2px; }
.miniatury { list-style: none; margin: 6px 0 0; padding: 0; display: flex; gap: 10px; flex-wrap: wrap; }
.miniatury:empty { display: none; }
.miniatury li { position: relative; width: 84px; height: 84px; border-radius: 12px; overflow: hidden; }
.miniatury img { width: 100%; height: 100%; object-fit: cover; }
.miniatury button { position: absolute; top: 4px; right: 4px; width: 28px; height: 28px; border-radius: 50%; border: 0; background: rgba(0, 0, 0, .75); color: #fff; cursor: pointer; }
.zgoda { display: grid; grid-template-columns: 24px 1fr; gap: 10px; margin: 20px 0 14px; font-size: 14px; color: #dccad5; cursor: pointer; }
.zgoda input { width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--roz); }
.zgoda .pole__b { grid-column: 2; }
.zgoda a { color: var(--szampan2); }
.pulapka { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form__blad { color: #ff9bb4; font-weight: 600; margin: 0 0 12px; }
.form__blad:empty { display: none; }
.form__wyslij { width: 100%; }
.form__wyslij[disabled] { opacity: .6; cursor: wait; }
.form__ok { position: absolute; inset: 0; z-index: 3; display: grid; place-content: center; justify-items: center; text-align: center; gap: 10px; padding: 30px; border-radius: var(--r); background: linear-gradient(160deg, #2c0d2a, #120714); }
.form__ok-i { width: 70px; height: 70px; border-radius: 50%; display: grid; place-items: center; background: var(--zloto); color: #2a1406; font-size: 34px; font-weight: 800; animation: wyskok .5s cubic-bezier(.2, 1.3, .4, 1); }
.form__ok h3 { font: 400 32px/1.1 var(--serif); }
.form__ok p { color: #dccad5; max-width: 420px; }
.form:has(.form__ok:not([hidden])) { min-height: 380px; }

/* ---------- polityka ---------- */
.polityka h2 { margin-top: 40px; }
.polityka p { color: #3d2a3b; }

/* ---------- stopka ---------- */
.stopka { position: relative; background: #0a030c; padding: 70px 0 calc(24px + env(safe-area-inset-bottom)); overflow: hidden; }
.stopka__neon { display: flex; justify-content: center; gap: .04em; font: 400 clamp(120px, 24vw, 340px)/.8 var(--serif); margin-bottom: 50px; user-select: none; }
.stopka__neon span { color: transparent; -webkit-text-stroke: 1.5px rgba(255, 45, 138, .35); transition: color .4s, text-shadow .4s, -webkit-text-stroke .4s; }
.stopka__neon.is-wl span { color: #ffe6f2; -webkit-text-stroke: 1.5px #ffb3d6; text-shadow: 0 0 6px #fff, 0 0 20px var(--roz), 0 0 60px var(--roz); }
.stopka__neon.is-wl span:nth-child(2) { transition-delay: .35s; } .stopka__neon.is-wl span:nth-child(3) { transition-delay: .7s; }
html:not(.js) .stopka__neon span { color: #ffe6f2; text-shadow: 0 0 20px var(--roz); }
.stopka__kol { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; padding-bottom: 40px; border-bottom: 1px solid rgba(232, 195, 126, .14); }
.stopka__h { font: 600 12px/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; color: var(--szampan); margin-bottom: 16px; }
.stopka p, .stopka li { color: #cdbac5; font-size: 15.5px; }
.stopka a { text-decoration: none; }
.stopka a:hover { color: var(--szampan2); }
.stopka__linki { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.stopka__social { display: flex; gap: 10px; }
.stopka__social a { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; box-shadow: inset 0 0 0 1px rgba(232, 195, 126, .3); }
.stopka__social svg { width: 20px; height: 20px; }
.stopka__dol { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 22px; font-size: 14px; }
.stopka__dol p { margin: 0; font-size: 14px; color: var(--szary); }
.m-only { display: none; }
.made-by { display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; transition: color .3s; color: #cdbac5; }
.made-by:hover { color: var(--szampan); }
.made-by img { height: 1.75rem; width: auto; display: block; animation: logo-shine 5s ease-in-out infinite; }
.logo-wrap { position: relative; top: -3px; z-index: 1; display: block; transform-origin: 50% 50%; animation: logo-spin 5s ease-in-out infinite; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .made-by:hover .logo-wrap { animation: logo-spin-loop 1.6s linear infinite; }
  .made-by:hover img { animation: logo-shine-loop 1.6s ease-in-out infinite; }
  .made-by:hover .glint { animation: logo-glint-loop 1.6s linear infinite; }
}
.glint { position: absolute; inset: 0; pointer-events: none; -webkit-mask: url(/img/site/bogate-ananasy-logo.webp) center / contain no-repeat; mask: url(/img/site/bogate-ananasy-logo.webp) center / contain no-repeat; background: linear-gradient(115deg, transparent 35%, rgba(255, 246, 200, .95) 50%, transparent 65%) 0 0 / 300% 100% no-repeat; mix-blend-mode: screen; animation: logo-glint 5s ease-in-out infinite; }
@keyframes logo-spin { 0%, 80% { transform: perspective(200px) rotateY(0); } 100% { transform: perspective(200px) rotateY(360deg); } }
@keyframes logo-spin-loop { from { transform: perspective(200px) rotateY(0); } to { transform: perspective(200px) rotateY(360deg); } }
@keyframes logo-shine-loop { 0%, 100% { filter: brightness(1.25) saturate(1.2) drop-shadow(0 0 2px rgba(255, 210, 90, .45)); } 50% { filter: brightness(1.7) saturate(1.35) drop-shadow(0 0 5px rgba(255, 210, 90, .8)); } }
@keyframes logo-glint-loop { 0% { background-position: 100% 0; opacity: 1; } 100% { background-position: 0 0; opacity: 1; } }
@keyframes logo-shine { 0%, 80%, 100% { filter: none; } 90% { filter: brightness(1.6) saturate(1.3) drop-shadow(0 0 4px rgba(255, 210, 90, .7)); } }
@keyframes logo-glint { 0%, 80% { background-position: 100% 0; opacity: 0; } 82% { opacity: 1; } 98% { background-position: 0 0; opacity: 1; } 100% { background-position: 0 0; opacity: 0; } }
.to-top { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; margin: -0.5rem 0; border-radius: 999px; color: #cdbac5; transition: color .3s; }
.to-top:hover { color: var(--szampan); }
.to-top path { animation: fly-up 1.6s cubic-bezier(.4, 0, .2, 1) infinite; }
.to-top path:nth-child(2) { animation-delay: .2s; } .to-top path:nth-child(3) { animation-delay: .4s; }
.to-top:hover path { animation-duration: .9s; }
@keyframes fly-up { 0% { transform: translateY(6px); opacity: 0; } 35% { opacity: 1; } 100% { transform: translateY(-10px); opacity: 0; } }

/* dolny pasek (telefon) */
.dolny { display: none; }

/* ---------- wjazdy ---------- */
html.anim [data-in] { opacity: 0; translate: 0 40px; transition: opacity .9s cubic-bezier(.2, .8, .2, 1), translate 1s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--i, 0) * 90ms); }
html.anim [data-in].is-in { opacity: 1; translate: 0 0; }
html.anim .gal__el[data-in]:nth-child(4n + 2):not(.is-in), html.anim .gal__el[data-in]:nth-child(4n + 4):not(.is-in) { translate: 0 80px; }
html.anim .gal__el.is-in:nth-child(4n + 2), html.anim .gal__el.is-in:nth-child(4n + 4) { translate: 0 40px; }
html.anim .strefa[data-in] { transition-property: opacity, translate; }

/* ---------- tablet ---------- */
@media (max-width: 1180px) {
  .nav__menu a { padding: 10px 10px; font-size: 15px; }
  .nav__tel span { display: none; }
  .nav__tel { width: 48px; padding: 0; }
  .okazje__lista { grid-template-columns: repeat(2, 1fr); }
  .okazja:nth-child(even) a { margin-top: 0; }
  .stan { grid-template-columns: repeat(2, 1fr); }
  .dni { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 980px) {
  .nav__menu, .jez--nav, .nav__tel { display: none; }
  .nav__burger { display: block; margin-left: auto; }
  .nav { height: 64px; --nav-h: 64px; padding: 0 7px 0 18px; }
  .start__lewa { text-align: center; }
  .start__uklad { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; justify-items: center; text-align: center; align-content: center; gap: 18px; padding: 96px var(--pas) 24px; }
  .start__luk { grid-row: 1; height: min(40svh, 120vw); }
  .start__lewa { grid-row: 2; }
  .start__prawa { grid-row: 3; display: grid; justify-items: center; }
  .start__h { font-size: clamp(36px, 9.6vw, 60px); }
  .start__lewa .etyk { display: none; }
  .start__opis { font-size: 15.5px; margin-bottom: 0; }
  .start__przyc { justify-content: center; margin: 16px 0 12px; }
  .start__przyc .btn { min-height: 48px; padding: 0 20px; font-size: 15px; }
  .start__neon { font-size: clamp(36px, 10vw, 56px); top: -0.35em; }
  .strefy__uklad, .dyskrecja__uklad, .lokal__uklad, .form-uklad, .dwie { grid-template-columns: 1fr; }
  .strefy__fotki { display: none; }
  .strefa { padding: 0 0 44px; border: 0; }
  .strefa__foto { display: block; margin-bottom: 20px; border-radius: 200px 200px 18px 18px; overflow: hidden; aspect-ratio: 5 / 4; }
  .strefa__foto img { width: 100%; height: 100%; object-fit: cover; }
  .punkty { grid-template-columns: 1fr; }
  .stopka__kol { grid-template-columns: 1fr 1fr; }
  .dyskrecja__foto { aspect-ratio: 5 / 4; }
  .lokal__foto { aspect-ratio: 4 / 4; }
}
/* ---------- telefon ---------- */
@media (max-width: 640px) {
  body { font-size: 16px; }
  .sek { padding: 72px 0; }
  .h2 { font-size: clamp(34px, 9.4vw, 46px); }
  .h2--duzy { font-size: clamp(36px, 10.4vw, 50px); }
  .manifest__t { font-size: clamp(26px, 7.4vw, 34px); }
  .fakty { grid-template-columns: 1fr; }
  .fakty li { grid-template-columns: 116px 1fr; align-items: center; padding: 18px 20px; }
  .fakty b { font-size: 40px; }
  .etyk { letter-spacing: .18em; font-size: 11.5px; }
  .dni { grid-template-columns: 1fr; gap: 8px; }
  .dzien { display: grid; grid-template-columns: 54px 1fr; grid-template-rows: auto auto; column-gap: 14px; row-gap: 2px; min-height: 0; padding: 14px 16px; align-items: center; }
  .dzien__kr { grid-row: 1 / 3; font-size: 34px; }
  .dzien__n { font-size: 16px; }
  .dzien__tryb { justify-self: end; grid-column: 2; grid-row: 1; }
  .dzien__o { grid-column: 2; margin: 0; font-size: 14px; }
  .dzien__dzis { top: 50%; right: auto; left: -6px; translate: 0 -50%; rotate: -90deg; font-size: 9px; padding: 3px 7px; display: none !important; }
  .dzien.is-dzis .dzien__n::after { content: ' · ' attr(data-dzis); }
  .okazje__lista, .stan { grid-template-columns: 1fr; }
  .okazja a { min-height: 420px; border-radius: 160px 160px 18px 18px; }
  .gal { grid-template-columns: 1fr 1fr; gap: 10px; }
  .gal__el:nth-child(4n + 2), .gal__el:nth-child(4n + 4), html.anim .gal__el.is-in:nth-child(4n + 2), html.anim .gal__el.is-in:nth-child(4n + 4) { translate: 0 24px; }
  .gal__podp { font-size: 12.5px; padding: 24px 10px 8px; }
  .dane div { grid-template-columns: 1fr; gap: 4px; }
  .dane--siatka { grid-template-columns: 1fr; }
  .form__siatka { grid-template-columns: 1fr; }
  .form { padding: 22px 18px; }
  .stopka__kol { grid-template-columns: 1fr; gap: 26px; }
  .stopka__dol { flex-wrap: wrap; }
  .stopka__dol > p:first-child { width: 100%; }
  .stopka__tworca { flex: 1; }
  .m-only { display: inline; } .d-only { display: none; }
  .to-top path { animation-duration: 2.6s; } .to-top path:nth-child(2) { animation-delay: .35s; } .to-top path:nth-child(3) { animation-delay: .7s; }
  .stopka { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  .dolny { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 6px; position: fixed; z-index: 100; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); padding: 6px; border-radius: 999px; background: rgba(18, 7, 20, .9); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: inset 0 0 0 1px rgba(232, 195, 126, .25), 0 14px 30px -10px #000; translate: 0 140%; transition: translate .5s cubic-bezier(.2, .9, .3, 1.2); }
  .dolny.is-widoczny { translate: 0 0; }
  .dolny a { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 48px; border-radius: 999px; text-decoration: none; font-weight: 600; font-size: 14.5px; }
  .dolny svg { width: 18px; height: 18px; }
  .dolny__glowny { background: var(--zloto); color: #2a1406; }
  html.menu-otwarte .dolny { translate: 0 140%; }
  .pieczec { width: 110px; top: -40px; right: -6px; }
  .pieczec__s b { font-size: 26px; } .pieczec__s .korona { width: 26px; }
  .dokument { padding: 70px 20px 34px; rotate: 0deg; }
  .punkty li { grid-template-columns: 44px 1fr; }
  .punkty__nr { font-size: 28px; }
  .telefon { scale: .85; transform-origin: 0 50%; }
  .tel-wielki a { font-size: clamp(40px, 12vw, 60px); }
  .podglowa { padding-top: calc(var(--nav-h) + 80px); }
  .podglowa__h { font-size: clamp(36px, 10.4vw, 52px); }
  .podglowa__kurt { width: 22px; }
  .kurtyna__gc { letter-spacing: .3em; font-size: 12px; }
  .lightbox { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr auto; padding: 70px 12px 20px; gap: 12px; }
  .lightbox__f { grid-column: 1 / -1; grid-row: 1; }
  .lightbox__s--p { grid-row: 2; justify-self: end; } .lightbox__s--n { grid-row: 2; justify-self: start; }
}
@media (max-width: 380px) { .start__przyc .btn { padding: 0 14px; font-size: 14px; } }
@media (max-height: 700px) and (min-width: 981px) { .start__luk { height: 64svh; } .start__h { font-size: clamp(40px, 4.4vw, 70px); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .stopka__neon span { color: #ffe6f2; text-shadow: 0 0 20px var(--roz); }
}
.form-uklad .h2 { font-size: clamp(34px, 3.6vw, 58px); }
@media (min-width: 981px) { .start__uklad { padding-inline: calc(6.5vw + 16px); } }
@media (max-width: 980px) and (max-height: 740px) { .start__luk { height: 30svh; } .start__opis { display: none; } .start__uklad { padding-top: 84px; gap: 12px; } }
