:root{--blue:#1500e1;--white:#fff;--m:2.7vw;--gap:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--blue);color:var(--white);font-family:"Helvetica Neue",Helvetica,sans-serif;font-size:16px;overflow-x:hidden}body.loading{overflow:hidden}.page-bg{position:fixed;inset:0;background:var(--blue);z-index:-2}#distort-canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:4;pointer-events:none}.cursor{position:fixed;left:0;top:0;width:15px;height:15px;border-radius:50%;background:#fff;mix-blend-mode:difference;transform:translate(-100px,-100px);z-index:9999;pointer-events:none;transition:width .3s,height .3s,background .3s,border .3s}.cursor.big{width:45px;height:45px;background:transparent;border:1px solid #fff}.nav{position:fixed;top:0;left:0;right:0;padding:38px var(--m);display:flex;justify-content:space-between;align-items:center;z-index:20;mix-blend-mode:difference}.logo img{height:28px;filter:brightness(0) invert(1)}.nav-links{display:flex;gap:48px;align-items:center}.nav a{color:#fff;text-decoration:none;text-transform:uppercase;font-size:14px}.nav .active{display:flex;align-items:center;gap:8px}.nav .active i,.menu i{width:12px;height:12px;background:#fff;border-radius:50%;display:block}.lang{opacity:.55;font-size:14px}.lang b{opacity:1;font-weight:400}.menu{display:none}.roll span{display:inline-block;position:relative;overflow:hidden;line-height:1.1}.roll span:after{content:attr(data-copy);position:absolute;left:0;top:100%}.roll:hover span{animation:roll .42s cubic-bezier(.4,0,.2,1)}@keyframes roll{50%{transform:translateY(-100%)}50.01%{transform:translateY(100%)}100%{transform:none}}.hero{height:100vh;display:grid;grid-template-columns:25% 50% 25%;align-items:center;padding:0 var(--m)}.hero h1{font-size:clamp(18px,2vw,24px);font-weight:400;text-transform:uppercase;max-width:23vw}.hero-media{width:30vw;aspect-ratio:1.4/1.9;justify-self:center}.media{margin:0;position:relative;overflow:hidden;background:var(--blue)}.media img{width:100%;height:100%;display:block;object-fit:cover}.webgl-ready .media img{opacity:0}.year{text-align:right;font-size:18px}.info,.concept{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gap);padding:10vh var(--m) 18vh}.info>div:first-child{grid-column:1/3}.info>div:nth-child(2){grid-column:3/6}.info .intro{grid-column:7/13;margin:0;font-size:clamp(22px,3.1vw,48px);line-height:1.12}.info small,.concept h2{display:block;text-transform:uppercase;margin-bottom:16px;font-size:14px;font-weight:400}.info a{color:#fff;font-size:16px}.info p{line-height:1.4;margin:0}.intro em{font-size:12px;font-style:normal;margin-right:12vw;vertical-align:middle}.media-section{padding-bottom:30px}.media-section.full{padding-left:var(--m);padding-right:var(--m)}.media-section.full .media{width:100%}.media-section.duo{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);padding:0 var(--m) 30px}.concept{padding-top:15vh}.concept h2{grid-column:1/4}.concept div{grid-column:7/13;font-size:20px;line-height:1.35}.concept p:first-child{margin-top:0}.next{height:100vh;padding:0 var(--m);display:grid;grid-template-columns:25% 50% 25%;align-items:center;position:relative;cursor:pointer}.next h2{font-size:22px;font-weight:400;text-transform:uppercase}.next figure{width:30vw;aspect-ratio:1.4/1.9;margin:auto;overflow:hidden}.next img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}.next:hover img{transform:scale(1.045)}.next p{text-align:right;text-transform:uppercase;font-size:13px}.next>span{position:fixed;opacity:0;pointer-events:none;z-index:30}.loader{position:fixed;inset:0;background:#fff;z-index:1000;display:grid;place-items:center;transition:opacity .8s,filter 1s}.loader.done{opacity:0;filter:blur(25px);pointer-events:none}.loader-stack{width:min(40vw,420px);aspect-ratio:3/4;position:relative}.loader-card{position:absolute;left:50%;top:50%;translate:-50% -50%;background:var(--blue);overflow:hidden;border:1px solid #ddd}.loader-card img{width:100%;height:100%;object-fit:cover}.loader-count{position:absolute;bottom:100%;left:calc(100% + 12px);color:var(--blue);font-size:14px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s .2s,transform .8s .2s}.loaded .reveal{opacity:1;transform:none}.mobile-panel{display:none}
@media(max-width:768px){:root{--m:20px;--gap:12px}.nav{padding:28px var(--m)}.nav-links{display:none}.menu{display:flex;gap:8px;align-items:center;border:1px solid #ffffff55;color:#fff;background:#ffffff18;border-radius:99px;padding:10px 16px}.menu i{width:6px;height:6px}.hero{grid-template-columns:1fr;height:100svh;padding-top:100px;padding-bottom:35px}.hero h1{max-width:none;align-self:end}.hero-media{width:64vw}.year{text-align:left}.info{display:block;padding-top:80px}.info>div{margin-bottom:50px}.info .intro{font-size:20px}.intro em{margin-right:55px}.media-section.duo{grid-template-columns:1fr}.concept{display:block}.concept div{font-size:18px}.next{grid-template-columns:1fr;height:auto;padding-top:100px;padding-bottom:80px;gap:30px}.next figure{width:70vw}.next p{text-align:left}.mobile-panel{position:fixed;inset:0;background:#1500e1aa;backdrop-filter:blur(40px);z-index:15;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:0;pointer-events:none;transition:opacity .35s}.mobile-panel.open{opacity:1;pointer-events:auto}.mobile-panel a{color:#fff;text-decoration:none;font-size:11vw}#distort-canvas,.cursor{display:none}.webgl-ready .media img{opacity:1}}
@media(prefers-reduced-motion:reduce){#distort-canvas,.cursor,.loader{display:none}.reveal{opacity:1;transform:none}.webgl-ready .media img{opacity:1}}

/* BitDa project hero overrides */
.nav{justify-content:flex-start}
.back-button{align-items:center;color:#fff;display:inline-flex;font-size:14px;gap:12px;letter-spacing:.03em;text-decoration:none;text-transform:uppercase}
.back-button svg{fill:none;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6;transition:transform .35s cubic-bezier(.22,1,.36,1);width:40px}
.back-button:hover svg{transform:translateX(-5px)}
.hero-media{aspect-ratio:1245/636;width:50vw}
@media(max-width:768px){.back-button span{display:none}.hero-media{aspect-ratio:1245/636;width:100%}}

:root{--blue:#000000;--white:#ffffff}
.info a{color:#ffffff}
.loader-count{color:#ffffff}
@media(max-width:768px){.mobile-panel{background:#fffffff2}.mobile-panel a{color:#000000}}

/* Three.js cylindrical background grid ported from the K95 reference. */
.page-bg {
  inset: 0;
  z-index: 0;
  background-color: #000;
  overflow: hidden;
  pointer-events: none;
}

.background-grid-canvas {
  display: block;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

main {
  position: relative;
  z-index: 1;
}
