body{margin:0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{cursor:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes lineGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes rotateCW{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes morphA{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:40% 60% 70% 30%/40% 70% 30% 60%}50%{border-radius:30% 70% 40% 60%/70% 30% 60% 40%}75%{border-radius:70% 30% 60% 40%/30% 60% 40% 70%}}@keyframes morphB{0%,to{border-radius:40% 60% 60% 40%/60% 30% 70% 40%}33%{border-radius:70% 30% 40% 60%/30% 70% 60% 40%}66%{border-radius:30% 70% 60% 40%/60% 40% 30% 70%}}.sr{opacity:0;transition:opacity .85s,transform .85s cubic-bezier(.22,1,.36,1);transform:translateY(48px)}.sr.sr-l{transform:translate(-48px)}.sr.sr-r{transform:translate(48px)}.sr.sr-s{transform:scale(.88)}.sr.in{opacity:1;transform:none}.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}.d5{transition-delay:.5s}#pg-bar{z-index:300;background:#111;width:0;height:2px;transition:width .1s linear;position:fixed;top:0;left:0}@media (width<=768px){.two-col{grid-template-columns:1fr!important}.no-mob{display:none!important}.m-pad{padding:80px 24px!important}.hscroll-inner{padding:0 24px}.proj-card{flex:0 0 320px}}@media (prefers-reduced-motion:reduce){.sr{opacity:1;transform:none}.blob-a,.blob-b,.float,.spin,.ticker-inner{animation:none}}.cur-ring{pointer-events:none;z-index:9999;mix-blend-mode:difference;border:1.5px solid #fff;border-radius:50%;width:34px;height:34px;transition:width .3s,height .3s,background .3s;position:fixed;transform:translate(-50%,-50%)}.cur-ring.hov{background:#ffffff1a;width:54px;height:54px}.cur-dot{pointer-events:none;z-index:9999;mix-blend-mode:difference;background:#fff;border-radius:50%;width:5px;height:5px;position:fixed;transform:translate(-50%,-50%)}@media (hover:none),(pointer:coarse){.cur-ring,.cur-dot{display:none}}.nav-a{position:relative}.nav-a:after{content:"";background:#111;width:0;height:1px;transition:width .3s;position:absolute;bottom:-3px;left:0}.nav-a:hover:after{width:100%}@media (width<=768px){.no-mob{display:none!important}}@media (width<=640px){.ftr-row{flex-direction:column;gap:28px!important}}.blob-a{animation:10s ease-in-out infinite morphA}.blob-b{animation:8s ease-in-out infinite morphB}.float{animation:7s ease-in-out infinite floatY}.spin{animation:20s linear infinite rotateCW}.btn-d{color:#fff;letter-spacing:.12em;text-transform:uppercase;cursor:none;background:#111;border:1.5px solid #111;padding:13px 34px;font-size:.73rem;font-weight:700;text-decoration:none;transition:background .3s,color .3s;display:inline-block}.btn-d:hover{color:#111;background:0 0}.btn-o{color:#111;letter-spacing:.12em;text-transform:uppercase;cursor:none;background:0 0;border:1.5px solid #111;padding:13px 34px;font-size:.73rem;font-weight:700;text-decoration:none;transition:background .3s,color .3s;display:inline-block}.btn-o:hover{color:#fff;background:#111}@media (width<=768px){.cta-row{justify-content:center}}.shimmer{background:linear-gradient(90deg,#e8e8e8 25%,#d4d4d4 50%,#e8e8e8 75%) 0 0/200% 100%;animation:2.5s infinite shimmer}.ticker-inner{white-space:nowrap;gap:56px;width:max-content;animation:24s linear infinite marquee;display:flex}.ticker-inner:hover{animation-play-state:paused}.sk-track{background:#e8e8e8;height:1px;overflow:hidden}.sk-fill{background:#111;width:0;height:100%;transition:width 1.6s cubic-bezier(.4,0,.2,1)}.sk-fill.go{width:var(--w)}.exp-proj{transition:background .25s,border-color .25s,transform .25s,box-shadow .25s}.exp-proj:hover{transform:translate(4px);box-shadow:-3px 0 #111;background:#f2f2f2!important;border-left-color:#111!important}.exp-proj-title{text-underline-offset:3px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .25s}.exp-proj:hover .exp-proj-title{text-decoration-color:#111}.exp-proj-cta{border-bottom:1px solid #d8d8d8;padding-bottom:2px;transition:border-color .25s}.exp-proj:hover .exp-proj-cta{border-bottom-color:#111}.exp-proj-arrow{transition:transform .25s;display:inline-block}.exp-proj:hover .exp-proj-arrow{transform:translateY(3px)}.hscroll-wrap{padding:12px 0 32px;overflow:hidden}.hscroll-inner{will-change:transform;gap:24px;width:max-content;padding:12px clamp(24px,5vw,80px) 16px;display:flex}.proj-card{will-change:transform;background:#fff;border:1px solid #ebebeb;flex-direction:column;flex:0 0 min(600px,84vw);transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s cubic-bezier(.22,1,.36,1),border-color .3s;display:flex}.proj-card:hover{border-color:#0000;transform:translateY(-14px)scale(1.01);box-shadow:0 40px 80px #0000001a,0 10px 24px #0000000d}.proj-card .proj-img{flex-shrink:0;height:300px;position:relative;overflow:hidden}.proj-card .proj-img img{object-fit:contain;background:#f5f5f5;width:100%;height:100%;transition:transform .7s cubic-bezier(.22,1,.36,1)}.proj-card:hover .proj-img img{transform:scale(1.06)}.proj-arrow{transition:transform .3s,background .3s,color .3s}.proj-card:hover .proj-arrow{color:#fff;background:#111;transform:rotate(45deg)}@media (pointer:coarse),(hover:none){.proj-card-mobile{flex:none;width:min(520px,90vw);height:100%;padding:0 20px;overflow:hidden}.proj-card-mobile .proj-img{flex-shrink:0;height:240px}.hscroll-hint-wrap{position:relative}.hscroll-hint-wrap:after{content:"";pointer-events:none;z-index:2;background:linear-gradient(90deg,#0000,#f7f7f7);width:72px;position:absolute;top:0;bottom:0;right:0}.hscroll-wrap{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:24px;overflow:scroll visible}.hscroll-wrap::-webkit-scrollbar{display:none}.proj-card{scroll-snap-align:start;flex:0 0 min(520px,88vw)}.proj-card:hover{box-shadow:none;border-color:#ebebeb;transform:none}.swipe-hint{letter-spacing:.18em;text-transform:uppercase;color:#bbb;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:10px;padding:14px 0 20px;font-size:.62rem;display:flex}.swipe-hint span{animation:1.6s cubic-bezier(.45,0,.55,1) infinite swipeArrow;display:inline-block}}@keyframes swipeArrow{0%{opacity:1;transform:translate(0)}50%{opacity:.4;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.swipe-hint{display:none}.scroll-track{background:#e5e5e5;border-radius:2px;height:2px;position:relative;overflow:hidden}.scroll-thumb{background:#111;border-radius:2px;height:100%;position:absolute;top:0;left:0}.exp-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.exp-card{min-height:280px;color:inherit;cursor:none;background:#fff;border:1px solid #ececec;border-radius:18px;flex-direction:column;padding:34px;text-decoration:none;transition:transform .35s,box-shadow .35s,border-color .35s;display:flex;position:relative;overflow:hidden}.exp-card>*{z-index:1;position:relative}.exp-card:before{content:"";z-index:0;background-image:radial-gradient(circle at 1px 1px,#11111112 1px,#0000 0);background-size:20px 20px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 90% at 100% 0,#000 0%,#0000 62%);mask-image:radial-gradient(120% 90% at 100% 0,#000 0%,#0000 62%)}.exp-card:after{content:"";z-index:0;background:radial-gradient(circle, var(--accent,#eef) 0%, transparent 70%);opacity:.75;width:58%;height:78%;transition:opacity .35s,transform .35s;position:absolute;top:-32%;right:-16%}.exp-card:not(.soon):hover{border-color:#dcdcdc;transform:translateY(-5px);box-shadow:0 24px 48px -22px #00000038}.exp-card:not(.soon):hover:after{opacity:1;transform:scale(1.15)translate(-6%,8%)}.exp-top{justify-content:space-between;align-items:center;display:flex}.exp-idx{color:#dcdcdc;letter-spacing:-.03em;font-size:1.05rem;font-weight:800}.exp-tag{letter-spacing:.16em;text-transform:uppercase;color:#999;border:1px solid #ececec;border-radius:999px;padding:4px 11px;font-size:.58rem;font-weight:700}.exp-card.soon .exp-tag{color:#bbb}.exp-title{letter-spacing:-.035em;color:#111;margin-top:30px;font-size:2.1rem;font-weight:800;line-height:1}.exp-desc{color:#777;max-width:44ch;margin-top:14px;font-size:.95rem;line-height:1.7}.exp-foot{justify-content:space-between;align-items:center;margin-top:auto;padding-top:28px;display:flex}.exp-host{color:#999;letter-spacing:.01em;font-size:.8rem}.exp-card.soon .exp-host{color:#bbb}.exp-arrow{color:#111;font-size:1.15rem;transition:transform .35s}.exp-card:not(.soon):hover .exp-arrow{transform:translate(4px,-4px)}.exp-card.soon{cursor:default;background:#fafafa;border-style:dashed}.exp-card.soon .exp-arrow{color:#ccc}@media (width<=760px){.exp-grid{grid-template-columns:1fr}}.tl-dot{background:#111;border-radius:50%;width:9px;height:9px;transition:transform .3s;position:absolute;top:12px;left:-5px}.tl-item:hover .tl-dot{transform:scale(1.8)}.soc-a{transition:color .25s}.soc-a:hover{color:#fff!important}
