:root{--accent-light:#5ad5ff}
.scroll-progress{position:fixed;inset:0 0 auto;height:3px;background:var(--acid);transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none;box-shadow:0 0 18px #00aeef88}
.header{position:sticky;top:0;height:90px;background:#090e15ee;backdrop-filter:blur(18px);border-color:#ffffff12;transition:box-shadow .4s}
.logo{display:flex;align-items:center;flex-shrink:0;font-size:0;letter-spacing:0;width:104px}
.logo img{display:block;width:100%;height:auto;transition:transform .4s}
.logo:hover img{transform:translateY(-2px)}
.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:after{content:'';position:absolute;bottom:2px;left:0;right:0;height:1px;background:var(--acid);transform:scaleX(0);transform-origin:left;transition:transform .35s}.desktop-nav a:hover:after{transform:scaleX(1)}
.header-contact{background:#00aeef09;border-color:#00aeef66}.header-contact span{transition:transform .35s}.header-contact:hover span{transform:translate(3px,-3px)}
.hero{height:calc(100svh - 90px);padding-top:46px}
.hero-art img{filter:hue-rotate(142deg);animation:brand-sculpture 13s ease-in-out infinite alternate}
.hero-art:after{background:linear-gradient(90deg,#090e15 0%,#090e15dc 14%,#090e1522 57%,transparent 80%),linear-gradient(0deg,#090e15 0%,transparent 34%)}
.hero-art:before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at 82% 35%,#00aeef0b,transparent 58%)}
h1{margin-top:22px;line-height:1.05}.headline-line{display:block;overflow:hidden;padding-bottom:.075em;margin-bottom:-.075em}.headline-line>span,.headline-line>em{display:block;animation:headline-in 1.15s cubic-bezier(.16,1,.3,1) both;animation-delay:.08s}.headline-line:nth-child(2)>span{animation-delay:.19s}.headline-line:nth-child(3)>em{animation-delay:.32s;color:var(--accent-light)}
.hero-overline{animation:fade-in .9s both}.hero-bottom{animation:rise-in 1s .45s both}.tiny-cross{animation:turn 18s linear infinite}.round-icon{border-color:#00aeef66}.round-link:hover .round-icon{box-shadow:0 0 35px #00aeef25}
.trusted{background:#fff;color:#182632;padding:30px 4.2%;gap:30px;border:0;overflow:hidden}.trusted-intro{flex-shrink:0;width:160px}.trusted-intro>span{font-size:12px;text-transform:uppercase;letter-spacing:1.7px;color:#577084}.trusted-intro p{font-size:15px;line-height:1.5;font-weight:600;margin:12px 0 0}.client-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:22px;width:100%}.client-logos img{display:block;width:100%;height:auto;aspect-ratio:250/160;object-fit:contain;max-height:105px;transition:transform .4s}.client-logos img:hover{transform:translateY(-4px)}
.section-top{position:relative}.eyebrow>span{color:var(--acid)}.work{background:linear-gradient(160deg,#090e15 45%,#0a1723)}.services{background:radial-gradient(ellipse at 0 60%,#002e452d,transparent 60%),#0d1722}.services h2>span{color:#86a4bc}.pills span{background:#00aeef08;border-color:#00aeef2f}.service-mark{color:#00aeef;filter:drop-shadow(0 0 25px #00aeef25)}
.project-picture{border-radius:8px;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s;isolation:isolate}.project-picture:after{content:'';position:absolute;inset:0;border:1px solid #ffffff15;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),#fff2,transparent 55%);opacity:0;transition:opacity .4s}.project:hover .project-picture:after{opacity:1}.project:hover .project-picture{box-shadow:0 25px 60px #0005}.project-picture img{transform:translateY(var(--image-shift,0px)) scale(1.08);transition:filter .6s,transform .6s cubic-bezier(.2,.7,.2,1);filter:saturate(.95)}.project:hover .project-picture img{transform:translateY(var(--image-shift,0px)) scale(1.12)}.project-visit{z-index:2;background:#00aeef;color:#041823;font-weight:600}.project-arrow{transition:transform .35s,color .35s}.project:hover .project-arrow{color:var(--acid);transform:translate(4px,-4px)}
.marquee{background:var(--acid);border:0;padding:34px 0}.marquee>div{animation-duration:23s;letter-spacing:-.04em}.studio-statement h2>span{color:var(--accent-light)}.experience strong>span{color:var(--acid)}
.contact{position:relative;isolation:isolate;overflow:hidden;background:#00aeef}.contact:before{content:'';position:absolute;z-index:-1;width:65%;aspect-ratio:1;right:-22%;top:-80%;border:1px solid #ffffff40;border-radius:50%;box-shadow:0 0 0 80px #ffffff0b,0 0 0 160px #ffffff07;animation:contact-orbit 12s ease-in-out infinite alternate}.contact-circle{position:relative;transition:translate .35s ease-out,background .35s,color .35s,transform .35s}.contact-circle:hover{transform:rotate(8deg)}.contact-circle:after{content:'';position:absolute;inset:-12px;border:1px solid #04182333;border-radius:50%;transition:inset .4s}.contact-circle:hover:after{inset:-20px}.contact-link{transition:letter-spacing .3s}.contact-link:hover{letter-spacing:.4px}.contact .eyebrow>span{color:#164e67}footer .logo{width:100px;font-size:0}
.reveal.will-reveal{transition-duration:1s;transition-timing-function:cubic-bezier(.16,1,.3,1)}.process article:nth-child(2){transition-delay:.1s}.process article:nth-child(3){transition-delay:.2s}
@keyframes headline-in{from{transform:translateY(115%) rotate(2deg);opacity:0}to{transform:translateY(0) rotate(0);opacity:1}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes rise-in{from{transform:translateY(25px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes brand-sculpture{from{transform:scale(1.02) rotate(-4deg)}to{transform:scale(1.12) rotate(4deg)}}
@keyframes contact-orbit{from{transform:translate(-4%,0) scale(.9)}to{transform:translate(4%,12%) scale(1.1)}}
@media(max-width:1100px){.trusted{gap:20px}.trusted-intro{width:130px}.client-logos{gap:12px}}
@media(max-width:700px){html{scroll-padding-top:100px}.header{height:76px}.logo{width:80px}.header-contact{padding:10px;font-size:12px}.mobile-nav{position:fixed;top:76px}.hero{height:auto;padding-top:30px}.hero-art:after{background:linear-gradient(0deg,#090e15 4%,#090e1544 42%,#090e1577 70%,#090e15 100%)}.trusted{padding:27px 6%;display:block}.trusted-intro{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.trusted-intro p{font-size:12px;margin:0}.client-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px}.client-logos img{max-height:90px}.client-logos img:nth-child(4){grid-column:auto}.contact-circle:after{inset:-6px}.contact:before{top:-10%;width:100%;right:-65%}footer .logo{width:84px}}
@media(prefers-reduced-motion:reduce){.headline-line>span,.headline-line>em,.hero-bottom{opacity:1;transform:none}.project-picture,.project-picture img{transform:none!important}.contact-circle{translate:none!important}.client-logos img:hover{transform:none}}
body.motion-paused .project-picture{transform:none}body.motion-paused .contact-circle{translate:none!important}
/* A permanent image layer prevents black frames during renderer handover. */
.hero{isolation:isolate;background:#090e15}
.hero-art{z-index:0;transform:translate(var(--hero-x,0px),var(--hero-y,0px));transition:transform .8s cubic-bezier(.2,.7,.2,1);inset:-14px}
.hero-art img{opacity:1!important;visibility:visible}
.hero>:not(.hero-art){position:relative;z-index:2}
.hero-art:after{background:linear-gradient(90deg,#090e15 0%,#090e15b0 25%,#090e150d 61%,transparent 100%),linear-gradient(0deg,#090e15 0%,transparent 28%)}
.hero-art.art-paused img{animation-play-state:paused}
.trusted{background:#0c141e;color:var(--ink);border-top:1px solid #ffffff0c;border-bottom:1px solid #ffffff0c}
.trusted-intro>span{color:#8da5ba}
.client-logos{isolation:isolate}
.client-logos img{filter:grayscale(1) invert(1);mix-blend-mode:screen;opacity:.72}
.client-logos img:hover{opacity:1}
.fsv-cuts{display:inline-block;width:1em;height:1em;overflow:visible;vertical-align:middle;flex-shrink:0}
.tiny-cross{display:flex;width:23px;height:29px;animation:none;font-size:26px;flex-shrink:0}
.tiny-cross .fsv-cuts{width:23px;height:29px}
.service-mark{animation:none;width:185px;height:205px;margin-top:65px;line-height:1}
.service-mark .fsv-cuts{width:100%;height:100%;animation:cut-float 7s ease-in-out infinite alternate}
.fsv-cuts .cut-one{animation:cut-slide 5s cubic-bezier(.45,0,.25,1) infinite}
.fsv-cuts .cut-two{animation:cut-slide 5s .18s cubic-bezier(.45,0,.25,1) infinite}
.marquee .fsv-cuts{width:58px;height:64px;color:currentColor}
.project-category{display:block;color:#7fabc4;font-size:12px;letter-spacing:1px;margin-bottom:10px}
.project-info h3{font-size:clamp(23px,2vw,31px)}
.project-grid{row-gap:50px}.project-offset{padding-top:80px}
.rybka{background:#0d372a}.rybka img{object-fit:cover}
.partyzanci{background:#1d271d}
@keyframes cut-slide{0%,65%,100%{transform:translate(0,0)}25%,40%{transform:translate(120px,-44px)}}
@keyframes cut-float{from{transform:translateY(0) rotate(-4deg)}to{transform:translateY(-15px) rotate(4deg)}}
@media(max-width:700px){.hero-art:after{background:linear-gradient(0deg,#090e15 0%,#090e1522 38%,#090e1566 73%,#090e15 100%)}.project-offset{padding-top:0}.project-grid{row-gap:38px}.marquee .fsv-cuts{width:42px;height:48px}.service-mark{display:none}}
#energy-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.hero-art:after{z-index:4;pointer-events:none}
.hero-art:before{animation:ambient-light 10s ease-in-out infinite alternate}
.hero-light-sweep{position:absolute;inset:-25%;z-index:2;pointer-events:none;background:linear-gradient(110deg,transparent 38%,#42caff03 43%,#98eaff1c 49%,#00aeef07 53%,transparent 61%);mix-blend-mode:screen;animation:light-scan 9s cubic-bezier(.4,0,.2,1) infinite}
.hero-art.art-paused .hero-light-sweep{animation-play-state:paused}
.hero-art img{animation:sculpture-depth 15s cubic-bezier(.37,0,.63,1) infinite alternate;transform-origin:70% 52%}
@keyframes sculpture-depth{0%{transform:perspective(1500px) scale(1.01) rotate(-4deg) rotateY(-5deg) translateY(4px)}50%{transform:perspective(1500px) scale(1.07) rotate(0deg) rotateY(1deg) translateY(-12px)}100%{transform:perspective(1500px) scale(1.035) rotate(4deg) rotateY(5deg) translateY(0)}}
@keyframes light-scan{0%,15%{transform:translateX(-35%);opacity:0}35%{opacity:.8}70%{transform:translateX(22%);opacity:.55}90%,100%{transform:translateX(45%);opacity:0}}
@keyframes ambient-light{from{opacity:.25;transform:scale(.9)}to{opacity:1;transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){#energy-canvas,.hero-light-sweep{display:none}.hero-art{transform:none!important}.hero-art img{transform:none}}
.trusted{background:#fff;color:#182632;border:0}
.trusted-intro>span{color:#577084}
.client-logos img{filter:none;mix-blend-mode:normal;opacity:1}
