/* Pełnoekranowe menu (wzór: landonorris.com): przesuwające się zdjęcia, duże litery */
html[data-fullmenu] .nav-links > a:not(.btn), html[data-fullmenu] .nav-dd, html[data-fullmenu] .burger { display:none !important; }
.fm-open-btn { display:inline-flex; align-items:center; gap:10px; height:46px; padding:0 20px 0 18px; border-radius:100px; border:1.5px solid rgba(43,10,71,.25); background:rgba(43,10,71,.04);
  color:var(--text,#1c1226); font:700 .85rem var(--sans, Poppins, sans-serif); letter-spacing:.14em; text-transform:uppercase; cursor:pointer; transition: background .25s, border-color .25s, transform .25s; }
.fm-open-btn:hover { background:var(--lime,#cbe800); color:#2b0a47; border-color:transparent; }
:root[data-theme="dark"] .fm-open-btn { border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.06); color:#fff; }
:root[data-theme="dark"] .fm-open-btn:hover { background:var(--lime,#cbe800); color:#2b0a47; border-color:transparent; }
.sr-only { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.fm-open-btn i { display:grid; gap:4px; width:18px; } .fm-open-btn i::before, .fm-open-btn i::after { content:""; display:block; height:2px; background:currentColor; border-radius:2px; transition: transform .3s; }
.fm-open-btn:hover i::before { transform: translateX(3px); } .fm-open-btn:hover i::after { transform: translateX(-3px); }

html.fm-lock { overflow:hidden; }
.fm { position:fixed; inset:0; z-index:9000; display:grid; grid-template-columns: minmax(0,1.02fr) minmax(0,1fr); background:#12041e; color:#fff; font-family:var(--sans, Poppins, sans-serif);
  clip-path: circle(0% at var(--fx,92%) var(--fy,6%)); visibility:hidden; transition: clip-path .75s cubic-bezier(.7,0,.2,1), visibility 0s .75s; overflow:hidden; }
.fm.open { clip-path: circle(150% at var(--fx,92%) var(--fy,6%)); visibility:visible; transition: clip-path .85s cubic-bezier(.7,0,.2,1), visibility 0s; }
.fm::before { content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background: radial-gradient(900px 600px at 78% 20%, rgba(228,0,124,.20), transparent 62%), radial-gradient(800px 600px at 10% 90%, rgba(138,24,176,.25), transparent 62%);
}
.fm::after { content:""; position:absolute; inset:0; pointer-events:none; z-index:0; opacity:.5;
  background-image: repeating-radial-gradient(circle at 70% 60%, transparent 0 46px, rgba(255,255,255,.05) 47px 48px); }

/* lewa strona: dwie kolumny zdjęć, jedna jedzie w górę, druga w dół */
.fm-photos { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:clamp(14px,2vw,28px); padding-inline:clamp(14px,2.4vw,40px); overflow:hidden; }
.fm-col { display:flex; flex-direction:column; gap:clamp(14px,2vw,28px); will-change:transform; animation: fmUp 70s linear infinite; }
.fm-col.b { animation-name: fmDown; animation-duration: 82s; margin-top:-30vh; }
.fm-photos:hover .fm-col { animation-play-state: paused; }
@keyframes fmUp { to { transform: translateY(-50%); } }
@keyframes fmDown { from { transform: translateY(-50%); } to { transform: translateY(0); } }
.fm-ph { position:relative; flex:none; overflow:hidden; border-radius:4px; background:#2b0a47; }
.fm-ph:nth-child(odd) { aspect-ratio: 4/5; } .fm-ph:nth-child(even) { aspect-ratio: 5/4; }
.fm-ph img { width:100%; height:100%; object-fit:cover; display:block; filter: grayscale(1) contrast(1.05) brightness(.82); transform: scale(1.04); transition: filter .5s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.fm-ph::after { content:""; position:absolute; inset:0; pointer-events:none; mix-blend-mode:multiply; background: linear-gradient(160deg, rgba(60,12,100,.85), rgba(160,24,150,.55)); transition: opacity .5s ease; }
.fm-ph:hover img { filter:none; transform: scale(1); } .fm-ph:hover::after { opacity:0; }

/* prawa strona: duże pozycje menu */
.fm-main { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding: 84px clamp(20px,3vw,48px) 28px; overflow-y:auto; }
.fm-nav { display:flex; flex-direction:column; align-items:center; gap:.05em; margin:0; padding:0; list-style:none; }
.fm-nav > li { position:relative; overflow:hidden; padding-bottom:.08em; }
.fm-link { position:relative; display:inline-block; font-weight:800; text-transform:uppercase; letter-spacing:-.025em; line-height:.98; font-size: clamp(1.9rem, min(5.2vw, 8.4vh), 5rem); color:#eef0d8; transition: color .25s, opacity .25s; }
.fm-link .c { display:inline-block; transform: translateY(110%); transition: transform .8s cubic-bezier(.2,.7,.2,1); transition-delay: calc(var(--i, 0) * 22ms + 180ms); }
.fm.open .fm-link .c { transform:none; }
.fm-nav:hover .fm-link { opacity:.45; } .fm-nav .fm-link:hover { opacity:1; color: var(--lime,#cbe800); }
.fm-link[aria-current="page"] { color:#fff; }
.fm-squig { position:absolute; left:-4%; width:108%; top:50%; height:.34em; transform: translateY(-50%); overflow:visible; pointer-events:none; }
.fm-squig path { fill:none; stroke: var(--lime,#cbe800); stroke-width:5; stroke-linecap:round; stroke-dasharray: 520; stroke-dashoffset: 520; transition: stroke-dashoffset 1s cubic-bezier(.5,0,.2,1) .7s; }
.fm.open .fm-squig path { stroke-dashoffset: 0; }
.fm-sub { display:flex; flex-wrap:wrap; justify-content:center; gap:.4em 1.4em; margin: .2em 0 .5em; }
.fm-sub a { font-size: clamp(.85rem,1.2vw,1.05rem); font-weight:600; letter-spacing:.16em; text-transform:uppercase; color: rgba(255,255,255,.7); transition: color .2s; }
.fm-sub a:hover { color: var(--lime,#cbe800); }
.fm-meta { margin-top: clamp(22px,4vh,46px); display:flex; flex-direction:column; gap:.7em; align-items:center; font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.62); }
.fm-meta a { color:#fff; font-weight:700; } .fm-meta a:hover { color: var(--lime,#cbe800); }
.fm-meta .row { display:flex; flex-wrap:wrap; gap:.5em 1.6em; justify-content:center; }

/* góra: logo, przyciski */
.fm-top { position:absolute; z-index:5; left:0; right:0; top:0; display:flex; align-items:center; justify-content:space-between; padding: clamp(14px,2vw,26px) clamp(14px,2.4vw,40px); pointer-events:none; }
.fm-top > * { pointer-events:auto; }
.fm-logo img { display:block; height: clamp(34px, 4vw, 52px); width:auto; }
.fm-top .acts { display:flex; gap:12px; align-items:center; }
.fm-top .btn { height:46px; }
.fm-close { width:46px; height:46px; border-radius:12px; border:0; background:#f1efe4; color:#2b0a47; display:grid; place-items:center; cursor:pointer; transition: transform .35s cubic-bezier(.2,.7,.2,1), background .2s; }
.fm-close:hover { transform: rotate(90deg); background: var(--lime,#cbe800); }
.fm-close svg { width:18px; height:18px; }

@media (max-width: 860px) {
  .fm { grid-template-columns: 1fr; }
  .fm-photos { display:none; }
  .fm-main { padding-top: 100px; }
}
@media (prefers-reduced-motion: reduce) {
  .fm, .fm.open { transition:none; clip-path:none; } .fm:not(.open) { display:none; }
  .fm-col { animation:none; } .fm-link .c { transform:none; transition:none; } .fm-squig path { transition:none; stroke-dashoffset:0; }
}

.fm-sub a.s2 { opacity:.75; }
.fm-sub a.s2::before { content:'· '; }
