:root{--paper:#eeece4;--ink:#20221e;--muted:#70716a;--orange:#f75a33;--line:#20221e29;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}::selection{background:var(--orange);color:var(--paper)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:6px}button:disabled{cursor:default}img{display:block;max-width:100%}em,.serif{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-style:italic}p{margin:0;line-height:1.6}h1,h2,h3{font-weight:500;margin:0}sup{font-size:11px;vertical-align:super;margin-left:4px}.eyebrow{font-size:10px;letter-spacing:.11em;font-weight:500;line-height:1.5}.skip{position:fixed;top:-80px;left:20px;z-index:200;background:var(--ink);color:var(--paper);padding:15px}.skip:focus{top:10px}.grain{position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.5' d='M0 0h200v200H0z'/%3E%3C/svg%3E")}#scroll-progress{position:fixed;left:0;top:0;height:2px;background:var(--orange);z-index:110;width:0;transition:width .1s linear}.header{height:99px;margin:0 42px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:38px;position:absolute;top:0;left:0;right:0;z-index:50}.wordmark{font-size:43px;font-weight:600;letter-spacing:-5px;line-height:1}.wordmark>span:first-child{font-weight:400;padding:0 3px;font-size:37px}.wordmark-dot{color:var(--orange);padding-left:3px}.header-name{font-size:12px;line-height:1.5}.header-name>span{font-size:10px;color:var(--muted)}.header nav{margin-left:auto;display:flex;gap:34px;align-items:center;font-size:12px}.header nav a{position:relative;padding:12px 0}.header nav a:after,.text-link:after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav a:hover:after,.text-link:hover:after{transform:scaleX(1)}.nav-contact{margin-left:22px}.nav-contact span{margin-left:12px;color:var(--orange)}.menu-toggle{display:none;width:42px;height:42px;padding:10px}.menu-toggle span{height:1px;background:currentColor;display:block;margin:6px 0;transition:transform .4s}.menu-overlay{position:fixed;inset:0;background:var(--ink);color:var(--paper);z-index:40;clip-path:inset(0 0 100%);transition:clip-path .65s var(--ease);padding:160px 32px 50px;display:flex;flex-direction:column;justify-content:space-between}.menu-overlay nav{display:flex;flex-direction:column;gap:22px;font-size:clamp(40px,8vw,100px);letter-spacing:-.055em}.menu-overlay.open{clip-path:inset(0)}.menu-open .header{color:var(--paper);position:fixed;border-color:#eeece430}.menu-open .header-name>span{color:#a9aaa2}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{min-height:850px;height:100svh;max-height:1150px;padding:137px 42px 36px;position:relative;overflow:hidden}.hero-top{display:flex;justify-content:space-between;position:relative;z-index:3}.hero-title-wrap{position:relative;z-index:3;margin-top:112px;pointer-events:none}.hero h1{font-size:clamp(110px,12vw,200px);letter-spacing:-.075em;line-height:.93;font-weight:500}.title-line{display:block;width:max-content;max-width:100%}.title-line.serif{font-size:1.18em;letter-spacing:-.045em;margin-top:12px;transform:translateX(1px)}.accent{color:var(--orange)}.sculpture{position:absolute;top:125px;right:1%;width:56%;height:560px;z-index:2;touch-action:pan-y;transform:translate3d(0,calc(var(--hero-scroll,0)*-70px),0)}.sculpture canvas{width:100%;height:100%;display:block;position:relative;z-index:2;opacity:0;transition:opacity .8s}.sculpture canvas.ready{opacity:1}.sculpture-caption{position:absolute;bottom:15px;right:52px;font-size:8px;color:var(--muted)}.sculpture-fallback{position:absolute;width:290px;height:340px;top:90px;left:28%;border-radius:50%;background:conic-gradient(from 30deg,#35362e,#f6f1d8,#797d71,#1d201b,#fbf6dd,#828777,#32342a);box-shadow:inset 30px 0 25px #1118,inset -20px 0 20px #fff8,25px 35px 50px #37382b25;transform:rotate(-35deg);mask-image:radial-gradient(ellipse at center,transparent 35%,#000 36%)}.sculpture.has-webgl .sculpture-fallback{display:none}.hero-bottom{position:absolute;left:42px;right:42px;bottom:39px;display:flex;align-items:flex-end;z-index:5;gap:40px}.hero-bottom>p{font-size:14px;line-height:1.6;flex:1}.explore{display:flex;align-items:center;gap:20px;font-size:13px;padding:10px 0;transition:transform .3s var(--ease)}.round-arrow{height:45px;width:45px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:20px;transition:background .3s,color .3s,transform .3s}.explore:hover .round-arrow{background:var(--ink);color:var(--paper);transform:rotate(-35deg)}.hero-index{display:flex;flex:1;flex-direction:column;align-items:flex-end;gap:11px;font-size:8px;color:var(--muted)}.hero-index span:first-child{color:var(--ink)}.hero-side{position:absolute;right:24px;top:48%;writing-mode:vertical-rl;font-size:8px}.work{padding:52px 42px 0;background:#20221e;color:var(--paper);border-radius:18px 18px 0 0;position:relative;z-index:7}.section-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff26;padding-bottom:22px}.section-heading>.eyebrow{color:#b3b4a9}.view-switch{display:flex;align-items:center;font-size:10px;border:1px solid #ffffff30;border-radius:30px;padding:4px}.view-switch button{padding:9px 18px;border-radius:25px;color:#aaa}.view-switch button.active{background:var(--paper);color:var(--ink)}.view-switch span{margin-left:4px}.work-intro{display:flex;align-items:flex-end;justify-content:space-between;padding:68px 0 75px;gap:30px}.work-intro h2{font-size:clamp(52px,6.8vw,116px);line-height:1.0;letter-spacing:-.05em}.work-intro h2 em{font-size:1.1em;letter-spacing:-.025em}.work-intro p{font-size:13px;color:#b9bbb1;max-width:330px;margin:0 50px 10px 0}.project-card{position:relative;min-height:720px;height:min(830px,90svh);border-radius:7px;overflow:hidden;margin-bottom:22px;background:var(--project-light);color:var(--project-ink);display:grid;grid-template-columns:43% 57%;isolation:isolate}.project-card:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 77% 58%,#fff5,transparent 60%);z-index:-1}.project-card.dartkrux:before{background:radial-gradient(ellipse at 75% 50%,#cfc46b16,transparent 70%)}.project-copy{padding:38px 42px;position:relative;z-index:5;display:flex;flex-direction:column;align-items:flex-start}.project-meta{display:flex;justify-content:space-between;width:100%;font-size:9px;letter-spacing:.07em;text-transform:uppercase}.project-meta>span:last-child{color:color-mix(in srgb,var(--project-ink) 65%,transparent)}.project-name{font-size:clamp(64px,6.5vw,108px);letter-spacing:-.065em;line-height:1;margin-top:78px;font-weight:500}.project-copy h3{font-size:clamp(30px,3vw,52px);line-height:1.05;letter-spacing:-.035em;margin-top:32px;white-space:pre-line}.project-copy>p{font-size:13px;max-width:300px;line-height:1.65;margin:25px 0 32px;opacity:.8}.project-open{display:flex;gap:36px;align-items:center;border:1px solid color-mix(in srgb,var(--project-ink) 30%,transparent);padding:15px 18px;border-radius:30px;font-size:11px;transition:background .3s,color .3s,transform .3s}.project-open:hover{background:var(--project-ink);color:var(--project-light);transform:translateY(-3px)}.project-open>span{font-size:19px;line-height:1}.project-platform{margin-top:auto;padding-top:20px;font-size:8px;letter-spacing:.06em;text-transform:uppercase;opacity:.65}.project-stage{position:relative;display:block;cursor:pointer;overflow:hidden;width:100%;height:100%;padding:0;isolation:isolate}.project-stage:focus-visible{outline-offset:-8px}.project-stage .watermark{position:absolute;font-size:clamp(150px,17vw,300px);letter-spacing:-.075em;white-space:nowrap;left:9%;top:12%;color:var(--project-color);opacity:.1;z-index:-1;transform:rotate(-90deg);transform-origin:center;line-height:1}.device{position:absolute;width:clamp(190px,19vw,305px);aspect-ratio:1206/2622;background:#151612;border:7px solid #1c1d19;border-radius:36px;box-shadow:0 38px 60px -24px #1118,0 2px 4px #000a,inset 0 0 0 1px #aaa;overflow:hidden;backface-visibility:hidden;will-change:transform}.device:after{content:'';position:absolute;inset:0;border:2px solid #ffffff18;border-radius:30px;pointer-events:none}.device img{width:100%;height:100%;object-fit:cover;border-radius:27px}.device-main{left:31%;top:17%;z-index:3;transform:translateY(calc(var(--scene,0)*-38px)) rotate(calc(-8deg + var(--tilt-x,0)*1deg))}.device-back{left:7%;top:33%;width:clamp(150px,16vw,245px);z-index:1;transform:translateY(calc(var(--scene,0)*36px)) rotate(9deg);opacity:.88}.stage-label{position:absolute;left:50%;bottom:25px;font-size:8px;letter-spacing:.06em;text-transform:uppercase;z-index:6;white-space:nowrap;transform:translateX(-50%);opacity:.6}.stage-orbit{position:absolute;width:420px;height:420px;border:1px solid color-mix(in srgb,var(--project-ink) 18%,transparent);border-radius:50%;left:10%;top:25%;transform:scale(1.2) rotate(-20deg)}.stage-orbit:before,.stage-orbit:after{content:'';position:absolute;inset:27px;border:1px solid color-mix(in srgb,var(--project-ink) 10%,transparent);border-radius:50%}.stage-orbit:after{inset:58px}.cookit .stage-orbit{background:#91a58020}.dartkrux .stage-orbit{background:repeating-conic-gradient(#cfb84c10 0 18deg,transparent 18deg 36deg);border:2px solid #ffd63a70;left:9%;top:23%;width:410px;height:410px;transform:scale(1.2);animation:orbit 90s linear infinite}.dartkrux .stage-orbit:before{border-color:#ffd63a35}.score-sticker{position:absolute;right:13%;top:25%;z-index:4;padding:16px 22px;background:#ffd63a;color:#171914;transform:rotate(8deg) translateY(calc(var(--scene,0)*-40px));font-size:12px;letter-spacing:.04em;box-shadow:0 15px 30px #0005}.score-sticker strong{display:block;font-size:56px;letter-spacing:-.05em;line-height:1.1}.cavistock .stage-orbit{border-color:#73253c25;background:radial-gradient(ellipse,#fff4,transparent 70%)}.card-number{position:absolute;bottom:30px;right:30px;font-size:10px;opacity:.5}#project-index{padding-bottom:50px}.index-row{display:grid;grid-template-columns:55px 1fr 1fr 55px;gap:20px;align-items:center;width:100%;padding:35px 12px;border-top:1px solid #ffffff30;text-align:left;transition:color .3s,background .3s}.index-row:hover{color:var(--project-color);background:#ffffff04}.index-row .index-name{font-size:clamp(40px,5vw,74px);letter-spacing:-.05em}.index-row .index-category{font-size:11px;color:#b3b4a9}.index-row .index-arrow{font-size:34px}.index-row img{width:42px;border-radius:10px}.next-project{padding:48px 0 64px;display:grid;grid-template-columns:1fr 2fr 100px;gap:20px;align-items:center}.next-project>.eyebrow{color:#96988c}.next-project p{font-size:41px;line-height:1.1;letter-spacing:-.03em}.next-project em{color:#95998a}.next-project>a{width:70px;height:70px;border:1px solid #ffffff35;border-radius:50%;display:grid;place-items:center;font-size:32px;transition:transform .3s,background .3s}.next-project>a:hover{background:var(--paper);color:var(--ink);transform:rotate(45deg)}.approach{padding:100px 42px 0;overflow:hidden}.approach-main{display:grid;grid-template-columns:1.4fr 1fr;gap:10%;padding-top:55px}.approach h2{font-size:clamp(48px,5.6vw,100px);line-height:1.03;letter-spacing:-.045em}.approach h2 em{font-size:1.08em}.approach-copy>p{font-size:17px;line-height:1.6;max-width:390px}.approach-copy>p+p{font-size:13px;margin-top:24px;opacity:.65}.text-link{display:inline-flex;align-items:center;gap:30px;font-size:12px;position:relative;padding:14px 0;margin-top:25px}.approach-tags{display:flex;gap:12px;padding:55px 0 70px;flex-wrap:wrap}.approach-tags>span{border:1px solid var(--line);padding:12px 20px;border-radius:30px;font-size:10px}.ticker{margin:0 -42px;padding:29px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.ticker>div{width:max-content;display:flex;align-items:center;gap:45px;animation:ticker 40s linear infinite}.ticker span{font-size:58px;letter-spacing:-.035em;line-height:1;font-weight:500}.ticker i{font-style:normal;color:var(--orange);font-size:56px;font-weight:400}footer{padding:90px 42px 27px}.footer-top{display:flex;justify-content:space-between}.footer-top>span:last-child{color:var(--muted)}.footer-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:65px;font-size:clamp(75px,10.5vw,185px);line-height:.98;letter-spacing:-.065em}.footer-cta em{letter-spacing:-.035em;font-size:1.05em}.footer-arrow{font-family:Arial,sans-serif;font-size:.9em;color:var(--orange);transition:transform .5s var(--ease)}.footer-cta:hover .footer-arrow{transform:translate(12px,-12px)}.footer-contact{display:flex;justify-content:space-between;padding:40px 0 75px;font-size:12px;align-items:center;color:var(--muted)}.footer-contact .text-link{margin:0;color:var(--ink)}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.05em;color:var(--muted)}.footer-bottom button{font-size:9px;letter-spacing:0;display:flex;align-items:center;gap:7px;padding:8px}.motion-dot{width:5px;height:5px;background:var(--orange);border-radius:50%}.cursor{position:fixed;width:12px;height:12px;background:var(--orange);border-radius:50%;top:0;left:0;z-index:100;pointer-events:none;transform:translate(-100px,-100px);display:grid;place-items:center;transition:width .25s,height .25s,background .25s;mix-blend-mode:normal}.cursor span{opacity:0;transition:opacity .2s;font-size:11px;color:var(--ink)}.cursor.is-project{width:65px;height:65px;background:var(--paper)}.cursor.is-project span{opacity:1}body:not(.has-pointer) .cursor{display:none}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(35px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.js-motion .reveal.visible{opacity:1;transform:none}.js-motion .hero h1 .title-line{animation:title-in 1.4s var(--ease) both}.js-motion .hero h1 .title-line.serif{animation-delay:.12s}.js-motion .hero-top,.js-motion .hero-bottom{animation:fade-in 1.3s .3s both}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:15px 23px;border-radius:30px;z-index:120;font-size:12px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{padding:0;border:0;margin:auto;background:var(--paper);color:var(--ink);width:calc(100% - 60px);max-width:1240px;max-height:calc(100svh - 50px);border-radius:12px;overscroll-behavior:contain;box-shadow:0 30px 120px #0005}dialog[open]{animation:dialog-in .5s var(--ease)}dialog::backdrop{background:#191b16ba;backdrop-filter:blur(12px)}.dialog-top{position:sticky;top:0;z-index:10;padding:22px 40px;display:flex;justify-content:space-between;align-items:center;background:var(--paper);border-bottom:1px solid var(--line)}.dialog-top button{font-size:11px;display:flex;align-items:center;gap:20px;min-height:32px}.dialog-top button>span{font-size:25px}.detail-head{padding:55px 50px 35px}.detail-meta{display:flex;align-items:center;gap:13px;font-size:10px;color:var(--muted)}.detail-meta img{height:35px;width:35px;border-radius:8px}.detail-head h2{font-size:clamp(70px,9vw,120px);letter-spacing:-.065em;line-height:1.1;margin-top:24px}.detail-head>p{font-family:'Instrument Serif',Georgia,serif;font-size:38px;line-height:1.15;max-width:720px;margin-top:22px}.detail-text{padding:20px 50px 50px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.detail-text p{font-size:14px;line-height:1.7;max-width:490px}.detail-features{list-style:none;padding:0;margin:0;font-size:12px}.detail-features li{padding:12px 0;border-bottom:1px solid var(--line)}.detail-features li:before{content:'↗';color:var(--project-color);padding-right:15px}.detail-gallery{padding:60px 50px;background:var(--project-light);display:flex;justify-content:center;gap:65px;position:relative}.detail-gallery figure{margin:0;width:min(270px,38%)}.detail-gallery figure img{width:100%;aspect-ratio:1206/2622;object-fit:cover;border:7px solid #252621;border-radius:32px;box-shadow:0 20px 35px #0002}.detail-gallery figcaption{font-size:10px;color:var(--project-ink);padding-top:18px;text-align:center;opacity:.75}.detail-bottom{padding:35px 50px}.detail-stack{display:flex;gap:10px;flex-wrap:wrap}.detail-stack span{padding:10px 15px;border:1px solid var(--line);border-radius:25px;font-size:10px}.detail-bottom>p{font-size:9px;color:var(--muted);margin-top:20px}.detail-next{border-top:1px solid var(--line);padding:25px 50px;display:flex;align-items:center;justify-content:space-between;width:100%;font-size:12px}.detail-next strong{font-weight:500;font-size:28px;letter-spacing:-.03em}.reduced-motion *, .reduced-motion *:before,.reduced-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reduced-motion .reveal{opacity:1!important;transform:none!important}.reduced-motion .device-main{transform:rotate(-8deg)}.reduced-motion .device-back{transform:rotate(9deg)}.reduced-motion .sculpture{transform:none}
@keyframes title-in{from{opacity:0;transform:translateY(65px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes orbit{to{transform:scale(1.2) rotate(360deg)}}@keyframes dialog-in{from{opacity:0;transform:translateY(70px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:1700px){.hero-title-wrap{margin-top:150px}.sculpture{height:700px;top:110px}.hero{min-height:980px}.project-copy{padding:50px 60px}.project-name{margin-top:90px}.hero-bottom>p{font-size:17px}}
@media(max-width:1100px){.hero{min-height:780px}.hero-title-wrap{margin-top:145px}.hero h1{font-size:12.2vw}.sculpture{right:-4%;width:65%;top:150px;height:500px}.work-intro p{margin-right:0}.project-copy{padding:30px}.project-card{min-height:650px}.project-name{font-size:6.5vw;margin-top:78px}.project-copy>p{font-size:12px}.device{border-radius:29px}.device img{border-radius:22px}.stage-orbit{width:310px;height:310px}.dartkrux .stage-orbit{width:310px;height:310px}.approach-main{gap:6%;grid-template-columns:1.3fr 1fr}.hero-index{font-size:7px}.detail-text{gap:40px}}
@media(max-width:760px){html{scroll-padding-top:30px}.header{height:82px;margin:0 24px;gap:22px}.wordmark{font-size:35px}.wordmark>span:first-child{font-size:30px}.header-name{font-size:10px}.header-name>span{font-size:8px}.header nav{display:none}.menu-toggle{display:block;margin-left:auto}.hero{height:100svh;min-height:740px;max-height:1000px;padding:112px 24px 25px}.hero-top{font-size:7px}.hero-top>span:last-child{display:none}.hero-title-wrap{margin-top:258px}.hero h1{font-size:16vw;letter-spacing:-.075em}.title-line.serif{font-size:1.03em;margin-top:4px}.sculpture{top:113px;right:0;width:85%;height:360px}.sculpture-caption{bottom:25px;right:30px;font-size:6px}.sculpture-fallback{height:220px;width:190px;top:25px}.hero-bottom{left:24px;right:24px;bottom:25px;align-items:flex-start;gap:10px;flex-wrap:wrap}.hero-bottom>p{font-size:12px;flex:1;min-width:50%;margin-bottom:30px}.explore{font-size:10px;gap:12px;flex:1;justify-content:flex-end}.round-arrow{width:38px;height:38px;font-size:18px}.hero-index{flex-basis:100%;flex-direction:row;justify-content:space-between;font-size:6px;border-top:1px solid var(--line);padding-top:18px}.hero-index>span:last-child{max-width:90px;text-align:right}.hero-side{display:none}.work{padding:34px 18px 0;border-radius:14px 14px 0 0}.section-heading{padding:0 6px 20px}.section-heading>.eyebrow{font-size:8px}.view-switch button{padding:7px 12px;font-size:8px}.work-intro{padding:50px 6px 45px;display:block}.work-intro h2{font-size:54px}.work-intro p{font-size:11px;margin-top:25px;max-width:250px}.project-card{display:block;height:auto;min-height:0;border-radius:5px;margin-bottom:16px}.project-copy{padding:26px 24px 10px}.project-meta{font-size:7px}.project-name{font-size:64px;margin-top:32px}.project-copy h3{font-size:31px;margin-top:18px}.project-copy>p{font-size:12px;max-width:310px;margin:17px 0 20px}.project-open{padding:12px 17px;gap:35px;font-size:10px}.project-platform{font-size:7px;margin-top:20px;padding-top:0}.project-stage{height:510px;width:100%;margin-top:-5px}.device{width:195px;border:6px solid #1c1d19;border-radius:30px}.device-main{left:32%;top:8%}.device-back{width:162px;left:10%;top:22%}.device img{border-radius:24px}.stage-orbit,.dartkrux .stage-orbit{width:310px;height:310px;left:12%;top:19%}.stage-label{bottom:24px;font-size:6px;max-width:90%;white-space:normal;width:100%;text-align:center}.project-stage .watermark{font-size:180px;top:30%;left:10%}.score-sticker{right:11%;top:16%;padding:10px 17px;font-size:9px}.score-sticker strong{font-size:40px}.card-number{bottom:17px;right:17px;font-size:8px}.next-project{padding:35px 6px 50px;grid-template-columns:1fr 60px}.next-project>.eyebrow{grid-column:1/-1;font-size:7px}.next-project p{font-size:30px}.next-project>a{width:52px;height:52px;font-size:25px}.index-row{grid-template-columns:40px 1fr 25px;gap:12px;padding:25px 6px}.index-row .index-name{font-size:38px}.index-row .index-category{display:none}.index-row .index-arrow{font-size:25px}.index-row img{width:32px;border-radius:7px}.approach{padding:65px 24px 0}.approach>.eyebrow{font-size:8px}.approach-main{display:block;padding-top:35px}.approach h2{font-size:47px}.approach-copy{padding-top:35px}.approach-copy>p{font-size:16px}.approach-copy>p+p{font-size:12px}.approach-tags{padding:35px 0 50px;gap:7px}.approach-tags>span{font-size:8px;padding:10px 13px}.ticker{margin:0 -24px;padding:22px 0}.ticker>div{gap:25px}.ticker span{font-size:37px}.ticker i{font-size:40px}footer{padding:60px 24px 23px}.footer-top{display:block}.footer-top>.eyebrow{font-size:7px}.footer-top>.eyebrow:last-child{display:block;margin-top:12px}.footer-cta{padding-top:40px;font-size:12.7vw;gap:5px;letter-spacing:-.055em}.footer-arrow{font-size:1em}.footer-contact{padding:30px 0 45px;font-size:10px}.footer-contact>.text-link{font-size:10px;gap:12px}.footer-bottom{flex-wrap:wrap;gap:20px;font-size:7px}.footer-bottom button{font-size:8px}.footer-bottom>a{margin-left:auto}.cursor{display:none!important}dialog{width:calc(100% - 16px);max-height:calc(100svh - 20px);border-radius:9px}.dialog-top{padding:17px 22px}.dialog-top>.eyebrow{font-size:7px}.dialog-top button{font-size:10px;gap:12px}.detail-head{padding:30px 24px}.detail-head h2{font-size:70px}.detail-head>p{font-size:30px}.detail-meta{font-size:8px}.detail-text{display:block;padding:0 24px 30px}.detail-text p{font-size:12px}.detail-features{font-size:11px;margin-top:20px}.detail-gallery{padding:35px 18px;gap:20px}.detail-gallery figure{width:calc(50% - 10px)}.detail-gallery figure img{border:4px solid #252621;border-radius:23px}.detail-gallery figcaption{font-size:8px}.detail-bottom{padding:25px 24px}.detail-stack{gap:7px}.detail-stack span{font-size:8px;padding:8px 11px}.detail-bottom>p{font-size:8px}.detail-next{padding:20px 24px;font-size:10px}.detail-next strong{font-size:22px}}
@media(max-width:380px){.hero-title-wrap{margin-top:255px}.project-name{font-size:55px}.project-stage{height:460px}.device{width:173px}.device-back{width:143px}.approach h2{font-size:42px}.hero-bottom>p{font-size:11px}.explore{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1!important;transform:none!important}}
@media(min-width:761px) and (max-height:800px){.hero{min-height:720px}.hero-title-wrap{margin-top:95px}.sculpture{top:85px;height:535px}.sculpture-caption{bottom:0}}
.detail-gallery figure:only-child{width:min(270px,70%)}
/* A quieter composition: artwork, substantial type and useful controls. */
.hero{padding:0 42px;min-height:680px;max-height:1100px}
.hero-title-wrap{position:absolute;left:42px;right:42px;top:28%;margin:0}
.sculpture{top:50%;right:2%;height:min(72svh,700px);transform:translate3d(0,calc(-50% - var(--hero-scroll,0)*70px),0)}
.hero-bottom{bottom:42px;justify-content:center;gap:0}
.explore{font-size:16px;gap:18px;flex:none}
.round-arrow{width:48px;height:48px}
.round-arrow svg{width:18px;height:18px;display:block}
.explore:hover .round-arrow{transform:none}
.work{padding-top:70px;padding-bottom:42px}
.section-heading{position:absolute;top:70px;right:42px;z-index:5;padding:0;border:0;justify-content:flex-end}
.view-switch{font-size:14px}
.view-switch button{font-size:14px;padding:10px 20px}
.work-intro{display:block;padding:0 0 70px}
.project-meta{font-size:13px;letter-spacing:.06em}
.project-name{margin-top:62px}
.project-copy h3{margin-top:26px}
.project-copy>p{font-size:16px;max-width:340px;line-height:1.55;margin:24px 0 30px}
.project-open{font-size:14px;gap:26px;padding:14px 20px}
.arrow-icon{display:block;width:16px;height:16px;flex:none}
.platforms{display:flex;align-items:center;flex-wrap:wrap;gap:18px 26px}
.project-copy>.platforms{margin-top:auto;padding-top:26px}
.platform{display:inline-flex;align-items:center;gap:8px;font-size:14px;line-height:1.4}
.platform>svg{display:block;width:24px;height:24px;flex:none}
.project-status{flex-basis:100%;font-size:14px;line-height:1.4;opacity:.65}
.score-sticker{padding:12px 18px}
.score-sticker strong{font-size:52px}
.project-card:last-child{margin-bottom:0}
.index-row{grid-template-columns:45px 50px 1fr 22px;gap:25px;padding:32px 12px}
.index-number{font-size:14px;opacity:.55}
.index-row>.arrow-icon{width:19px;height:19px}
.approach{padding-top:100px;padding-bottom:40px}
.approach-main{padding-top:0;align-items:center;grid-template-columns:1.4fr 1fr}
.approach-copy>p{font-size:20px;line-height:1.6}
footer{padding-top:40px}
.footer-cta{padding-top:30px}
.footer-arrow{width:45px;height:45px;flex:none;font-size:inherit;margin-right:20px;align-self:flex-end;margin-bottom:20px}
.footer-cta:hover .footer-arrow{transform:translate(4px,-4px)}
.footer-contact{justify-content:flex-end;padding:30px 0 65px}
.text-link{font-size:16px;gap:13px}
.text-link svg{display:block;width:16px;height:16px}
.footer-bottom{font-size:11px;letter-spacing:.025em}
.footer-bottom button{font-size:12px}
.footer-bottom>a{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:0}
.footer-bottom>a svg{width:15px;height:15px}
.cursor.is-project{width:38px;height:38px;background:transparent;border:1px solid var(--paper)}
.dialog-top{padding:23px 40px}
#detail-label{font-size:13px;letter-spacing:.05em}
.dialog-top button{font-size:15px;gap:15px;min-height:34px}
.dialog-top button svg{width:18px;height:18px;display:block}
.detail-head{padding-bottom:36px}
.detail-meta{gap:25px}
.detail-meta>img{width:44px;height:44px;border-radius:10px}
.detail-meta .platforms{gap:12px 25px}
.detail-meta .project-status{flex-basis:auto}
.detail-head>p{font-size:42px;max-width:790px}
.detail-text{gap:55px;padding-top:5px}
.detail-text p{font-size:18px;line-height:1.65;max-width:520px}
.detail-features{font-size:18px;line-height:1.5}
.detail-features li{padding:13px 0}
.detail-features li:first-child{padding-top:0}
.detail-features li:before{display:none;content:none}
.detail-gallery{padding:60px 50px}
.detail-note{font-size:14px;color:var(--muted);padding:24px 50px}
.detail-next{padding:28px 50px;font-size:15px}
.detail-next strong{display:flex;align-items:center;gap:20px;font-size:28px}
.detail-next .arrow-icon{width:17px;height:17px}
.reduced-motion .sculpture{transform:translateY(-50%)}
@media(min-width:1700px){.hero-title-wrap{top:28%;margin:0}.project-copy>p{font-size:18px;max-width:390px}.project-open{font-size:16px}.platform{font-size:16px}}
@media(max-width:1100px){.hero{min-height:680px}.hero-title-wrap{top:30%;margin:0}.sculpture{right:-3%;width:65%}.project-copy>p{font-size:15px}.project-copy h3{font-size:32px}.project-name{margin-top:65px}.project-meta{font-size:12px}.project-open{font-size:13px}.platform{font-size:13px}.platforms{gap:15px 22px}.approach-copy>p{font-size:18px}}
@media(max-width:760px){
 .hero{min-height:660px;height:100svh;padding:0 24px}
 .hero-title-wrap{left:24px;right:24px;top:48%;margin:0}
 .hero h1{font-size:16vw}
 .sculpture{top:29%;right:0;width:92%;height:390px;transform:translate3d(0,calc(-50% - var(--hero-scroll,0)*45px),0)}
 .hero-bottom{left:24px;right:24px;bottom:43px;justify-content:center;flex-wrap:nowrap}
 .explore{font-size:15px;flex:none;justify-content:center;gap:17px}
 .round-arrow{width:45px;height:45px}
 .round-arrow svg{width:17px;height:17px}
 .work{padding:32px 18px 24px}
 .section-heading{position:relative;top:auto;right:auto;padding:0 6px 34px}
 .view-switch button{font-size:12px;padding:9px 17px}
 .work-intro{padding:0 6px 45px}
 .project-meta{font-size:12px}
 .project-name{font-size:64px;margin-top:32px}
 .project-copy h3{font-size:32px;margin-top:18px}
 .project-copy>p{font-size:16px;max-width:100%;margin:22px 0 24px}
 .project-open{font-size:14px;padding:13px 18px;gap:24px}
 .project-copy>.platforms{margin-top:0;padding-top:26px;gap:13px 23px}
 .platform{font-size:14px}
 .platform>svg{width:24px;height:24px}
 .project-status{font-size:14px}
 .project-stage{margin-top:14px;height:500px}
 .score-sticker strong{font-size:40px}
 .index-row{grid-template-columns:25px 32px 1fr 18px;gap:14px;padding:28px 6px}
 .index-number{font-size:12px}
 .index-row .index-name{font-size:35px}
 .index-row>.arrow-icon{width:17px;height:17px}
 .approach{padding:70px 24px 0}
 .approach-main{padding:0}
 .approach h2{font-size:46px}
 .approach-copy{padding-top:30px}
 .approach-copy>p{font-size:18px}
 footer{padding:50px 24px 23px}
 .footer-cta{padding-top:15px;font-size:12vw}
 .footer-arrow{width:25px;height:25px;margin-right:0;margin-bottom:10px}
 .footer-contact{padding:28px 0 40px}
 .footer-contact .text-link{font-size:15px}
 .footer-bottom{font-size:10px;gap:18px}
 .footer-bottom button{font-size:11px}
 .footer-bottom>a{font-size:11px}
 .dialog-top{padding:17px 22px}
 #detail-label{font-size:12px}
 .dialog-top button{font-size:14px;gap:12px}
 .detail-head{padding:30px 24px}
 .detail-meta{gap:18px;flex-wrap:wrap}
 .detail-meta>img{width:39px;height:39px}
 .detail-meta .platforms{gap:12px 18px}
 .detail-meta .platform{font-size:13px;gap:6px}
 .detail-meta .platform>svg{width:22px;height:22px}
 .detail-meta .project-status{flex-basis:100%;font-size:13px}
 .detail-head>p{font-size:34px}
 .detail-text{padding:0 24px 34px}
 .detail-text p{font-size:17px;line-height:1.6}
 .detail-features{font-size:17px;margin-top:28px}
 .detail-features li{padding:13px 0}
 .detail-gallery{padding:35px 18px}
 .detail-note{font-size:13px;line-height:1.5;padding:22px 24px}
 .detail-next{padding:23px 24px;font-size:13px}
 .detail-next strong{font-size:22px;gap:13px}
 .detail-next .arrow-icon{width:16px;height:16px}
}
@media(max-width:380px){.hero-title-wrap{top:48%;margin:0}.project-name{font-size:55px}.project-stage{height:460px}.approach h2{font-size:42px}.index-row .index-name{font-size:31px}}

.portfolio-signature{position:absolute;top:32px;left:42px;z-index:5;font-size:16px;font-weight:500;line-height:1.4;letter-spacing:-.01em}
@media(max-width:760px){.portfolio-signature{top:24px;left:24px;font-size:15px}}

.sculpture{perspective:1000px}
.sculpture-logo{display:block;width:100%;height:100%;object-fit:contain;will-change:transform}
.hero h1{font-size:clamp(90px,10.6vw,180px)}
.reduced-motion .sculpture{transform:translateY(-50%)}
@media(max-width:760px){.hero h1{font-size:14vw}}
@media(max-width:360px){.hero h1{font-size:13.4vw}}

.project-legal{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;line-height:1.5;margin-top:20px}.project-legal a{padding:8px 0;text-decoration:underline;text-underline-offset:4px;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}.project-legal a:hover{text-decoration-color:currentColor}.project-copy .project-legal{color:var(--project-ink)}.detail-head .project-legal{font-size:14px;margin-top:24px}.portfolio-legal{display:flex;align-items:center;flex-wrap:wrap;gap:14px 25px;border-top:1px solid var(--line);padding:18px 0 22px;font-size:12px;line-height:1.5}.portfolio-legal>span{font-weight:500;margin-right:8px}.portfolio-legal a{padding:7px 0}.portfolio-legal a:hover{text-decoration:underline;text-underline-offset:4px}.portfolio-legal+.footer-bottom{padding-top:24px}@media(max-width:760px){.project-legal{font-size:12px;margin-top:15px;gap:8px}.portfolio-legal{font-size:12px;gap:7px 20px}.portfolio-legal>span{flex-basis:100%}.detail-head .project-legal{font-size:13px}}
