.depth-carousel{width:100%;height:100%;min-height:320px;perspective:var(--dc-perspective,1400px);perspective-origin:50%;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;outline:none;justify-content:center;align-items:center;display:flex;position:relative}.depth-carousel:active{cursor:grabbing}.depth-carousel:focus-visible{outline-offset:4px;border-radius:12px;outline:2px solid #ffffff80}.depth-carousel__stage{transform-style:preserve-3d;position:absolute;inset:0}.depth-carousel__card{transform-origin:50%;will-change:transform, opacity, filter;cursor:pointer;background:#0b0d12;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 30px 60px -20px #000000a6,0 8px 20px -10px #00000080}.depth-carousel__img{object-fit:cover;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.depth-carousel__tint{opacity:0;pointer-events:none;mix-blend-mode:multiply;position:absolute;inset:0}.depth-carousel__arrow{z-index:3000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#12141a8c;border:1px solid #ffffff2e;border-radius:999px;place-items:center;width:42px;height:42px;transition:background .2s,border-color .2s,transform .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.depth-carousel__arrow:hover{background:#1c1f28d9;border-color:#fff6}.depth-carousel__arrow:active{transform:translateY(-50%)scale(.94)}.depth-carousel__arrow--prev{left:16px}.depth-carousel__arrow--next{right:16px}.depth-carousel__dots{z-index:3000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e101666;border-radius:999px;gap:8px;padding:8px 12px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.depth-carousel__dot{cursor:pointer;background:#ffffff52;border:none;border-radius:999px;width:7px;height:7px;padding:0;transition:width .25s,background .25s}.depth-carousel__dot.is-active{background:#fff;width:20px}@media (prefers-reduced-motion:reduce){.depth-carousel__card{will-change:auto}.depth-carousel__arrow,.depth-carousel__dot{transition:none}}
.landing{--bg:#fbfbfa;--ink:#171717;--muted:#6f6f6b;--hairline:#e9e9e5;--warm:#ff6b49;--max:1440px;font-family:var(--font-josefin-sans), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--ink);text-transform:uppercase;background:radial-gradient(circle at var(--mx,50%) var(--my,50%), #9bd4411f, transparent 19rem), var(--bg);font-size:16px;font-weight:500;line-height:1.15;overflow:hidden}.landing a{color:inherit;text-decoration:none}.landing a:focus-visible,.landing button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.landing .hero{min-height:100svh;max-width:var(--max);isolation:isolate;margin:0 auto;padding:clamp(16px,1.7vw,24px);display:grid;position:relative}.landing .site-header,.landing .hero__footer{z-index:2;justify-content:space-between;align-items:flex-start;gap:24px;min-height:24px;font-size:clamp(.7rem,.56rem + .32vw,1.25rem);display:flex;position:relative}.landing .hero__footer{align-self:end}.landing .word-link{letter-spacing:0;width:fit-content;display:inline-flex;position:relative}.landing .word-link:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .26s;position:absolute;bottom:-.32em;left:0;right:0;transform:scaleX(0)}.landing .word-link:hover:after{transform-origin:0;transform:scaleX(1)}.landing .hero__cursor{inset:auto;left:var(--mx,50%);top:var(--my,50%);z-index:0;pointer-events:none;opacity:.36;background:linear-gradient(90deg,#0000 49.8%,#17171714 50%,#0000 50.2%),linear-gradient(#0000 49.8%,#17171714 50%,#0000 50.2%);border-radius:50%;width:34rem;height:34rem;transition:left .12s,top .12s;position:absolute;transform:translate(-50%,-50%)}.landing .hero__mark{z-index:1;grid-template-columns:auto clamp(3rem,10vw,12rem) auto;grid-template-areas:"human line design"".code.";place-self:center;align-items:center;gap:clamp(.55rem,1.25vw,1.15rem);font-size:clamp(.7rem,.55rem + .44vw,1.5rem);display:grid;position:relative}.landing .hero__word{animation:.9s cubic-bezier(.2,.9,.2,1) both landing-word-arrive;display:inline-block}.landing .hero__word--left{grid-area:human}.landing .hero__word--right{grid-area:design;animation-delay:.15s}.landing .hero__line{background:color-mix(in srgb, var(--ink) 78%, transparent);transform-origin:0;grid-area:line;height:1px;animation:2.6s cubic-bezier(.7,0,.2,1) infinite landing-line-pulse;overflow:hidden}.landing .hero__code{color:color-mix(in srgb, var(--ink) 85%, var(--muted));grid-area:code;justify-self:center;animation:1.7s steps(2,end) infinite landing-code-blink}.landing .works{max-width:var(--max);margin:0 auto;padding:0 clamp(12px,1.7vw,24px) clamp(4rem,10vw,8rem)}.landing .works h1{text-align:center;margin:0 0 clamp(14px,1.7vw,24px);font-size:clamp(.7rem,.56rem + .32vw,1.25rem)}.landing .works-showcase{align-items:center;margin-top:80px;display:flex}.landing .works-showcase__info{--shift-x:230px;flex:none;width:0;transition:width .6s cubic-bezier(.22,.68,0,1)}.landing .works-showcase.is-active .works-showcase__info{width:300px;margin-right:48px}.landing .works-info__inner{opacity:0;width:300px;transform:translateX(var(--shift-x)) translateY(18px);transition:opacity .5s,transform .5s}.landing .works-showcase.is-active .works-info__inner{opacity:1;transform:translateX(var(--shift-x)) translateY(0);transition-delay:.2s}.landing .works-info__inner.is-linked{cursor:pointer}.landing .works-info__title{color:#000;align-items:center;gap:8px;margin:0 0 10px;font-size:20px;font-weight:400;display:flex}.landing .works-info__lock{color:#9a9a9a;display:flex;transform:translateY(-2px)}.landing .works-info__lock[hidden]{display:none}.landing .works-info__tags{text-transform:none;flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.landing .works-info__tags span{color:#161717;background:#f4f4f4;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:400}.landing .works-info__desc{color:#afafaf;text-transform:none;max-width:280px;margin:0;font-size:13px;font-weight:300;line-height:1.55}.landing .showcase__frame{flex:auto;min-width:0;height:500px;position:relative}.landing .depth-carousel-root{height:100%}.landing .works .depth-carousel__dots,.landing .works .depth-carousel__arrow--prev{display:none}.landing .works .depth-carousel__arrow--next{opacity:0;pointer-events:none;transition:opacity .25s}.landing .works .depth-carousel:hover .depth-carousel__arrow--next,.landing .works .depth-carousel__arrow--next:focus-visible{opacity:1;pointer-events:auto}.landing .about{max-width:var(--max);margin:0 auto;padding:clamp(3rem,9vw,8rem) clamp(16px,1.7vw,24px)}.landing .about h2{margin:0;font-size:clamp(.8rem,.64rem + .36vw,1.35rem)}.landing .contact{max-width:var(--max);grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,5vw,90px);margin:0 auto;padding:clamp(3rem,8vw,7rem) clamp(16px,1.7vw,24px) clamp(28px,3vw,44px);font-size:clamp(.7rem,.56rem + .32vw,1.25rem);display:grid}.landing .contact a{width:fit-content}.landing .contact a:hover{color:var(--warm)}.landing .contact span{grid-column:1/-1;justify-self:end;margin-top:clamp(3rem,9vw,8rem)}.landing .reveal{opacity:0;transition:opacity .76s,transform .76s cubic-bezier(.2,.8,.2,1);transform:translateY(24px)}.landing .reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes landing-word-arrive{0%{opacity:0;transform:translateY(.8rem)rotateX(18deg)}to{opacity:1;transform:translateY(0)rotateX(0)}}@keyframes landing-line-pulse{0%,to{transform:scaleX(.42)}50%{transform:scaleX(1)}}@keyframes landing-code-blink{0%,75%{opacity:1}76%,to{opacity:.48}}@media (max-width:760px){.landing .hero{min-height:100svh}.landing .site-header,.landing .hero__footer{font-size:.72rem}.landing .hero__footer{align-items:flex-end}.landing .hero__mark{grid-template-columns:auto minmax(2.25rem,16vw) auto;font-size:.72rem}.landing .contact{grid-template-columns:repeat(2,minmax(0,1fr))}.landing .works-showcase{flex-direction:column;align-items:stretch}.landing .works-showcase.is-active .works-showcase__info{width:100%;margin-bottom:24px;margin-right:0}.landing .works-showcase__info{--shift-x:0px}.landing .works-info__inner{width:100%}}@media (prefers-reduced-motion:reduce){.landing .hero__cursor{display:none}}
