/* One sculpture, two opening scenes, native document scrolling. */
:root{--motion-ease:cubic-bezier(.16,1,.3,1);--scene-paper:#e9e9e2}
html{scroll-behavior:smooth;scroll-padding-top:100px}main{overflow:clip}body{background:var(--scene-paper)}
header{position:absolute;z-index:20}header .brand{font-weight:500;letter-spacing:-1.5px;font-size:25px}
.hero{height:max(790px,100svh);background:transparent;isolation:auto;overflow:visible}.hero:before{display:none}
.hero-heading{position:relative;z-index:3;mix-blend-mode:difference;color:#f5f3e9;height:100%;width:100%}
.hero-word{color:#f5f3e9;font-size:clamp(76px,11.2vw,210px);font-weight:400;line-height:.99;letter-spacing:-.073em;overflow:hidden;padding:0 .06em .08em 0;will-change:transform}
.word-one{top:18%;left:5%}.word-two{top:40%;right:5%}.word-three{bottom:19%;left:10%}
.hero-word .letter{display:inline-block}.hero-meta{bottom:5%;z-index:4}.hero-meta p{font-size:13px}.hero-meta a{margin-right:80px}.hero-pause{top:92px;width:40px;height:40px}
.hero-material{position:fixed;top:49%;left:50%;width:min(65vw,850px);height:auto;aspect-ratio:1;z-index:1;pointer-events:none;transform:translate(-50%,-50%);will-change:transform;perspective:none;transition:none;animation:none!important;isolation:isolate}
.hero-material canvas{position:relative;width:100%;height:100%;display:block;z-index:2;object-fit:contain}.webgl-ready .pearl{display:none}
.hero-material:before,.hero-material:after{content:"";position:absolute;inset:5%;border:1px solid #88928b40;border-radius:50%;transform:rotate(-28deg) scaleX(1.12) scaleY(.82);z-index:0}
.hero-material:after{inset:0%;transform:rotate(30deg) scaleX(.86);border-style:dashed;border-color:#88928b30}
.hero-material .pearl{width:85%;height:85%;margin:7.5%}
.scroll-cue{position:absolute;right:5%;bottom:21%;z-index:4;display:grid;place-items:center;border:1px solid #9ba29a;width:47px;height:64px;border-radius:30px;font-size:21px;overflow:hidden}
.scroll-cue span{display:block;transition:transform .6s var(--motion-ease)}.scroll-cue:hover span{transform:translateY(6px)}
.manifesto{position:relative;min-height:92svh;padding:14vh 5% 12vh;z-index:2;display:flex;flex-direction:column;justify-content:center;pointer-events:none}
.manifesto .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:45px}.manifesto h2{font-size:clamp(54px,7.9vw,136px);line-height:1.04;letter-spacing:-.065em;max-width:1000px;margin:0;mix-blend-mode:difference;color:#f5f3e9}
.manifesto-word{opacity:var(--ink,.18)}.manifesto p{font-size:13px;line-height:1.7;max-width:260px;margin:38px 0 0;color:#52635b}.manifesto .chapter{position:absolute;right:5%;bottom:10%;font-size:9px;letter-spacing:2px}
.project-reel{z-index:4;margin:0 3%;height:min(75vw,680px);border-radius:4px;transform:translateZ(0)}
.services,.projects,.method,.founder,.contact,footer{position:relative;z-index:4}.services,.method,.founder{background:var(--scene-paper)}
.services{padding-top:130px;padding-bottom:130px}.projects{background:#132324}.projects-head h2{max-width:720px}.project{opacity:1}
.reveal-ready .project,.reveal-ready .service,.reveal-ready .step,.reveal-ready .projects-head,.reveal-ready .method h2,.reveal-ready .founder,.reveal-ready .contact h2{opacity:0;transform:translateY(45px);transition:opacity .9s ease,transform 1.15s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.reveal-ready .in-view{opacity:1;transform:translateY(0)}
.service{position:relative;border-color:transparent}.service:before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:#b5beb2;transform:scaleX(0);transform-origin:left;transition:transform 1.25s var(--motion-ease)}.service.in-view:before{transform:scaleX(1)}
.service .num{transition:color .3s,transform .5s var(--motion-ease)}.service:hover .num{color:#17242a;transform:translateX(5px)}
.brief input,.brief textarea{transition:border-color .25s,background .25s,box-shadow .25s}.brief input:focus,.brief textarea:focus{outline:none;background:#f7f6f055;box-shadow:0 1px 0 #142633;border-color:#142633}
body:after{content:"";position:fixed;z-index:70;bottom:0;left:0;width:100%;height:2px;background:#8caaa2;transform:scaleX(var(--journey,0));transform-origin:left;pointer-events:none}
@media(prefers-reduced-motion:no-preference){.hero-word .letter{animation:letter-entry 1.25s var(--motion-ease) both;animation-delay:calc(.05s + var(--letter)*.032s)}.hero-material canvas{animation:sculpture-entry 1.6s var(--motion-ease) both}.hero-meta,.scroll-cue{animation:meta-entry 1.2s .5s both}
@keyframes letter-entry{from{transform:translate3d(0,115%,0) rotate(8deg)}to{transform:translate3d(0,0,0) rotate(0)}}
@keyframes sculpture-entry{from{opacity:0;transform:scale(.3) rotate(-20deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes meta-entry{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}}
.paused *, .paused *:before,.paused *:after{animation-play-state:paused!important}
@media(max-width:750px){html{scroll-padding-top:75px}.hero{height:max(740px,100svh);min-height:740px}.hero-word{font-size:13.4vw;line-height:1.06}.word-one{top:23%;left:6%}.word-two{top:40%;right:6%;font-size:14.4vw}.word-three{bottom:31%;left:6%;font-size:14.6vw}.hero-material{width:112vw;top:43%}.hero-meta{bottom:5%}.hero-meta a{margin-right:40px}.scroll-cue{width:37px;height:48px;bottom:30%;right:6%;font-size:18px}.hero-pause{top:82px;right:6%}.manifesto{min-height:78svh;padding:12vh 6%}.manifesto h2{font-size:13.2vw;letter-spacing:-.06em}.manifesto .eyebrow{font-size:8px;margin-bottom:35px}.manifesto p{font-size:12px;max-width:200px}.manifesto .chapter{right:6%;bottom:8%;font-size:8px}.project-reel{height:420px;margin:0 5%;border-radius:3px}.services{padding:75px 6%}.hero-material:before,.hero-material:after{border-color:#88928b25}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-ready .project,.reveal-ready .service,.reveal-ready .step,.reveal-ready .projects-head,.reveal-ready .method h2,.reveal-ready .founder,.reveal-ready .contact h2{opacity:1;transform:none;transition:none}.service:before{transform:none;transition:none}.manifesto-word{opacity:1}.hero-material{will-change:auto}.hero-word{will-change:auto}}
/* Keep blending in the page backdrop, outside a nested stacking context. */
.manifesto{z-index:auto}.manifesto h2{position:relative;z-index:3}.manifesto .eyebrow,.manifesto p,.manifesto .chapter{position:relative;z-index:3}.manifesto .chapter{position:absolute}
.reveal-ready .method h2.in-view,.reveal-ready .contact h2.in-view{opacity:1;transform:none}
.hero-meta>a{margin-right:130px}
.projects{display:grid;grid-template-columns:.75fr 1fr 1fr;gap:32px;padding:100px 4% 120px;align-items:start}
.projects .projects-head{display:block;position:sticky;top:60px;grid-column:1;grid-row:1 / span 2;margin:0;padding-right:22px}
.projects .projects-head h2{font-size:clamp(34px,3.4vw,57px);letter-spacing:-.055em;line-height:1.08}.projects .projects-head p{font-size:12px;max-width:230px}
.projects .project,.projects .project.reverse{width:auto;margin:0;padding:0;gap:22px;grid-template-columns:1fr;min-width:0}
.projects .project:nth-of-type(1){grid-column:2;grid-row:1}.projects .project:nth-of-type(2){grid-column:3;grid-row:1;margin-top:160px}.projects .project:nth-of-type(3){grid-column:2;grid-row:2}.projects .project:nth-of-type(4){grid-column:3;grid-row:2;margin-top:160px}
.projects .project>.project-info{display:block;margin:0}.projects .project-info h3{font-size:33px;margin:13px 0;letter-spacing:-1.4px}.projects .project-info p{font-size:12px;line-height:1.7;margin:0 0 18px}.projects .project-info>.eyebrow{font-size:7px;letter-spacing:1.2px}
.projects .project>.project-media-image>img,.projects .project.reverse>.project-media-image>img{height:320px;object-fit:cover;object-position:top left}
.projects .velnis-preview{min-height:360px;padding:30px 24px}.projects .velnis-preview h4{font-size:35px;letter-spacing:-1.8px;margin-top:45px}.projects .ym-preview h4{font-size:30px;margin:26px 22px 0;letter-spacing:-1px}.projects .ym-preview img{height:260px}.projects .site-bar{padding:12px 18px;font-size:7px}
@media(max-width:1100px){.projects{grid-template-columns:1fr 1fr;gap:35px}.projects .projects-head{position:static;grid-column:1/-1;grid-row:1;margin-bottom:20px}.projects .projects-head h2{font-size:54px;max-width:600px}.projects .projects-head p{max-width:none}.projects .project:nth-of-type(1){grid-column:1;grid-row:2}.projects .project:nth-of-type(2){grid-column:2;grid-row:2;margin-top:120px}.projects .project:nth-of-type(3){grid-column:1;grid-row:3}.projects .project:nth-of-type(4){grid-column:2;grid-row:3;margin-top:120px}}
@media(max-width:750px){.hero-meta>a{margin-right:0;max-width:calc(100% - 85px);font-size:10px}.projects{display:block;padding:70px 6%}.projects .projects-head h2{font-size:43px}.projects .project,.projects .project.reverse{margin:50px 0 0}.projects .project:nth-of-type(n){margin-top:50px}.projects .project>.project-media-image>img,.projects .project.reverse>.project-media-image>img{height:280px}.projects .velnis-preview{min-height:360px}}
.project-media>.site-frame{line-height:normal}
.intro-complete .hero-word .letter,.intro-complete .hero-material canvas,.intro-complete .hero-meta,.intro-complete .scroll-cue{animation:none!important;opacity:1}
.paused .hero-word .letter,.paused .hero-material canvas,.paused .hero-meta,.paused .scroll-cue{animation:none!important;opacity:1}
.manifesto .chapter{right:calc(5% + 170px)}
@media(max-width:750px){.manifesto .chapter{left:6%;right:auto;bottom:10%}}
