:root{--ink:#111211;--paper:#edece5;--accent:#ff683e;--muted:#aaa9a0;--read:0;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:0}body{margin:0;background:var(--ink);color:var(--paper);font-family:'DM Sans',sans-serif;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}svg{width:1em;height:1em;vertical-align:middle}img{display:block;width:100%;height:100%;object-fit:cover}#world{position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 70% 30%,#34333155,transparent 65%)}#world canvas{width:100%;height:100%;display:block}.grain{position:fixed;inset:0;pointer-events:none;z-index:8;opacity:.025;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='.93' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.progress{position:fixed;inset:0 auto auto 0;height:2px;width:100%;background:var(--accent);transform:scaleX(var(--read));transform-origin:left;z-index:30}header{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:26px 4.5vw;mix-blend-mode:normal;background:linear-gradient(#111211a0,transparent)}.logo{font-family:'Archivo Black',sans-serif;letter-spacing:-.07em;font-size:19px;display:flex;align-items:center}.logo span{font-family:'DM Sans';font-weight:400}.logo i{width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:10px}nav{display:flex;gap:32px;align-items:center;font-size:12px}nav a:not(.nav-cta):hover{color:var(--accent)}.nav-cta{border:1px solid #ffffff60;border-radius:40px;padding:11px 18px;display:flex;gap:18px;align-items:center;transition:background .25s}.nav-cta:hover{background:var(--paper);color:var(--ink)}.eyebrow,.micro{font:10px monospace;letter-spacing:.12em;text-transform:uppercase}.eyebrow{display:flex;gap:10px;align-items:center;color:#c8c7bf}.live-dot{background:var(--accent);width:5px;height:5px;border-radius:50%;display:inline-block}.chapter-nav{position:fixed;left:16px;top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;gap:22px}.chapter-nav a{font:9px monospace;color:#8c8d86;transition:color .3s}.chapter-nav a.active{color:var(--accent)}.chapter{position:relative;z-index:2}.pin{position:relative;padding:120px 8vw 65px;min-height:100svh}.motion .pin{position:sticky;top:0;height:100svh;overflow:clip}.motion .intro{height:190svh}.motion .vision{height:210svh}.motion .work{height:500svh}.motion .approach{height:240svh}.motion .about{height:160svh}.motion .contact{height:110svh}h1,h2,h3,p{margin:0}h1,h2{letter-spacing:-.065em;font-weight:500;line-height:.94}h1{font-size:clamp(80px,10.8vw,180px);position:relative;margin-top:19svh;z-index:3;max-width:90%}h1 span{display:block;width:max-content;max-width:100%;will-change:transform}.outline{-webkit-text-stroke:1px var(--paper);color:transparent}.intro-label{justify-content:flex-start}.intro-label>span:last-child{margin-left:auto}.hero-bottom{position:absolute;bottom:55px;left:8vw;right:8vw;display:flex;align-items:end;justify-content:space-between;gap:20px}.hero-bottom p{font-size:14px;line-height:1.6;color:#b9b9b2}.scroll-link{font-size:12px;border-bottom:1px solid #ffffff55;padding:10px 0;display:flex;gap:30px;align-items:center}.scroll-link span{font-size:22px}.hero-bottom .micro{font-size:9px}.hero-sign{position:absolute;top:24%;right:9%;font:10px monospace;letter-spacing:.3em;color:var(--accent)}.vision h2{font-size:clamp(58px,7.8vw,132px);position:absolute;top:29%;max-width:90%;z-index:3}.vision h2 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.vision-note{position:absolute;bottom:15%;left:8vw;font-size:14px;line-height:1.7;color:#bbbcb4;z-index:3}.vertical-note{position:absolute;right:5vw;top:38%;writing-mode:vertical-rl;letter-spacing:.3em;font:10px monospace}.vision-image{position:absolute;inset:0;z-index:4;pointer-events:none;clip-path:circle(0% at 50% 50%);opacity:0}.vision-image:after{content:'';position:absolute;inset:0;background:#11121120}.vision-image img{transform:scale(1.15)}.work-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.work-head h2{font-size:clamp(36px,4.5vw,72px);margin-top:15px}.work-head h2 span{color:var(--accent)}.work-head p{font-size:12px;line-height:1.6;color:var(--muted)}.reel{margin-top:45px;display:grid;grid-template-columns:1fr 1fr;gap:45px}.project-open{padding:0;border:0;display:block;position:relative;background:#222;width:100%;aspect-ratio:1.65;overflow:hidden}.project img{transition:filter .5s,transform .8s;filter:saturate(.8)}.project-open:hover img{transform:scale(1.045);filter:saturate(1.15)}.image-open{position:absolute;bottom:18px;right:18px;background:#ecebe4;color:#111;padding:10px 14px;border-radius:30px;display:flex;gap:20px;font-size:10px;opacity:0;transform:translateY(10px);transition:.3s}.project-open:hover .image-open,.project-open:focus-visible .image-open{opacity:1;transform:none}.project-caption{margin-top:17px}.project-caption .micro{color:var(--accent);font-size:9px}.project h3{font-size:26px;font-weight:500;letter-spacing:-.04em;margin-top:8px}.motion .reel{position:absolute;inset:30% 0 16%;margin:0;display:block;perspective:1200px;transform-style:preserve-3d}.motion .project{position:absolute;left:50%;top:45%;width:min(53vw,820px);transform-style:preserve-3d;will-change:transform,opacity}.reel-footer{display:flex;align-items:center;gap:24px;margin-top:50px}.motion .reel-footer{position:absolute;bottom:55px;left:8vw;right:8vw}.reel-count{font:12px monospace;white-space:nowrap}.reel-line{height:1px;background:#ffffff30;flex:1}.reel-line i{display:block;height:2px;background:var(--accent);transform-origin:left;transform:scaleX(var(--reel,.14))}.reel-footer .micro{font-size:9px;color:var(--muted)}.approach .pin{padding-top:110px}.service-copy{width:53%;position:relative;z-index:3}.service-copy h2{font-size:clamp(46px,5.7vw,90px);margin-top:45px}.service-copy em{font-family:Georgia,serif;font-weight:400;color:var(--accent);white-space:nowrap}.service-list{margin-top:45px}.service-list article{display:flex;gap:24px;padding:18px 0;border-top:1px solid #ffffff25;transition:opacity .35s,transform .35s}.service-list article>span{font:10px monospace;color:var(--accent);padding-top:6px}.service-list h3{font-size:22px;letter-spacing:-.035em;font-weight:500}.service-list p{color:var(--muted);font-size:12px;line-height:1.6;max-width:350px;margin-top:8px}.orbit-word{position:absolute;right:5%;top:42%;font-size:5.5vw;letter-spacing:-.06em;line-height:.9;color:transparent;-webkit-text-stroke:1px #ffffff20;z-index:-1;transform:rotate(-90deg)}.about-photo{position:absolute;left:8vw;top:18%;width:37%;height:68%;overflow:hidden;transform-origin:center;will-change:transform;box-shadow:0 25px 90px #0008}.about-photo img{transform:scale(1.1)}.about-copy{position:relative;margin-left:52%;padding-top:6vh}.about-copy h2{font-size:clamp(58px,7vw,115px);margin-top:28px}.about-copy em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.about-copy p{font-size:13px;line-height:1.7;max-width:340px;color:var(--muted);margin-top:28px}.text-link{font-size:12px;border-bottom:1px solid #ffffff55;padding:15px 0;display:inline-flex;gap:25px;margin-top:20px}.about-watermark{position:absolute;bottom:3%;left:0;white-space:nowrap;font-size:8vw;letter-spacing:-.06em;color:#ffffff08;pointer-events:none}.contact .pin{display:flex;flex-direction:column;justify-content:center}.contact h2{font-size:clamp(52px,7.5vw,124px);margin-top:40px;position:relative;z-index:3}.contact h2 a{color:var(--accent)}.contact h2 svg{width:.58em;height:.58em;margin-left:.2em;transition:transform .4s}.contact h2 a:hover svg{transform:translate(8px,-8px)}.mobile-break{display:none}.contact-details{display:flex;gap:8vw;margin-top:55px;position:relative;z-index:3}.contact-details a{display:block;font-size:13px;line-height:2}.contact-details .micro{display:block;color:var(--muted);margin-bottom:6px;font-size:9px}footer{position:absolute;bottom:28px;left:8vw;right:8vw;border-top:1px solid #ffffff25;padding-top:22px;display:flex;justify-content:space-between;font:9px monospace;letter-spacing:.08em;color:var(--muted)}.motion-toggle{position:fixed;z-index:25;bottom:17px;right:18px;border:1px solid #ffffff30;border-radius:30px;background:#111211c0;backdrop-filter:blur(8px);padding:8px 11px;font:9px monospace}.motion-toggle span{color:var(--accent);margin-left:8px}.skip{position:fixed;left:15px;top:-100px;z-index:50;padding:12px;background:var(--paper);color:var(--ink)}.skip:focus{top:15px}dialog{background:#161715;color:var(--paper);border:1px solid #ffffff30;width:min(950px,92vw);max-height:90svh;padding:50px 24px 25px;overflow:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(10px)}dialog>img{max-height:52svh;object-fit:contain;background:#0c0d0c}.dialog-close{position:absolute;right:20px;top:13px;background:none;border:0;font-size:12px;display:flex;gap:20px;align-items:center}.dialog-close span{font-size:24px}.dialog-copy{padding:22px 0 0}.dialog-copy h2{font-size:38px;margin:15px 0}.dialog-copy p{font-size:14px;color:var(--muted)}.dialog-copy a{display:inline-flex;gap:20px;margin-top:22px;font-size:12px;color:var(--accent)}body.dialog-open{overflow:hidden}.no-webgl #world{background:radial-gradient(ellipse at 70% 25%,#b84c3144,transparent 60%)}
@media(min-width:1500px){.pin{padding-top:145px}.service-list article{padding:24px 0}.service-copy h2{margin-top:65px}}
@media(max-width:700px){header{padding:20px 22px}.logo{font-size:15px}nav{gap:16px;font-size:10px}nav a:nth-child(2){display:none}.nav-cta{padding:9px 12px;gap:10px}.chapter-nav{display:none}.pin{padding:100px 24px 40px}.eyebrow{font-size:8px;letter-spacing:.08em}.intro-label>span:last-child{display:none}h1{font-size:15vw;margin-top:34svh;max-width:100%;line-height:1}.hero-bottom{left:24px;right:24px;bottom:65px;display:block}.hero-bottom p{font-size:12px}.hero-bottom .micro{display:none}.scroll-link{display:inline-flex;margin-top:20px;font-size:10px}.hero-sign{top:24%;right:24px}.motion .intro{height:165svh}.motion .vision{height:185svh}.vision h2{font-size:14vw;top:19%;left:24px}.vision-note{left:24px;bottom:15%;font-size:11px}.vertical-note{right:18px;font-size:8px}.work-head p{display:none}.work-head h2{font-size:10vw}.motion .work{height:430svh}.motion .reel{inset:30% 0 19%;perspective:850px}.motion .project{width:80vw;top:45%}.project-open{aspect-ratio:1.1}.project h3{font-size:25px}.project-caption .micro{font-size:8px}.image-open{opacity:1;transform:none;padding:8px 12px;font-size:9px;bottom:12px;right:12px}.motion .reel-footer{left:24px;right:24px;bottom:65px;gap:15px}.reel-footer .micro{font-size:7px}.reel{grid-template-columns:1fr}.approach .pin{padding-top:100px}.service-copy{width:100%}.service-copy h2{font-size:12vw;margin-top:28px}.service-list{margin-top:31svh}.service-list article{padding:12px 0;gap:15px}.service-list h3{font-size:19px}.service-list p{font-size:11px;max-width:100%}.motion .approach{height:220svh}.motion .service-list article{position:absolute;left:0;right:0}.orbit-word{font-size:10vw;top:38%;right:8%}.motion .about{height:160svh}.about-photo{left:24px;top:14%;width:calc(100% - 48px);height:34%}.about-copy{margin:0;padding-top:39svh}.about-copy h2{font-size:12vw;margin-top:18px}.about-copy h2 br:nth-child(2){display:none}.about-copy p{font-size:11px;margin-top:17px;max-width:90%}.about-copy .text-link{font-size:10px;margin-top:12px}.about-watermark{bottom:2%;font-size:12vw}.contact h2{font-size:12vw;margin-top:32px}.mobile-break{display:block}.contact .pin{justify-content:center;padding-bottom:130px}.contact-details{display:block;margin-top:30px}.contact-details a{font-size:11px;margin-top:18px}.contact-details .micro{font-size:8px}footer{left:24px;right:24px;bottom:62px;gap:20px;flex-wrap:wrap;font-size:8px}footer span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.still .chapter{height:auto!important}.still .pin{position:relative!important;height:auto!important;min-height:100svh;overflow:visible}.still h1 span,.still h2,.still .project,.still .about-photo,.still .about-photo img{transform:none!important;opacity:1!important}.still .vision-image{display:none}.still .reel{position:relative;inset:auto;display:grid;perspective:none;margin-top:45px}.still .project{position:relative;inset:auto;width:100%;pointer-events:auto!important;visibility:visible!important}.still .reel-footer{position:relative;inset:auto}.still .service-list article{opacity:1!important;transform:none!important;position:relative}.still .service-list{margin-top:40px}.still .about .pin{min-height:110svh}.still .vision{min-height:90svh}.still .contact{min-height:100svh}

.motion .reel{pointer-events:none}.motion .project{pointer-events:auto}

.vision-portal{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;display:grid;place-items:center;background:radial-gradient(ellipse at center,#ff683e12,transparent 65%)}.vision-portal i{position:absolute;width:36vmin;height:36vmin;border-radius:50%;border:1px solid #ffc6a599;box-shadow:0 0 45px #ff683e30,inset 0 0 45px #ff683e18;transform:scale(calc(.15 + var(--portal,0)*9));will-change:transform}.vision-portal i:nth-child(2){width:28vmin;height:28vmin;border-color:#e7ddd050;transform:scale(calc(.1 + var(--portal,0)*7))}.vision-portal i:nth-child(3){width:20vmin;height:20vmin;border-color:#ff683e50;transform:scale(calc(.1 + var(--portal,0)*5))}.still .vision-portal{display:none}


h1{font-family:'Archivo Black',sans-serif;font-size:clamp(95px,14vw,215px);line-height:.82;margin-top:16svh;letter-spacing:-.065em}.hero-bottom p{max-width:430px;font-size:12px}.about-copy h2 br:nth-child(2){display:initial}@media(max-width:700px){h1{font-size:22vw;margin-top:34svh}.hero-bottom p{font-size:11px;max-width:300px}.service-copy h2{font-size:11vw}.about-copy h2{font-size:11vw}}

/* A moving highlight clipped to the VISUAL lettering. */
h1 .outline{background-image:linear-gradient(105deg,transparent 0%,transparent 40%,rgba(255,255,255,.2) 46%,#fff 50%,rgba(255,255,255,.2) 54%,transparent 60%,transparent 100%);background-size:250% 100%;background-repeat:no-repeat;background-position:150% 0;-webkit-background-clip:text;background-clip:text;animation:visual-shine 2s linear infinite}
@keyframes visual-shine{0%{background-position:150% 0}70%,100%{background-position:-150% 0}}
@media(prefers-reduced-motion:reduce){h1 .outline{animation:none;background-image:none}}

.logo span{font-family:'Archivo Black',sans-serif;font-weight:400}

