:root{--gold:#c9a227;--ease:cubic-bezier(.16,1,.3,1)}
html{scroll-padding-top:95px}body>div[style]{overflow:clip!important}section{isolation:isolate}
#top{max-width:none!important;overflow:clip;perspective:1200px}
.motion-hero-scene{position:absolute;inset:0;z-index:0;overflow:hidden;clip-path:inset(0);animation:sceneOpen 2.2s var(--ease) both}
.motion-hero-scene>img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;filter:brightness(.62) saturate(.72);animation:lightDrift 24s ease-in-out infinite alternate;will-change:transform}
.motion-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.97),rgba(5,5,5,.62) 48%,rgba(5,5,5,.18)),linear-gradient(0deg,#050505 0%,transparent 35%,#05050555)}
#gv-hero-portrait{display:none!important}
#top>div:not(.motion-hero-scene){grid-column:1 / 10!important;max-width:1040px;position:relative;z-index:2!important}
#top h1{font-size:clamp(54px,8.1vw,132px)!important;line-height:1.04!important;letter-spacing:-.045em!important;text-shadow:0 4px 40px #0008;word-spacing:normal!important}
#top h1 span{width:auto!important}
#top h1 span:nth-child(2){color:#d6ccaf!important}
#top [data-i18n="hero.sub"]{position:static!important;max-width:40ch!important;color:#dad8d0!important}
#top>div:not(.motion-hero-scene)>div:last-child{position:static!important;margin-top:clamp(8px,calc(var(--gvh,100vh)*.03),34px)!important}
.motion-orbit{position:absolute;width:min(70vw,1000px);aspect-ratio:1;right:-10%;top:8%;border:1px solid #f4dc9333;border-radius:50%;animation:orbitTurn 90s linear infinite;pointer-events:none}.motion-orbit i{position:absolute;inset:4%;border:1px dashed #e8cf7626;border-radius:50%}.motion-orbit i:nth-child(2){inset:13%;border-style:solid;border-color:#e8cf761c}.motion-orbit i:nth-child(3){inset:-4%;border-color:transparent;border-top-color:#efd48377;transform:rotate(30deg)}
#motion-progress{position:fixed;inset:0 auto auto 0;width:100%;height:2px;background:linear-gradient(90deg,#7a6334,#f4dc93);transform:scaleX(0);transform-origin:left;z-index:110;pointer-events:none}
#motion-toggle{position:fixed;right:28px;bottom:28px;z-index:100;border:1px solid #c9a22766;border-radius:50%;width:44px;height:44px;color:#ead9a4;background:#0a0a0bcc;backdrop-filter:blur(12px);cursor:pointer;font-size:18px}
section:not(#top)::before{content:"";position:absolute;top:0;left:5%;width:90%;height:1px;background:linear-gradient(90deg,transparent,#b7974144,transparent);transform:scaleX(var(--section-open,0));transition:transform 1.5s var(--ease)}
/* WJAZD (Kodzior T44 OPU5-a968, 2026-09-07): stan ukryty obowiazuje od PIERWSZEGO malowania - klasa
   gv-boot siedzi na <html> juz z <head>, wiec tresc nigdy nie odtwarza wjazdu WSTECZ (dotad: widoczna ->
   gasla i zjezdzala 55 px -> wracala). Przejscie zadeklarowane WYLACZNIE na .is-visible => moze animowac
   tylko do srodka. Dystans przez --rise, zeby nie bylo wyscigu !important. */
html.gv-boot section:not(#top) .gv-reveal:not(.is-visible),html.gv-boot .motion-reveal:not(.is-visible){opacity:0;transform:translate3d(0,var(--rise,55px),0);filter:var(--rev-blur,blur(7px))}
html.gv-boot section:not(#top) .gv-reveal.is-visible,html.gv-boot .motion-reveal.is-visible{opacity:1;transform:none;filter:none}
/* Wjazd prowadzi JS z pozycji na ekranie (jak przewijana sekwencja w 01), wiec zadna tranzycja CSS
   nie moze dokladac drugiego kierowcy do opacity/transform - to byl dokladnie ten sam blad, co na panelu. */
html.gv-boot section:not(#top) .gv-reveal,html.gv-boot .motion-reveal{transition:none}
#camera-sequence{position:relative;height:calc(var(--gvh,100svh) * 4.8);min-height:2400px}
#camera-sticky{position:sticky;top:88px;height:calc(var(--gvh,100svh) - 105px);display:flex;flex-direction:column;justify-content:center;gap:16px}
#gv-focal{flex:none;padding:0!important;gap:clamp(12px,2.8vw,40px)!important;min-height:42px}
.gv-tab{font-size:clamp(12px,1vw,14px)!important;min-height:44px;letter-spacing:.1em!important;position:relative}
.gv-tab::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .45s ease}.gv-tab.motion-selected::after{transform:scaleX(1)}
#gv-stage{position:relative;overflow:hidden;isolation:isolate;margin-top:0!important;flex:1;width:100%;aspect-ratio:auto!important;min-height:0!important;max-height:calc(var(--gvh,100svh) * .72);border-color:#d5b77744!important;box-shadow:0 35px 100px #0007}
#gv-stage .gv-panel{transition:none!important;overflow:hidden}
#gv-stage .gv-panel[data-panel="3"]>div{inset:0!important}
#gv-stage .gv-panel img{transform:none;object-position:var(--subject-x,50%) var(--subject-y,50%)}
.gv-slot{overflow:hidden}.gv-slot>span{display:none!important}
#gv-focal-caption{flex:none;margin:0!important;font-size:14px!important;min-height:26px;line-height:1.6!important}
#camera-track{height:1px;background:#ffffff18;flex:none;overflow:hidden}#camera-track span{display:block;width:100%;height:100%;background:#c9a227;transform-origin:left;transform:scaleX(0)}
#gv-stage::after{content:"";position:absolute;pointer-events:none;inset:0 auto auto 0;width:46px;height:46px;border:1px solid #f4dc9366;transform:translate3d(var(--fx,50%),var(--fy,40%),0) translate(-50%,-50%);box-shadow:0 0 0 10px #0001;z-index:8;opacity:.5}
.work-head{display:flex;align-items:baseline;gap:18px;margin-bottom:clamp(60px,calc(var(--gvh,100vh)*.1),120px);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase}.work-head span:first-child{color:var(--gold)}.work-head span:nth-child(2){color:#ffffff70}.work-head i{flex:1;height:1px;background:#ffffff1f}
.work-manifesto{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(30px,5vw,80px)}
/* Preserve the complete original 2:3 portrait, with copy below it. */
.work-thesis{grid-column:1 / 7;position:relative;align-self:start;min-width:0}
.work-portrait{position:relative;margin:0;background:#050505}
.work-portrait img{display:block;width:100%;height:auto;aspect-ratio:2 / 3;object-fit:contain;transform:none;filter:none}
.work-portrait figcaption{position:static;padding:18px 0;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#ffffff73}
.work-thesis-copy{position:relative;padding:24px 0 0}
.work-thesis-copy>span{display:block;font-family:'IBM Plex Mono',monospace;font-size:10px;line-height:1.7;letter-spacing:.17em;text-transform:uppercase;color:#ffffff99;margin-bottom:22px}
.work-thesis h2{font-size:clamp(40px,4.5vw,72px);font-weight:200;line-height:.94;letter-spacing:-.045em;margin:0}
.work-thesis h2 em{font-style:normal;color:#d5b34c}
.work-thesis p{max-width:34ch;margin:24px 0 0;font-size:clamp(14px,1.05vw,17px);font-weight:200;line-height:1.65;color:#ffffffa8}
.work-effects{grid-column:7 / 13}.work-effect{position:relative;min-height:clamp(190px,calc(var(--gvh,100vh)*.27),310px);display:grid;grid-template-columns:50px 1fr auto;gap:clamp(18px,2.5vw,38px);align-items:center;border-top:1px solid #ffffff1f;transition:background .7s,color .7s}
/* podswietlenie przesuwa TRESC transformem, nie paddingiem: padding zwezal pole tekstu, wiec akapit
   sie PRZELAMYWAL od nowa przy kazdym zapaleniu = to byly te podskoki (Dawid, 07.09 07:23) */
.work-effect>span,.work-effect>div{transition:transform .7s var(--ease)}
.work-effect.is-active>span,.work-effect.is-active>div{transform:translateX(18px)}.work-effect:last-child{border-bottom:1px solid #ffffff1f}.work-effect>span{align-self:start;padding-top:34px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:#ffffff55}.work-effect h3{margin:0;font-size:clamp(42px,5vw,82px);font-weight:200;line-height:1;letter-spacing:-.035em;color:#ffffff52;transition:color .65s var(--ease),transform .65s var(--ease)}.work-effect p{max-width:32ch;margin:18px 0 0;font-size:clamp(15px,1.2vw,18px);line-height:1.6;font-weight:200;color:#ffffff67}.work-effect b{font-family:'IBM Plex Mono',monospace;font-weight:300;font-size:24px;color:#c9a227;opacity:0;transform:translate(-20px,20px);transition:.65s var(--ease)}.work-effect.is-active{background:linear-gradient(90deg,#c9a2270d,transparent)}.work-effect.is-active h3{color:#fff;transform:translateX(8px)}.work-effect.is-active b{opacity:1;transform:none}
.work-line{height:1px;background:#ffffff14;margin-top:clamp(70px,calc(var(--gvh,100vh)*.12),150px);overflow:hidden}.work-line span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#6f592c,#efd271);transform:scaleX(0);transform-origin:left;will-change:transform}
.gv-cap-right>div{transition:background .5s,padding .5s!important}/* Bylo: `:hover{padding-left:18px!important}`. Dwa bledy naraz. (1) `padding` to UKLAD — wciecie
   zwezalo pole tekstu, wiec akapit LAMAL SIE OD NOWA. (2) Na dotyku `:hover` przykleja sie do
   ostatnio dotknietego elementu i zostaje — Dawid naciskal tekst, zeby przewinac, a wiersz
   przeskakiwal i zapalal sie na zloto. Teraz: efekt tylko dla myszki i tylko przez transform. */
.gv-cap-right>div{transition:background .35s ease}
.gv-cap-right>div>*{transition:transform .35s var(--ease)}
@media(hover:hover) and (pointer:fine){
 .gv-cap-right>div:hover{background:linear-gradient(90deg,#c9a22710,transparent)}
 .gv-cap-right>div:hover>*{transform:translateX(18px)}
}@media(hover:hover) and (pointer:fine){.gv-cap-right>div:hover>span{color:#e4c676!important}}
#gv-rates>div{transition:background .5s!important}#gv-rates>div:hover{background:#c9a22708}
#motion-reticle{position:fixed;left:0;top:0;width:52px;height:52px;z-index:95;pointer-events:none;opacity:0;transition:opacity .25s}#motion-reticle i{position:absolute;width:12px;height:12px;border-color:#edcd73;border-style:solid;border-width:0}#motion-reticle i:nth-child(1){top:0;left:0;border-top-width:1px;border-left-width:1px}#motion-reticle i:nth-child(2){top:0;right:0;border-top-width:1px;border-right-width:1px}#motion-reticle i:nth-child(3){bottom:0;left:0;border-bottom-width:1px;border-left-width:1px}#motion-reticle i:nth-child(4){bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}.motion-on #motion-reticle.tracking{opacity:.75}
@keyframes sceneOpen{from{clip-path:inset(44% 18%);filter:blur(16px);transform:scale(1.18)}to{clip-path:inset(0);filter:blur(0);transform:scale(1)}}@keyframes lightDrift{from{transform:scale(1.08) translate(-1%,0)}to{transform:scale(1.18) translate(1.5%,-1%)}}@keyframes orbitTurn{to{transform:rotate(360deg)}}
@media(min-width:1000px){#gv-cap .gv-cap-left{position:sticky;top:130px;align-self:start}}
@media(max-width:700px){#top>div:not(.motion-hero-scene){grid-column:1 / -1!important}.motion-hero-shade{background:linear-gradient(90deg,#050505dd,#05050555),linear-gradient(0deg,#050505 0%,transparent 50%,#05050555)}.motion-hero-scene>img{object-position:58% 50%}.motion-orbit{width:110vw;right:-40%;top:20%}#camera-sequence{height:calc(var(--gvh,100svh) * 4.2);min-height:2200px}#camera-sticky{top:78px;height:calc(var(--gvh,100svh) - 100px);gap:12px}#gv-focal{gap:12px!important;flex-wrap:wrap!important}.gv-tab{font-size:12px!important;letter-spacing:.02em!important}#gv-focal-count{display:none}#gv-stage{max-height:none}#gv-focal-caption{font-size:13px!important}.work-manifesto{display:block}.work-thesis{margin-bottom:70px}.work-thesis h2{font-size:clamp(39px,12vw,62px)}.work-thesis p{font-size:14px}.work-effects{width:100%}.work-effect{grid-template-columns:36px 1fr auto;min-height:190px}.work-effect h3{font-size:clamp(42px,14vw,70px)}#motion-toggle{right:18px;bottom:18px}#motion-reticle{display:none}#gv-rail{display:none!important}section:not(#top){padding-left:28px!important;padding-right:28px!important}}
.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}.motion-paused .motion-reveal{opacity:1!important;filter:none!important;transform:none!important}
/* With motion disabled, every photograph remains available without tabs. */
.motion-paused #camera-sequence{height:auto;min-height:0}.motion-paused #camera-sticky{position:relative;top:auto;height:auto;display:block}.motion-paused #gv-focal,.motion-paused #camera-track,.motion-paused #gv-focal-caption{display:none!important}.motion-paused #gv-stage{display:grid;gap:24px;overflow:visible;border:0!important;max-height:none;box-shadow:none}.motion-paused #gv-stage>.gv-panel{position:relative!important;inset:auto!important;height:auto;aspect-ratio:3 / 2;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;pointer-events:auto!important}.motion-paused #gv-stage>div:not(.gv-panel),.motion-paused #gv-stage::after{display:none}.motion-paused .gv-work-item img{transform:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.motion-reveal{opacity:1!important;filter:none!important;transform:none!important}#motion-reticle{display:none}}

.gallery-cta{color:#d0b35f!important;font-family:Outfit,sans-serif;font-size:14px;white-space:nowrap;padding:12px 16px;border:1px solid #d0b35f66;transition:background .3s}.gallery-cta:hover{background:#d0b35f18}@media(min-width:1000px){#gv-nav{gap:clamp(8px,1.25vw,22px)!important}}

/* Authorial copy: a short lead followed by room for the photographs. */
.story-copy{display:block}
.seeing-intro{display:flex;gap:40px;justify-content:space-between;align-items:end;margin:-20px 0 65px}
.seeing-intro p{font-size:clamp(18px,1.5vw,22px);line-height:1.75;font-weight:200;color:#ffffff99;max-width:44ch;margin:0}
.seeing-intro a,.story-entry{font-size:16px;color:#dbc18f;border-bottom:1px solid #c9a22755;padding:12px 0;align-self:flex-start;max-width:max-content}
.seeing-intro a{flex-shrink:0}
html[lang="pl"] #top h1{font-size:clamp(72px,10.5vw,164px)!important}
html[lang="pl"] #seeing [data-i18n="s1.title"]{max-width:20ch}
html[lang="pl"] .work-thesis h2{font-size:clamp(36px,4vw,64px);line-height:1.07}
html[lang="pl"] .work-effect h3{font-size:clamp(38px,4.5vw,72px)}
@media(max-width:700px){.seeing-intro{display:block}.seeing-intro a{display:inline-block;margin-top:20px}html[lang="pl"] #top h1{font-size:clamp(65px,15vw,100px)!important}}

/* Kodzior T44 · ikony social w stalej belce (jada ze scrollem razem z headerem) */
.gv-right{display:flex;align-items:center;gap:18px}
.gv-social{display:flex;align-items:center;gap:14px}
.gv-social a{display:flex;color:rgba(255,255,255,.6);transition:color .35s ease}
.gv-social a:hover,.gv-social a:focus-visible{color:#C9A227}
.gv-social svg{width:18px;height:18px}
@media(max-width:760px){.gv-right{gap:10px}.gv-social{gap:12px}.gv-social svg{width:21px;height:21px}}

/* Kodzior T44 · telefon: bez blur przy wjeździe (GPU), krótszy wjazd, mniejszy skok */
@media(max-width:760px),(pointer:coarse){
/* (dawne nadpisania wjazdu usuniete: przegrywaly specyficznosc z regula bazowa = martwy kod) */
}

/* Kodzior T44 · poprawki po oglądzie Dawida na telefonie (22:23) */
.gv-social a[hidden]{display:none!important}
@media(max-width:900px){#capabilities [data-i18n="s3.title"]{margin-bottom:28px!important}}

/* Kodzior T44 · menu mobilne: Galeria w tym samym rozmiarze co reszta pozycji */
#gv-menu .gallery-cta{font-size:26px!important;font-weight:200;letter-spacing:-.01em;padding:14px 0!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;white-space:normal;background:none!important;color:#C9A227!important}

/* Kodzior T44 · strzałki jako tekst, nie emoji (iOS) */
body{font-variant-emoji:text}

/* Kodzior T44 · po audytach 06.09: WCAG AA kontrast, cele dotykowe ≥24px, nagłówek 768/320, CTA „Umów sesję” */
.gv-rail-node,#gv-lens,#gv-focal-count,.gv-tab,.gv-micro,#gv-cred,#gv-af,#gv-contact label span,.work-effect>span{color:rgba(255,255,255,.5)!important}
#gv-nav .gv-nav-link{color:rgba(255,255,255,.6)!important}
.work-effect h3{color:rgba(255,255,255,.4)}
.work-effect.is-active h3{color:#fff}
.work-effect p{color:rgba(255,255,255,.62)!important}
#top [data-i18n="hero.cue"],section [data-i18n$=".label"]{color:rgba(255,255,255,.5)!important}
#gv-rail-node,footer a,footer span{color:rgba(255,255,255,.5)}
.gv-social a{padding:6px;margin:-6px 0}
#gv-lang button{min-height:24px;padding:4px 3px!important}
#gv-lang-m button{min-height:44px}
.gv-tab{min-height:24px}
.book-cta{color:#050505!important;background:#C9A227;border-color:#C9A227}
.book-cta:hover{background:#d7b345}
#gv-menu .book-cta{color:#C9A227!important;background:none!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
@media(max-width:900px){.gv-right{margin-left:auto}}
@media(max-width:340px){header{gap:10px!important;padding-left:18px!important;padding-right:18px!important}.gv-social{gap:8px}}
.gv-incl{display:block;margin-top:6px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.14em;color:rgba(255,255,255,.5);font-weight:400}
.gv-incl:has([data-price-incl]:empty){display:none}

/* Kodzior T44 · po audycie wizualnym: pauza nie zasłania stopki/menu, menu przewijalne, hero bez pustej linii na telefonie */
html.gv-footer-visible #motion-toggle,html.gv-menu-open #motion-toggle{opacity:0;pointer-events:none;transition:opacity .3s}
#gv-menu{overflow-y:auto;-webkit-overflow-scrolling:touch}
@media(max-width:900px){#top h1 [data-i18n="hero.b"]{margin-top:10px!important}}
body.still header{background:linear-gradient(#070605f2,#07060599);backdrop-filter:blur(10px)}

/* Kodzior T44 · 07.09 rano: telefon bez pożeraczy GPU (Dawid: „wjazd pod 01 skacze”) */
@media(pointer:coarse),(max-width:900px){
header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(5,5,5,.94)!important}
#gv-menu{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(5,5,5,.985)!important}
/* dryf swiatla i orbita WRACAJA na telefon: animuja wylacznie transform (kompozytor), byly niewinne */
:root{--rise:26px;--rev-o:.9s;--rev-t:1s;--rev-blur:none}
/* panel: JS przepisuje opacity w kazdej klatce - wlasna tranzycja CSS byla DRUGIM kierowca na tej samej
   kierownicy (restart animacji ~25x/s => obraz dojezdzal dopiero po zatrzymaniu palca). Usunieta. */
#gv-stage .gv-panel{transition:none!important;transform:none!important;clip-path:none!important;filter:none!important}
/* backdrop-filter na przycisku = odczyt bufora ramki i rozmycie W KAZDEJ KLATCE scrolla; na czerni niewidoczne */
#motion-toggle{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#0a0a0bf2!important}
/* geometria pierwszego ekranu prosto z CSS - te same wartosci, ktore i tak ustawia applyResponsive();
   dzieki temu PIERWSZE malowanie jest od razu poprawne i blok nie podskakuje o ~100 px po starcie JS */
#top{align-content:start!important;padding-top:92px!important;padding-bottom:54px!important}
#top>div:not(.motion-hero-scene){gap:18px!important}
#top [data-i18n="hero.sub"]{max-width:244px!important;font-size:14px!important;line-height:1.62!important}
/* otwarcie kadru bez rozmycia pelnego ekranu 1616 px (clip-path + scale zostaja) */
.motion-hero-scene{animation-name:sceneOpenLite}
}
html.gv-hero-off .motion-hero-scene>img,html.gv-hero-off .motion-orbit{animation-play-state:paused}
/* ⚠️ USUNIETE (07.09 wieczor): `will-change:auto` przy gv-hero-off niszczylo warstwe hero za
   kazdym razem, gdy scroll przekraczal granice sekcji — przy zmianie kierunku tam i z powrotem
   dawalo to MRUGNIECIE. Pauza animacji nizej wystarcza; jedna warstwa hero nie boli. */
@keyframes sceneOpenLite{from{clip-path:inset(44% 18%);transform:scale(1.18)}to{clip-path:inset(0);transform:none}}
/* stany zatrzymania obejmuja teraz takze .gv-reveal (klasa z HTML, nie tylko ta dodawana przez JS) */
.motion-paused .gv-reveal,html[data-fx~="noreveal"] .gv-reveal{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}


/* ══ Kodzior T44 · OPU5-a968 · 2026-09-07 — DIAGNOSTYKA ?fx= (martwe bez parametru w URL) ══ */
#gv-fx-badge{position:fixed;left:10px;bottom:10px;z-index:9999;font:600 10px/1 Outfit,-apple-system,system-ui,sans-serif;letter-spacing:.12em;color:#050505;background:#C9A227;padding:8px 10px;border-radius:2px;pointer-events:none;box-shadow:0 6px 20px #0009}
html[data-fx~="nofonts"] body,html[data-fx~="nofonts"] body *{font-family:-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,sans-serif!important}
html[data-fx~="noreveal"] .motion-reveal,html[data-fx~="noreveal"] .gv-reveal{transition:none!important;opacity:1!important;transform:none!important;filter:none!important}
html[data-fx~="nostage"] #camera-sequence{height:auto!important;min-height:0!important}
html[data-fx~="nostage"] #camera-sticky{position:relative!important;top:auto!important;height:auto!important;display:block!important}
html[data-fx~="nostage"] #gv-focal,html[data-fx~="nostage"] #camera-track,html[data-fx~="nostage"] #gv-focal-caption{display:none!important}
html[data-fx~="nostage"] #gv-stage{display:grid!important;gap:18px;overflow:visible!important;border:0!important;max-height:none!important;box-shadow:none!important;aspect-ratio:auto!important}
html[data-fx~="nostage"] #gv-stage>.gv-panel{position:relative!important;inset:auto!important;height:auto!important;aspect-ratio:3 / 2;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;pointer-events:auto!important;will-change:auto!important;transition:none!important;z-index:auto!important}
html[data-fx~="nostage"] #gv-stage>div:not(.gv-panel),html[data-fx~="nostage"] #gv-stage::after{display:none!important}

#gv-fx-trace{position:fixed;left:8px;bottom:8px;z-index:10000;font:600 10px/1.5 'IBM Plex Mono',monospace;color:#050505;background:#C9A227;padding:8px 10px;border-radius:2px;pointer-events:none;white-space:pre;max-width:calc(100vw - 16px)}

/* ── Rejestrator ?fx=rec (martwy bez parametru w URL) ── */
#gv-rec{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:10001;
 background:#C9A227;color:#050505;border:0;border-radius:999px;padding:16px 28px;
 font:600 15px/1 'IBM Plex Mono',monospace;letter-spacing:.06em;box-shadow:0 8px 30px #000a;cursor:pointer}
#gv-rec.gra{background:#E0574A;color:#fff}
#gv-rec-out{position:fixed;inset:8px;z-index:10002;background:#0A0A0B;border:1px solid #C9A227;border-radius:4px;
 padding:14px;overflow:auto;font:400 11px/1.55 'IBM Plex Mono',monospace;color:#EAD9A4;white-space:pre-wrap;
 -webkit-overflow-scrolling:touch;display:none}
#gv-rec-out.jest{display:block}
#gv-rec-out .paski{position:sticky;top:0;display:flex;gap:8px;background:#0A0A0B;padding-bottom:10px}
#gv-rec-out button{flex:1;background:#C9A227;color:#050505;border:0;border-radius:2px;padding:13px;
 font:600 13px 'IBM Plex Mono',monospace;cursor:pointer}
#gv-rec-out button.szary{background:none;border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.65)}

/* Reszta podswietlen: na dotyku `:hover` zostaje na ostatnio dotknietym elemencie i wyglada
   jak "cos sie wlaczylo". Dla palca wylaczone; dla myszki bez zmian. */
@media(hover:none),(pointer:coarse){
#gv-rates>div:hover{background:none}
.gallery-cta:hover{background:none}
}

/* Pierwszy ekran tez przybity — inaczej w przegladarce Instagrama rosl i kurczyl sie
   razem z ich paskiem, ciagnac za soba wszystko ponizej. */
#top{min-height:var(--gvh,100vh)!important}
