@font-face{font-family:Gothic;src:url("/static/fonts/PirataOne-Regular.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Barlow Condensed";font-weight:600;src:url("/static/fonts/BarlowCondensed-SemiBold.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Barlow Condensed";font-weight:700;src:url("/static/fonts/BarlowCondensed-Bold.ttf") format("truetype");font-display:swap}
@font-face{font-family:Barlow;font-weight:400;src:url("/static/fonts/Barlow-Regular.ttf") format("truetype");font-display:swap}
@font-face{font-family:Barlow;font-weight:500;src:url("/static/fonts/Barlow-Medium.ttf") format("truetype");font-display:swap}
:root{--gold:#d8c08f;--gold2:#f2dcae;--ink:#f4f1ea;--mute:#a8a397;--bg:#040505;--ease:cubic-bezier(.7,0,.2,1);--out:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font:400 16px/1.6 Barlow,sans-serif;cursor:none}
a{color:inherit;text-decoration:none;cursor:none}

/* warstwy tla */
.scene{position:fixed;inset:0;z-index:0;overflow:hidden}
#vid{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;opacity:0;filter:saturate(1.15) brightness(.55);transform:scale(1.12);
  transition:opacity 1.2s var(--ease),transform 2.4s var(--out)}
body[data-mode=mgmt] #vid{opacity:1;transform:scale(1)}
#fly{position:absolute;inset:0;perspective:1100px;opacity:0;transition:opacity 1s var(--ease)}
#fly{opacity:.5}
#fly figure{position:absolute;left:50%;top:50%;margin:0;width:340px;aspect-ratio:4/3;border-radius:14px;overflow:hidden;will-change:transform,opacity;
  box-shadow:0 30px 80px rgb(0 0 0/.55);outline:1px solid rgb(216 192 143/.18)}
#fly figure img{width:100%;height:100%;object-fit:cover;filter:blur(2.5px) saturate(.7) brightness(.6)}
.shade{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 45%,transparent 30%,rgb(4 5 5/.75) 90%),linear-gradient(90deg,rgb(4 5 5/.8),transparent 38%,transparent 62%,rgb(4 5 5/.7))}
.back{position:fixed;inset:0;display:grid;place-items:center;z-index:1;pointer-events:none}
.back span{font:700 clamp(120px,22vw,400px)/1 'Barlow Condensed';color:transparent;-webkit-text-stroke:1px rgb(216 192 143/.16);letter-spacing:.04em;white-space:nowrap;
  transition:opacity .5s,transform 1s var(--out)}
.back span.swap{opacity:0;transform:translateY(30px)}
canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:2;pointer-events:none}
.grain{position:fixed;inset:-50%;z-index:6;pointer-events:none;opacity:.07;animation:grain 1s steps(4) infinite;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes grain{25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-1%,3%)}}

/* tresc */
header{position:fixed;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:28px 4vw;z-index:9;font:600 12px 'Barlow Condensed';letter-spacing:.32em;text-transform:uppercase}
header .logo{font:700 18px 'Barlow Condensed';letter-spacing:.5em}
header nav{display:flex;gap:34px}header nav a{position:relative}
header nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
header nav a:hover::after{transform:scaleX(1);transform-origin:left}
.copy{position:fixed;left:6vw;bottom:12vh;z-index:5;max-width:600px;pointer-events:none}
.k{font:600 12px 'Barlow Condensed';letter-spacing:.4em;color:var(--gold);text-transform:uppercase;margin:0 0 14px}
h1{font:700 clamp(44px,5.2vw,86px)/.92 'Barlow Condensed';text-transform:uppercase;margin:0}
h1 .l{display:block;overflow:hidden;padding-bottom:.06em}
h1 .l>span{display:block;transform:translateY(110%);animation:up 1.2s var(--out) forwards}
h1 .l:nth-child(2)>span{animation-delay:.12s}h1 .l:nth-child(3)>span{animation-delay:.24s}h1 .l:nth-child(4)>span{animation-delay:.5s}
h1 i{font:400 1.08em Gothic;font-style:normal;text-transform:none;background:linear-gradient(100deg,var(--gold) 20%,#fff5dc 45%,var(--gold) 70%);background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
@keyframes up{to{transform:none}}
@keyframes shine{from{background-position:100% 0}to{background-position:-150% 0}}
.fade{opacity:0;animation:fade 1.4s .9s var(--out) forwards}@keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.hubs{position:fixed;right:5vw;top:96px;bottom:72px;z-index:5;display:flex;flex-direction:column;justify-content:center;gap:12px;width:400px}
.hubs .hub{flex-shrink:0}
.hub{display:block;border-radius:18px;border:1px solid rgb(216 192 143/.2);background:rgb(12 13 14/.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  overflow:hidden;opacity:0;transform:translateX(40px);animation:hubin 1.1s var(--out) forwards;
  transition:border-color .6s,background .6s,opacity .6s,box-shadow .6s}
.hub:nth-child(1){animation-delay:.7s}.hub:nth-child(2){animation-delay:.82s}.hub:nth-child(3){animation-delay:.94s}
@keyframes hubin{to{opacity:1;transform:none}}
.hub .top{display:flex;align-items:center;gap:16px;padding:14px 18px}
.hub .top img{height:46px;transition:transform .8s var(--out)}
.hub b{font:700 21px/1 'Barlow Condensed';text-transform:uppercase;display:block;letter-spacing:.02em}
.hub small{color:var(--mute);font-size:13px}
.hub .arr{margin-left:auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid rgb(216 192 143/.3);color:var(--gold);
  transition:background .5s,color .5s,transform .6s var(--out)}
.hub .more{display:grid;grid-template-rows:1fr;transition:grid-template-rows .8s var(--ease)}
.hub .more>div{overflow:hidden}
.hub .more p{margin:0;padding:2px 20px 0 80px;color:#ddd8cd;font-size:14.5px;line-height:1.55;transition:opacity .5s,transform .7s var(--out)}
.hub .tags{display:flex;flex-wrap:wrap;gap:6px;padding:12px 20px 18px 80px}
.hub .tags span{font:600 10.5px 'Barlow Condensed';letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border:1px solid rgb(216 192 143/.28);border-radius:999px;padding:3px 10px}
.hubs:hover .hub{opacity:.72}
.hubs .hub:hover,.hubs .hub.on{opacity:1;border-color:rgb(216 192 143/.6);background:rgb(16 15 13/.7);box-shadow:0 0 0 1px rgb(216 192 143/.12),0 30px 80px rgb(0 0 0/.5),inset 0 1px 0 rgb(255 240 210/.12)}
.hub:hover .more,.hub.on .more{grid-template-rows:1fr}
.hub:hover .more p,.hub.on .more p{opacity:1;transform:none;transition-delay:.2s}
.hub:hover .tags,.hub.on .tags{opacity:1;transition-delay:.35s}
.hub:hover .arr,.hub.on .arr{background:linear-gradient(135deg,var(--gold2),#c9a86a);color:#15130e;transform:rotate(-45deg)}
.hub:hover .top img,.hub.on .top img{transform:scale(1.08)}

.cursor{position:fixed;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--gold);z-index:20;pointer-events:none;mix-blend-mode:difference}
.ring{position:fixed;left:0;top:0;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:1px solid rgb(216 192 143/.6);z-index:20;pointer-events:none;
  transition:width .5s var(--out),height .5s var(--out),margin .5s var(--out),background .5s}
body.hov .ring{width:86px;height:86px;margin:-43px 0 0 -43px;background:rgb(216 192 143/.08)}
.scrollhint{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:5;font:600 10px 'Barlow Condensed';letter-spacing:.4em;color:var(--mute);text-transform:uppercase}

@media (max-width:900px){
  html,body{overflow:auto;height:auto;min-height:100%;cursor:auto}#fly{opacity:.35}header{position:absolute}a{cursor:pointer}.cursor,.ring,.scrollhint{display:none}
  .copy{position:relative;left:auto;bottom:auto;padding:46vh 16px 24px}
  .hubs{position:relative;right:auto;top:auto;bottom:auto;width:auto;padding:0 16px 40px;display:grid}
  .hub .more p{padding-left:20px}.hub .tags{padding-left:20px}
}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01s!important;transition-duration:.01s!important}}

.legal{position:fixed;left:8vw;right:8vw;bottom:8px;z-index:5;margin:0;text-align:center;font-size:10.5px;line-height:1.5;color:#6f6b62;letter-spacing:.02em}
.legal a{color:#8d897f;text-decoration:underline;cursor:none}
@media (max-width:900px){html,body{overflow-x:hidden}.legal{position:relative;left:auto;right:auto;bottom:auto;padding:0 16px 24px;overflow-wrap:anywhere}.legal a{cursor:pointer}.back{overflow:hidden}}
/* nizsze ekrany komputera: kafle zwarte, zeby nie wchodzily pod naglowek (27.09.2026) */
@media (min-width:901px) and (max-height:900px){.hub .tags{display:none}.hub .more p{padding-bottom:14px;font-size:13.5px}}
@media (min-width:901px) and (max-height:700px){.hub .more{display:none}.hub:hover .more{display:grid}.hub .top{padding:10px 16px}.hub .top img{height:38px}.hubs{gap:10px}}
