@import "https://fonts.googleapis.com/css2?family=DM+Mono&family=DM+Sans:wght@400;500;700&family=Playfair+Display:ital,wght@0,500;0,700;1,500;1,700&display=swap";:root{color:#f0ede7;background:#0a0908;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{cursor:none;background:#0a0908;margin:0}a{color:inherit;text-decoration:none}.cursor{z-index:20;pointer-events:none;mix-blend-mode:difference;opacity:0;border:1px solid #fff;border-radius:50%;width:28px;height:28px;transition:opacity .2s;position:fixed;top:-14px;left:-14px}.cursor.visible{opacity:1}.cursor i{background:#fff;border-radius:50%;width:4px;height:4px;position:absolute;top:11px;left:11px}.loader{z-index:30;cursor:default;background:#0a0908;place-items:center;transition:opacity .8s,visibility .8s;display:grid;position:fixed;inset:0}.loader.is-ready{opacity:0;visibility:hidden}.loader-inner{text-align:center;width:min(340px,70vw)}.load-line{background:#363431;height:1px}.load-line span{background:#f3f0e9;height:100%;transition:width .18s;display:block}.loader p{letter-spacing:.1em;margin:20px 0 12px;font:500 2.1rem/1 Playfair Display,serif}.loader small,.eyebrow,header p,.hero-foot,.section-head,footer div{letter-spacing:.1em;font:10px DM Mono,monospace}.hero-shell{height:300vh}.hero{background:#15120f;height:100vh;position:sticky;top:0;overflow:hidden}.canvas-wrap{width:min(45vw,590px);height:min(74vh,760px);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-46%)}.canvas-wrap canvas{filter:contrast(1.03)saturate(.83);width:100%;height:100%;display:block}.grain{opacity:.13;pointer-events:none;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");position:absolute;inset:0}header{z-index:2;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:30px;left:3vw;right:3vw}header p{margin:5px 0 0 8vw;line-height:1.5}header button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.brand{letter-spacing:-.05em;font-size:14px;font-weight:700}.brand sup{margin-left:2px;font-size:7px}.hero-copy{z-index:1;transition:opacity .1s;position:absolute;bottom:8vh;left:3vw}.eyebrow{color:#b2aaa0;margin:0}.hero-copy h1{letter-spacing:-.09em;margin:19px 0 0;font-size:clamp(3rem,7.4vw,8.6rem);font-weight:500;line-height:.77}.hero-copy h1 span{display:block}.hero-copy em,.statement i,.about i,footer i{font-family:Playfair Display,serif;font-weight:500}.hero-foot{z-index:1;justify-content:space-between;display:flex;position:absolute;bottom:28px;left:3vw;right:3vw}.hero-foot span{align-items:center;gap:8px;display:flex}.statement,.work,.about,footer{color:#151412;background:#e9e5de;padding:14vw 7vw}.statement h2,.about h2{letter-spacing:-.095em;margin:3.3vw 0 8vw;font-size:clamp(3.3rem,9.8vw,11rem);font-weight:500;line-height:.8}.statement-bottom{gap:30px;max-width:430px;margin-left:40%;display:grid}.statement-bottom p,.body-copy{margin:0;font-size:clamp(1rem,1.6vw,1.45rem);line-height:1.5}.statement-bottom a{border-bottom:1px solid #222;align-items:center;gap:10px;width:max-content;padding-bottom:10px;font:10px DM Mono;display:flex}.work{color:#eee9df;background:#1b1917;padding-top:8vw}.section-head{border-bottom:1px solid #514c46;justify-content:space-between;padding-bottom:16px;display:flex}.projects{grid-template-columns:repeat(3,1fr);gap:2vw;padding-top:4vw;display:grid}.project{overflow:hidden}.project-visual{height:30vw;min-height:250px;padding:16px;transition:transform .7s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.project:hover .project-visual{transform:scale(.97)}.project-visual svg{position:absolute;bottom:18px;right:18px}.orb{aspect-ratio:1;filter:blur(1px);background:radial-gradient(circle at 35% 30%,#fff8,#0000 22%),radial-gradient(circle at 70% 75%,#0008,#0000 42%),#cbb5ab;border-radius:50%;width:65%;position:absolute;top:18%;left:18%}.project h3{margin:16px 0 3px;font-size:15px}.project p{color:#aaa29a;margin:0;font:11px DM Mono}.about{grid-template-columns:28% 1fr;min-height:90vh;display:grid}.about h2{margin:0 0 6vw}.about .body-copy{max-width:380px}.round-link{border:1px solid #1b1917;border-radius:50%;justify-content:center;align-items:center;gap:6px;width:130px;height:130px;margin:6vw 0 0;font:10px DM Mono;transition:all .3s;display:flex}.round-link:hover{color:#f4f1eb;background:#171513;transform:rotate(-10deg)}footer{color:#170e0a;background:#aa836d;padding-bottom:2vw}footer>p{font:10px DM Mono}footer>a{letter-spacing:-.11em;margin:7vw 0 11vw;font-size:clamp(4rem,13vw,15rem);line-height:.74;display:block}footer div{border-top:1px solid #5d4538;justify-content:space-between;padding-top:14px;display:flex}@media (width<=700px){body{cursor:auto}.cursor{display:none}.canvas-wrap{width:76vw;height:67vh;transform:translate(-50%,-48%)}header p{display:none}.hero-copy{bottom:12vh}.hero-copy h1{font-size:13vw}.statement,.work,.about,footer{padding:18vw 6vw}.statement-bottom{margin-left:0}.projects{grid-template-columns:1fr;gap:11vw}.project-visual{height:80vw}.about{display:block}.about>.eyebrow{margin-bottom:17vw}.about h2{font-size:17vw}.about .body-copy,.round-link{margin-left:12vw}footer div{flex-wrap:wrap;gap:13px}}.canvas-wrap{width:100%;height:100%;inset:0;transform:none}@media (width<=700px){.canvas-wrap{width:100%;height:100%;inset:0;transform:none}}.experience{background:color-mix(in srgb, #17120f calc(85% - var(--page-progress) * 30%), #a5715b)}.statement,.work,.about,footer{transition:background-color .5s,color .5s}.statement{background:color-mix(in srgb,#eee9df calc(92% - var(--page-progress) * 15%),#d6a17d)}.work{background:color-mix(in srgb,#161413 calc(92% - var(--page-progress) * 35%),#6e463c)}.about{background:color-mix(in srgb,#ece4d7 calc(95% - var(--page-progress) * 26%),#c4886f)}footer{background:color-mix(in srgb,#a97f68 calc(88% - var(--page-progress) * 20%),#382924)}.project-visual{isolation:isolate;background:#24201e}.prototype{overflow:hidden}.prototype.aura{background:linear-gradient(145deg,#e5c2af,#825d65)}.prototype.null{background:linear-gradient(145deg,#acb4bd,#20232b)}.prototype.unfold{background:linear-gradient(145deg,#eed6bd,#d06856)}.prototype-ui{z-index:1;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#ffffff21;border:1px solid #ffffff8c;padding:9%;transition:transform .8s cubic-bezier(.2,.8,.2,1);position:absolute;inset:11% 10%;box-shadow:0 22px 60px #160b0933}.project:hover .prototype-ui{transform:rotate(-4deg)translateY(-8px)scale(1.04)}.prototype-ui b{letter-spacing:-.08em;color:#fff;font:500 clamp(1.6rem,3vw,3.5rem)/1 Playfair Display,serif;display:block}.prototype-ui i{background:#ffffffbd;width:100%;height:1px;margin-top:16%;display:block}.prototype-ui i:nth-of-type(2){width:68%}.prototype-ui i:nth-of-type(3){width:82%}.prototype-orb{z-index:0;aspect-ratio:1;mix-blend-mode:soft-light;background:radial-gradient(circle at 31% 27%,#fff9,#0000 16%),linear-gradient(135deg,#fff4,#432a3b);border-radius:50%;width:72%;transition:transform 1s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:-28%;right:-21%}.project:hover .prototype-orb{transform:scale(1.13)translate(-5%,-7%)}.project-visual>span,.project-visual>svg{z-index:1;position:relative}.about>div:after{content:"STRATEGY · DESIGN · MOTION · CODE · STRATEGY · DESIGN · MOTION · CODE ·";white-space:nowrap;letter-spacing:-.07em;color:#1914116b;border-top:1px solid #14121059;border-bottom:1px solid #14121059;margin:7vw -7vw 0;padding:1.1vw 0;font-size:clamp(1.4rem,3vw,4rem);animation:18s linear infinite drift;display:block;overflow:hidden}@keyframes drift{to{transform:translate(-18%)}}@media (width<=700px){.about>div:after{margin:18vw -6vw 0}}.orbit-field{z-index:0;pointer-events:none;opacity:.38;mix-blend-mode:screen;width:min(36vw,460px);height:min(36vw,460px);transition:opacity .6s;position:fixed;bottom:3vh;right:2vw}.experience{z-index:1;position:relative}.statement,.work,.about,footer{background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:48px 48px;background-position:calc(var(--page-progress) * 90px) calc(var(--page-progress) * -70px);position:relative}.statement h2,.work h3,.about h2,footer>a{transform:translateY(calc((.5 - var(--page-progress)) * 24px));transition:transform .15s linear}.statement:after,.work:after{content:"DESIGNING THE IN-BETWEEN  ·  SCROLLING INTO FORM  ·  CODE BECOMES ATMOSPHERE  ·  ";white-space:nowrap;z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff4ecad;letter-spacing:.22em;pointer-events:none;background:#deac8d29;padding:8px 0;font:10px DM Mono,monospace;animation:18s linear infinite ribbon;display:block;position:absolute;bottom:-14px;left:0;right:0;overflow:hidden}.work:after{background:#efcbb117}@keyframes ribbon{to{background-position:700px 0}}@media (width<=700px){.orbit-field{opacity:.25;width:75vw;height:75vw;right:-24vw}.statement,.work,.about,footer{background-size:32px 32px}}@supports (animation-timeline:view()){.statement h2,.about h2{animation:linear both rise-in;animation-timeline:view();animation-range:entry 5% cover 45%}.statement-bottom,.section-head{animation:linear both soft-in;animation-timeline:view();animation-range:entry 10% cover 38%}.project{animation:linear both card-arrive;animation-timeline:view();animation-range:entry 4% cover 35%}.project:nth-child(2){animation-range:entry 10% cover 42%}.project:nth-child(3){animation-range:entry 17% cover 50%}footer>a{animation:linear both footer-bloom;animation-timeline:view();animation-range:entry 8% cover 55%}}@keyframes rise-in{0%{opacity:0;filter:blur(12px);transform:translateY(12vh)rotate(2deg)}to{opacity:1;filter:blur();transform:translateY(0)rotate(0)}}@keyframes soft-in{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes card-arrive{0%{opacity:0;filter:blur(7px);transform:perspective(900px)rotateX(12deg)translateY(80px)}to{opacity:1;filter:blur();transform:perspective(900px)rotateX(0)translateY(0)}}@keyframes footer-bloom{0%{opacity:.1;letter-spacing:-.15em;filter:blur(10px)}to{opacity:1;letter-spacing:-.11em;filter:blur()}}.work:before,.about:before,footer:before{content:"";z-index:0;aspect-ratio:1;pointer-events:none;filter:blur(18px);opacity:.38;border-radius:50%;width:43vw;animation:12s ease-in-out infinite alternate float-light;position:absolute}.work:before{background:radial-gradient(circle,#d38c73 0,#d38c7300 68%);top:5vw;right:-16vw}.about:before{background:radial-gradient(circle,#fff0d6 0,#fff0d600 67%);animation-delay:-6s;bottom:-8vw;left:-18vw}footer:before{background:radial-gradient(circle,#f9d8bd 0,#f9d8bd00 68%);top:-16vw;right:8vw}.work>*,.about>*,footer>*{z-index:1;position:relative}@keyframes float-light{to{opacity:.58;transform:translate(8vw,4vw)scale(1.18)}}.project{transform-style:preserve-3d}.project-visual:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(105deg,#0000 42%,#ffffff6b 50%,#0000 58%);transition:transform .85s cubic-bezier(.2,.8,.2,1);position:absolute;inset:-80%;transform:translate(-55%)rotate(12deg)}.project:hover .project-visual:after{transform:translate(58%)rotate(12deg)}.round-link{position:relative;overflow:hidden}.round-link:before{content:"";z-index:-1;background:#171513;transition:inset .4s cubic-bezier(.2,.8,.2,1);position:absolute;inset:100% 0 0}.round-link:hover:before{inset:0}footer>a{text-shadow:0 0 #ffe8cf00;transition:text-shadow .6s,transform .6s}footer>a:hover{text-shadow:0 0 55px #ffe8cf80;transform:translate(1vw)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.loader-inner.greeting{width:100%;height:78px;position:relative;overflow:hidden}.greeting span{letter-spacing:.04em;opacity:0;filter:blur(5px);place-items:center;font-size:30px;font-weight:400;line-height:1;transition:opacity .32s,transform .42s cubic-bezier(.2,.8,.2,1),filter .32s;display:grid;position:absolute;inset:0 0 23px;transform:translateY(12px)}.greeting-0 span:first-child,.greeting-1 span:nth-child(2),.greeting-2 span:nth-child(3),.greeting-3 span:nth-child(4){opacity:1;filter:blur();transform:translateY(0)}.greeting span:first-child{font-family:DM Sans,sans-serif}.greeting span:nth-child(2){font-family:Nirmala UI,Mangal,serif}.greeting span:nth-child(3){font-family:Georgia,serif}.greeting span:nth-child(4){font-family:Nirmala UI,serif}.greeting small{text-align:center;letter-spacing:.17em;color:#8e8982;opacity:0;font:9px DM Mono,monospace;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.greeting.is-loaded small{opacity:1}.parallax-gallery{color:#eee8df;isolation:isolate;perspective:1300px;background:#11100f;place-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.gallery-grid{background-color:#0000;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:54px 54px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 72%);mask-image:radial-gradient(circle,#000,#0000 72%)}.gallery-images{position:absolute;inset:0}.gallery-images img{--distance:calc(var(--depth) * 12px);aspect-ratio:4/5;object-fit:cover;opacity:.72;filter:saturate(.7)contrast(1.15);width:clamp(130px,20vw,290px);transform:translate3d(calc(var(--px) * var(--distance)),calc(var(--py) * var(--distance)),calc(var(--depth) * -20px)) rotate(calc(var(--px) * 4deg));transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .6s;position:absolute;box-shadow:0 30px 60px #0006}.gallery-images img:hover{filter:saturate()contrast();z-index:2}.gallery-images img:first-child{top:13%;left:5%}.gallery-images img:nth-child(2){top:9%;right:6%}.gallery-images img:nth-child(3){bottom:8%;left:14%}.gallery-images img:nth-child(4){bottom:9%;right:15%}.gallery-images img:nth-child(5){width:clamp(100px,14vw,190px);top:6%;left:33%}.gallery-images img:nth-child(6){width:clamp(100px,14vw,190px);bottom:4%;right:32%}.gallery-copy{z-index:2;text-align:center;pointer-events:none;position:relative}.gallery-copy p,.gallery-copy small{letter-spacing:.17em;font:10px DM Mono,monospace}.gallery-copy h2{letter-spacing:-.11em;margin:20px 0 28px;font-size:clamp(4.2rem,11vw,13rem);font-weight:500;line-height:.73}.gallery-copy h2 span{animation:1s cubic-bezier(.2,.8,.2,1) both pixel-lift;display:block}.gallery-copy h2 span:nth-child(2){animation-delay:.13s}.gallery-copy h2 i{font-family:Playfair Display,serif;font-weight:500}.pixel-line{justify-content:center;align-items:center;gap:7px;margin:0 auto 20px;display:flex}.pixel-line b{letter-spacing:.15em;margin-right:9px;font:9px DM Mono,monospace}.pixel-line i{background:#dca47e;width:5px;height:5px;animation:1.8s ease-in-out infinite pulse-pixel}.pixel-line i:nth-child(3){animation-delay:.15s}.pixel-line i:nth-child(4){animation-delay:.3s}.pixel-line i:nth-child(5){animation-delay:.45s}.pixel-line i:nth-child(6){animation-delay:.6s}@keyframes pixel-lift{0%{opacity:0;filter:blur(12px);clip-path:inset(100% 0 0);transform:translateY(35px)}to{opacity:1;filter:blur();clip-path:inset(0);transform:translateY(0)}}@keyframes pulse-pixel{50%{background:#f6eadf;transform:translateY(-8px)scale(1.5)}}@media (width<=700px){.gallery-images img{width:31vw}.gallery-images img:nth-child(5),.gallery-images img:nth-child(6){display:none}.gallery-copy h2{font-size:18vw}}
