html.globe-site,html.globe-site body{--cursor-fluid-palette:#ffb088,#ee8cff,#7dffb0,#8ad8ff;background:#1b1a19;color:#f6f1e4;margin:0}@font-face{font-family:Helvetica Neue LT Pro;src:url(/fonts/HelveticaNeueLTPro-Roman.esr30XBr.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue LT Pro;src:url(/fonts/HelveticaNeueLTPro-Md.BuGpaDxv.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:TAN Memories;src:url(/fonts/TANMEMORIES-Regular.DJ3BjhRc.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}.globe-root:has(.portfolio-header.is-compact){--drawer-top:84px}.globe-root:has(.portfolio-header.is-compact):before{content:"";position:fixed;z-index:7;top:0;left:0;width:100%;height:120px;background:linear-gradient(to bottom,var(--background) 0 96px,transparent 120px);pointer-events:none}.globe-root{--background:#1b1a19;--foreground:#f6f1e4;--border:hsla(43,50%,93%,.18);--muted-foreground:#c4bba8;--accent:#e4572e;--cursor-fluid-palette:#ffb088,#ee8cff,#7dffb0,#8ad8ff;--font-display:"Helvetica Neue LT Pro",sans-serif;--font-serif:"TAN Memories",serif;--font-mono:"Helvetica Neue LT Pro",sans-serif;--drawer-top:152px;min-height:100dvh;background:var(--background);color:var(--foreground);font-family:var(--font-display)}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.cursor-fluid-ink{z-index:60;mix-blend-mode:darken}.cursor-fluid-button,.cursor-fluid-ink{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.cursor-fluid-button{z-index:61}.cursor-fluid-copy{position:fixed;z-index:6;pointer-events:none;mix-blend-mode:darken}.globe-layer{position:fixed;inset:0;z-index:0;background:#1b1a19;transition:opacity .65s ease}.globe-layer.project-open{opacity:0;pointer-events:none}.globe-layer.project-entering,.globe-root[data-returning] .globe-layer{opacity:.42}.globe-canvas{position:fixed;inset:0;cursor:grab;touch-action:none}.globe-root[data-intro-phase=loading] .globe-canvas{opacity:0}.globe-root[data-intro-phase=loading] .globe-canvas.is-drawn{opacity:1;transition:opacity .35s ease}.globe-root[data-intro-phase=loading] .globe-layer,.globe-root[data-intro-phase=loading] .news-ticker,.globe-root[data-intro-phase=loading] .portfolio-header,.globe-root[data-intro-phase=revealing] .globe-layer,.globe-root[data-intro-phase=revealing] .news-ticker,.globe-root[data-intro-phase=revealing] .portfolio-header{pointer-events:none}.globe-root[data-intro-phase=loading] .cursor-fluid-button,.globe-root[data-intro-phase=loading] .cursor-fluid-ink,.globe-root[data-intro-phase=loading] .header-logo-large,.globe-root[data-intro-phase=loading] .news-ticker,.globe-root[data-intro-phase=loading] .portfolio-header,.globe-root[data-intro-phase=revealing] .cursor-fluid-button,.globe-root[data-intro-phase=revealing] .cursor-fluid-ink{opacity:0;visibility:hidden}.globe-loader{--loader-gap:28px;position:fixed;inset:0;z-index:80;pointer-events:none}.globe-loader-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@property --pulse{syntax:"<length>";inherits:true;initial-value:0}.globe-loader-mark{--pulse:0px;position:absolute;left:var(--loader-cx,50%);top:calc(var(--loader-cy, 50%) - var(--loader-r, 110px) - var(--loader-gap));transform:translate(-50%,-100%);display:grid;box-sizing:border-box;overflow:visible;padding:.42em .08em .2em;font-family:TAN Memories,serif;font-size:clamp(46px,6.6vw,88px);font-weight:400;letter-spacing:-.02em;line-height:1.15;white-space:nowrap;color:#7a756c;opacity:0;animation:loader-pulse 1.35s linear infinite}.globe-root[data-loader-anchored] .globe-loader-mark{opacity:1;animation:loader-pulse 1.35s linear infinite,loader-in .55s ease forwards}.globe-loader-flat,.globe-loader-hue{grid-area:1/1}.globe-loader-flat{opacity:calc(1 - var(--loader-chroma, 0))}.globe-loader-hue{color:transparent;opacity:var(--loader-chroma,0);background-image:repeating-radial-gradient(circle at 50% calc(100% + var(--loader-r, 110px) + var(--loader-gap)),#35ed68 calc(var(--pulse) + 0px),#55baff calc(var(--pulse) + 18px),#be45ff calc(var(--pulse) + 36px),#ff6ec7 calc(var(--pulse) + 54px),#ff784a calc(var(--pulse) + 72px),#35ed68 calc(var(--pulse) + 90px));-webkit-background-clip:text;background-clip:text}.globe-loader-label{position:absolute;left:var(--loader-cx,50%);top:calc(var(--loader-cy, 50%) - var(--loader-r, 110px) - var(--loader-gap) + 18px);transform:translate(-50%);margin:0;font-family:var(--font-display),sans-serif;font-size:11px;font-weight:500;letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:#7a756c;opacity:0}.globe-root[data-loader-anchored] .globe-loader-label{opacity:var(--loader-label,1)}@keyframes loader-pulse{0%{--pulse:0px}to{--pulse:90px}}@keyframes loader-in{0%{opacity:0}to{opacity:1}}.globe-canvas:active{cursor:grabbing}.globe-home{pointer-events:none;height:100dvh}@property --header-p{syntax:"<number>";inherits:true;initial-value:0}.portfolio-header{--header-p:0;--word:72px;--word-sm:22px;--row1:44px;--row:54px;--logo-col:108px;--cta-col:196px;font-family:var(--font-display);font-weight:400;--line:rgba(246,241,228,calc(0.18 * (1 - var(--header-p))));--cta-pad:var(--row1);position:fixed;top:0;left:0;width:100%;z-index:50;height:calc((var(--row1) + var(--row) * 2) * (1 - var(--header-p)) + 72px * var(--header-p));pointer-events:none;color:var(--foreground)}.portfolio-header.is-compact{--header-p:1}.portfolio-header.is-live{transition:--header-p 1.05s cubic-bezier(.76,0,.18,1)}.portfolio-header,.portfolio-header *{box-sizing:border-box}.portfolio-header a{color:inherit;text-decoration:none}.header-edge{pointer-events:auto;position:absolute;top:calc(12px * var(--header-p));z-index:3;display:flex;height:calc(var(--row1) * (1 - var(--header-p)) + 56px * var(--header-p));font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.header-edge a,.header-edge button,.header-edge span{display:flex;align-items:center;justify-content:center;height:100%;border-bottom:1px solid var(--line)}.header-edge button{appearance:none;margin:0;padding:0;border-top:0;border-left:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.header-edge button[aria-expanded=true]{box-shadow:inset 0 -2px 0 var(--accent)}.header-edge-left{left:0}.header-edge-left>:first-child{width:calc(var(--logo-col) * (1 - var(--header-p)) + 74px * var(--header-p));border-right:1px solid var(--line)}.header-edge-left>:first-child~*{width:calc(var(--side, 280px) * .5 * (1 - var(--header-p)) + 92px * var(--header-p));border-right:1px solid var(--line)}.header-edge-left>:last-child{border-right:0}.header-edge-right{right:0;width:calc(var(--cta-col) * (1 - var(--header-p)) + var(--cta, 168px) * var(--header-p))}.header-edge-right span{flex:1;border-left:1px solid var(--line)}.header-anchor{position:absolute;z-index:2;top:calc(12px * var(--header-p));left:50%;width:calc(100% * (1 - pow(var(--header-p), .55)) + var(--pill, 460px) * pow(var(--header-p), .55));transform:translateX(-50%);height:calc((var(--row1) + var(--row) * 2) * (1 - var(--header-p)) + 56px * var(--header-p))}.header-grid{pointer-events:auto;display:grid;height:100%;grid-template-columns:calc(var(--logo-col) * (1 - pow(var(--header-p), .55))) minmax(0,1fr) max-content minmax(0,1fr) calc(var(--project, 150px) * pow(var(--header-p), .55)) calc(var(--cta-col) * (1 - pow(var(--header-p), .55)) + var(--cta, 168px) * pow(var(--header-p), .55));grid-template-rows:calc(var(--row1) * (1 - var(--header-p)) + 56px * var(--header-p)) calc(var(--row) * (1 - var(--header-p))) calc(var(--row) * (1 - var(--header-p)));background:#141312;overflow:hidden;border-radius:calc(16px * var(--header-p));border:solid rgba(246,241,228,calc(.18 * var(--header-p)));border-width:calc(1px * var(--header-p));box-shadow:0 calc(18px * var(--header-p)) calc(44px * var(--header-p)) rgba(0,0,0,calc(.32 * var(--header-p)))}.h-cell{border-bottom:1px solid var(--line)}.h-cell.h-v{border-right:1px solid var(--line)}.h-logo,.h-services,.h-tag{display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;white-space:nowrap;pointer-events:none;opacity:calc(1 - min(1, var(--header-p) * 1.45))}.h-logo{grid-area:2/1/4/2;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.h-logo img{height:42px;width:auto;filter:invert(1)}.h-services,.h-tag{grid-row:2;border-bottom:1px solid var(--line);font-size:clamp(16px,1.45vw,22px);font-weight:400;letter-spacing:-.011em;padding:0 24px;text-align:center}.h-services{grid-column:2}.h-tag{grid-column:4}.header-brand{grid-area:1/3/4/4;z-index:1;display:flex;align-items:center;justify-content:center;background:#141312;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 calc(44px * (1 - var(--header-p)) + 16px * var(--header-p))}.header-wordmark{font-family:var(--font-serif),serif;font-weight:400;font-size:calc(var(--word) * (1 - var(--header-p)) + var(--word-sm) * var(--header-p));letter-spacing:-.02em;line-height:.9;white-space:nowrap}.header-project{grid-area:1/5/4/6;z-index:1;display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;overflow:hidden;padding:0 16px 0 20px;border:0;border-left:1px solid rgba(246,241,228,calc(.16 * var(--header-p)));background:#141312;color:inherit;font:inherit;font-size:22px;letter-spacing:-.03em;white-space:nowrap;cursor:pointer;opacity:var(--header-p)}.header-project svg{width:14px;height:14px;flex:none;transition:transform .35s cubic-bezier(.22,1,.36,1)}.header-project-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;animation:nav-title-in .45s cubic-bezier(.22,1,.36,1)}@keyframes nav-title-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.header-menu-service,.header-project-meta{display:none}.header-cta{grid-area:1/6/4/7;z-index:1;display:flex;align-items:stretch;padding:calc((var(--row1) + 8px) * (1 - var(--header-p))) calc(8px * (1 - var(--header-p))) calc(8px * (1 - var(--header-p)));border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:#141312}.header-cta a,.header-cta button{display:flex;align-items:center;justify-content:center;width:100%;border:0;background:var(--accent);color:#fff;cursor:pointer;border-radius:calc(6px * (1 - var(--header-p))) calc(6px * (1 - var(--header-p)) + 16px * var(--header-p)) calc(6px * (1 - var(--header-p)) + 16px * var(--header-p)) calc(6px * (1 - var(--header-p)));font-family:var(--font-display),sans-serif;font-weight:500;font-size:16px;letter-spacing:.01em;white-space:nowrap;padding:0 calc(8px * var(--header-p))}.header-measures{position:absolute;height:0;overflow:hidden;visibility:hidden;pointer-events:none;white-space:nowrap}.header-measure-word,.header-measure-word-sm{font-family:var(--font-serif),serif;letter-spacing:-.02em}.header-measure-word{font-size:var(--word);padding:0 44px}.header-measure-word-sm{font-size:var(--word-sm);padding:0 16px}.header-measure-project{font-size:22px;letter-spacing:-.03em;padding:0 16px 0 20px}.header-measure-cta{font-weight:500;font-size:16px;letter-spacing:.01em;padding:0 20px}.header-menu-shell{position:absolute;z-index:5;top:calc(100% + 12px);left:50%;width:min(320px,calc(100vw - 32px));display:grid;grid-template-rows:0fr;transform:translateX(-50%);transform-origin:top center;transition:grid-template-rows .55s cubic-bezier(.22,1,.36,1);pointer-events:none}.header-menu-shell.is-open{grid-template-rows:1fr;pointer-events:auto}.header-menu-clip{min-height:0;overflow:hidden}.header-menu{padding:18px 26px 16px;border-radius:22px;background:#141312;border:1px solid hsla(43,50%,93%,.12);box-shadow:0 28px 70px rgba(0,0,0,.45);opacity:0;transition:opacity .35s ease}.header-menu-shell.is-open .header-menu{opacity:1}.header-menu p{margin:4px 0 8px;font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground)}.header-menu a{display:block;padding:7px 0;font-family:var(--font-serif),serif;font-size:28px;letter-spacing:-.02em;color:#f6f1e4;opacity:0;transform:translateY(-8px);transition:opacity .4s ease,transform .5s cubic-bezier(.22,1,.36,1),color .2s ease}.header-menu-shell.is-open .header-menu a{opacity:1;transform:none}.header-menu-shell.is-open .header-menu a:nth-child(2){transition-delay:.03s}.header-menu-shell.is-open .header-menu a:nth-child(3){transition-delay:.06s}.header-menu-shell.is-open .header-menu a:nth-child(4){transition-delay:.09s}.header-menu-shell.is-open .header-menu a:nth-child(5){transition-delay:.12s}.header-menu-shell.is-open .header-menu a:nth-child(6){transition-delay:.15s}.header-menu-shell.is-open .header-menu a:nth-child(7){transition-delay:.18s}.header-menu-shell.is-open .header-menu a:nth-child(8){transition-delay:.21s}.header-menu-shell.is-open .header-menu a:nth-child(9){transition-delay:.24s}.header-menu a[aria-current=page]{color:var(--accent)}.globe-root:has(.portfolio-header.is-compact) .project-page{padding-top:112px}.news-ticker{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:30;display:flex;align-items:stretch;width:min(860px,calc(100vw - 48px));border:1px solid hsla(0,0%,100%,.24);border-radius:16px;background:rgba(27,26,25,.46);-webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.42),inset 0 -10px 16px rgba(0,0,0,.16),0 12px 32px rgba(0,0,0,.28);overflow:visible;padding:0;font-family:var(--font-mono),monospace;font-size:14px;text-transform:uppercase;transition:opacity .45s ease}.news-ticker,.news-ticker.is-away,.news-ticker.is-away .ticker-filter,.news-ticker.is-quiet,.news-ticker.is-quiet .ticker-filter{pointer-events:none}.news-ticker.is-away{opacity:0}.news-ticker-viewport{position:relative;z-index:1;flex:1;min-width:0;overflow:hidden;padding:12px 0;border-radius:15px 0 0 15px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 28px),transparent)}.news-ticker:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(165deg,hsla(0,0%,100%,.34),hsla(0,0%,100%,.06) 34%,transparent 56%);pointer-events:none}.news-ticker-track{position:relative;z-index:1;display:flex;width:max-content;animation:marquee 40s linear infinite;white-space:nowrap}.ticker-filter{position:relative;z-index:2;flex:none;display:flex;align-items:stretch;pointer-events:auto;border-left:1px solid hsla(43,50%,93%,.18)}.ticker-filter-button{display:flex;align-items:center;gap:8px;padding:0 16px 0 18px;border:0;background:transparent;color:inherit;font:inherit;font-size:13px;letter-spacing:.14em;cursor:pointer;white-space:nowrap}.ticker-filter-button svg{width:12px;height:12px;flex:none;transition:transform .35s cubic-bezier(.22,1,.36,1)}.ticker-filter.is-open .ticker-filter-button svg{transform:rotate(180deg)}.ticker-filter-menu{position:absolute;right:0;bottom:calc(100% + 10px);width:220px;display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.22,1,.36,1);pointer-events:none}.ticker-filter.is-open .ticker-filter-menu{grid-template-rows:1fr;pointer-events:auto}.ticker-filter-clip{min-height:0;overflow:hidden}.ticker-filter-panel{padding:14px 18px 12px;border-radius:18px;background:#141312;border:1px solid hsla(43,50%,93%,.12);box-shadow:0 22px 54px rgba(0,0,0,.42)}.ticker-filter-panel p{margin:2px 0 6px;font-size:11px;letter-spacing:.16em;color:var(--muted-foreground)}.ticker-filter-option{display:flex;align-items:center;gap:12px;width:100%;padding:7px 0;border:0;background:transparent;color:#f6f1e4;font-family:var(--font-serif),serif;font-size:28px;letter-spacing:-.02em;text-align:left;text-transform:none;cursor:pointer}.ticker-filter-check{width:14px;height:14px;flex:none;border:1.5px solid hsla(43,50%,93%,.45);border-radius:3px;display:grid;place-items:center}.ticker-filter-option[aria-checked=true] .ticker-filter-check{background:var(--accent);border-color:var(--accent)}.ticker-filter-option[aria-checked=true] .ticker-filter-check:after{content:"";width:7px;height:4px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:translateY(-1px) rotate(-45deg)}.curved-fold{position:fixed;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}.project-page{position:relative;z-index:1;padding:174px 28px 0;overflow:clip;background:var(--background);transition:background-color .4s ease}.curved-fold.is-exiting,.project-page.is-exiting{animation:project-exit .4s cubic-bezier(.65,0,.35,1) forwards}.project-glass.is-exiting{opacity:0;transition:opacity .25s ease}.globe-root[data-swap=in] .project-page{animation:project-enter .62s cubic-bezier(.22,1,.36,1)}@keyframes project-exit{to{opacity:0;transform:translateY(-28px)}}@keyframes project-enter{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}.globe-root[data-entering] .project-page,.globe-root[data-returning] .project-page{background-color:transparent;overflow:visible}.globe-root[data-returning] .project-page{pointer-events:none;transition:none}.globe-root[data-entering] .more-projects,.globe-root[data-entering] .project-caption,.globe-root[data-returning] .more-projects,.globe-root[data-returning] .project-caption{opacity:0}.gallery-frame,.more-projects-frame,.scroll-fold-frame{min-width:0;position:relative}[data-scroll-fold]{transform-origin:0 0}[data-scroll-fold].is-folded{opacity:0}.project-gallery{cursor:pointer;display:grid;grid-template-columns:repeat(18,minmax(0,1fr));gap:16px;align-items:start}.gallery-frame{grid-column:span 5;aspect-ratio:1}.gallery-frame-0,.gallery-frame-5{grid-column:span 8;aspect-ratio:1.53}.project-gallery.is-masonry{--masonry-gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--masonry-gap);container-type:inline-size}.project-gallery.is-masonry .gallery-frame{grid-column:span 1;aspect-ratio:auto;height:calc((100cqw - 3 * var(--masonry-gap)) / 4)}.project-gallery.is-masonry .gallery-frame[data-span="2"]{grid-column:span 2}.project-gallery.is-masonry .gallery-frame[data-row="0"]{grid-row:2}.project-gallery.is-masonry .gallery-frame[data-row="1"]{grid-row:1}.project-gallery.is-post{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.project-gallery.is-post .gallery-frame{grid-column:span 1;aspect-ratio:1/2;height:auto}.project-gallery.is-post .gallery-frame[data-span="3"]{grid-column:span 3;aspect-ratio:3/2}.project-gallery.is-post .gallery-frame[data-span="4"]{grid-column:span 4;aspect-ratio:2/1}.post-body{margin-top:48px;max-width:68ch;color:#f6f1e4;font-family:var(--font-display),sans-serif;font-size:18px;line-height:1.65}.post-body>*+*{margin-top:1em}.post-body h2,.post-body h3,.post-body h4{font-family:var(--font-serif),serif;font-weight:400;line-height:1.15;margin:1.5em 0 .35em}.post-body h2{font-size:36px}.post-body h3{font-size:26px}.project-caption .post-body p{font-family:inherit;font-size:18px;line-height:1.65;max-width:none}.post-body a{color:#e4572e}.post-body pre{margin:0;padding:16px 18px;overflow-x:auto;border-radius:6px;background:hsla(43,50%,93%,.06);color:#f6f1e4;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.55;white-space:pre}.post-body pre b{color:#e4572e;font-weight:500}.post-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.post-body img,.post-body video{width:100%;height:auto;border-radius:6px;margin:1.2em 0;object-fit:contain}.project-caption .post-body ol,.project-caption .post-body ul{display:block;gap:0;margin:.6em 0 0;padding:0 0 0 1.35em;list-style:disc;font-family:inherit;font-size:18px;font-weight:400;line-height:1.65;letter-spacing:0;text-transform:none;color:inherit}.project-caption .post-body ol{list-style:decimal}.project-caption .post-body li{display:list-item;margin:.35em 0 0;text-transform:none}.project-caption .post-body li>p{margin:0}.post-body blockquote{margin:1.2em 0;padding-left:16px;border-left:2px solid #e4572e}.gallery-tile{margin:0;width:100%;height:100%;overflow:hidden;border-radius:6px;transform-origin:0 0;transition:box-shadow .35s ease}.gallery-tile.is-lifted{position:relative;transition:none}.gallery-tile img,.more-projects-tile img{width:100%;height:100%;object-fit:cover;display:block}.more-projects,.project-caption{transition:opacity .45s ease}.project-caption{padding:100px 0;display:grid;grid-template-columns:1fr 2fr;gap:24px;border-bottom:1px solid var(--border)}.project-caption h1{font-family:var(--font-serif),serif;font-size:54px;font-weight:400;margin:0}.project-caption p{font-family:var(--font-display),sans-serif;font-size:32px;font-weight:400;line-height:1.3;margin:0;max-width:900px}.project-caption ul{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;padding:0;margin:36px 0 0;font-family:var(--font-mono),monospace;font-size:12px;text-transform:uppercase;color:var(--muted-foreground)}.project-caption a{color:inherit}.more-projects{padding:72px 0 120px}.more-projects-heading{font-family:var(--font-serif),serif;font-size:52px;font-weight:400;margin:0 0 36px}.more-projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.more-projects-frame{aspect-ratio:1.53}.more-projects-tile{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:6px;color:inherit;text-decoration:none}.more-projects-tile:after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent);pointer-events:none}.more-projects-title{position:absolute;left:20px;bottom:16px;z-index:1;display:flex;align-items:center;gap:10px;font-family:var(--font-serif),serif;font-size:32px;color:#fff}.more-projects-title svg{width:30px;height:30px}.back-to-globe{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:45;transition:opacity .35s ease;width:54px;height:54px;border-radius:50%;color:#f6f1e4;background:rgba(27,26,25,.46);-webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);border:1px solid hsla(0,0%,100%,.24);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.42),inset 0 -10px 16px rgba(0,0,0,.16),0 12px 32px rgba(0,0,0,.28);display:flex;align-items:center;justify-content:center;overflow:hidden}.back-to-globe:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(165deg,hsla(0,0%,100%,.34),hsla(0,0%,100%,.06) 34%,transparent 56%);pointer-events:none}.back-to-globe svg{position:relative;width:22px;height:22px}@media (min-width:1600px){.portfolio-header{--word:84px}}@media (max-width:1100px){.portfolio-header{--word:52px;--logo-col:84px;--cta-col:168px}}@media (max-width:1040px){.portfolio-header.is-compact .header-edge-left>:first-child{display:none}.portfolio-header.is-compact .header-edge-left>*{width:auto;padding:0 16px;border-right:0}}@media (max-width:760px){.portfolio-header{--word:32px;height:auto;background:#1b1a19}.h-cell,.h-logo,.h-services,.h-tag,.header-edge-left>:first-child,.header-edge-right,.header-menu p,.news-ticker:before{display:none}.header-edge{top:0;right:0;left:auto;height:56px;letter-spacing:.1em}.header-edge-left>*,.header-edge-left>:first-child~*,.portfolio-header.is-compact .header-edge-left>*{width:auto;min-width:max-content;height:56px;padding:0 12px;border:0;font-size:12px;white-space:nowrap}.header-anchor{position:relative;top:0;left:0;width:100%;height:auto;transform:none}.header-grid{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:56px 0;grid-template-areas:"brand brand" "project meta";height:auto;overflow:hidden;background:#1b1a19;border:0;border-radius:0;box-shadow:none;transition:grid-template-rows .62s cubic-bezier(.76,0,.18,1)}.portfolio-header.is-compact .header-grid{grid-template-rows:56px 48px}.header-project,.header-project-meta{transition:opacity .45s ease,transform .55s cubic-bezier(.76,0,.18,1)}.portfolio-header:not(.is-compact) .header-project,.portfolio-header:not(.is-compact) .header-project-meta{opacity:0;transform:translateY(-10px);pointer-events:none}.header-brand{grid-area:brand;justify-content:flex-start;height:56px;padding:0 calc(var(--nav-w, 160px) + 8px) 0 16px;min-width:0;border:0;border-bottom:1px solid hsla(43,50%,93%,.18);background:#1b1a19}.header-wordmark{font-size:32px;line-height:1}.header-project{grid-area:project;opacity:1;height:48px;justify-content:flex-start;padding:0 10px 0 16px;border:0;background:#1b1a19;font-family:var(--font-serif),serif;font-size:22px;letter-spacing:-.02em}.portfolio-header.is-compact .header-project,.portfolio-header.is-compact .header-project-meta{border-bottom:1px solid hsla(43,50%,93%,.18)}.header-project-meta{display:block;grid-area:meta;min-width:0;overflow:hidden;padding-left:14px;border-left:1px solid hsla(43,50%,93%,.18);font-size:12px;font-weight:500;letter-spacing:.14em;line-height:48px;text-transform:uppercase;white-space:nowrap;color:hsla(43,50%,93%,.72);background:#1b1a19}.header-cta{position:fixed;z-index:2;left:16px;bottom:max(16px,env(safe-area-inset-bottom));width:auto;height:auto;padding:0;border:0;background:transparent}.header-cta a,.header-cta button{width:auto;height:48px;padding:0 18px;border-radius:8px}.header-menu-shell{position:relative;top:auto;left:auto;width:100%;transform:none}.header-menu{max-height:min(62dvh,520px);overflow:auto;padding:4px 16px 8px;border:0;border-radius:0;background:#1b1a19;box-shadow:none}.header-menu-service{display:block;margin-bottom:2px;font-family:var(--font-mono),monospace;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground)}.header-menu a{padding:12px 0;border-bottom:1px solid hsla(43,50%,93%,.08)}.news-ticker{top:56px;bottom:auto;left:0;width:100%;transform:none;z-index:39;border:0;border-radius:0;background:#1b1a19;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding:0;font-size:11px;letter-spacing:.06em;transition:opacity .4s ease,transform .55s cubic-bezier(.76,0,.18,1)}.news-ticker-viewport{border-radius:0;padding:10px 0 8px}.ticker-filter-menu{top:calc(100% + 8px);bottom:auto}.ticker-filter-button{padding:0 12px;font-size:11px;letter-spacing:.08em}.news-ticker.is-away{transform:translateY(-12px)}.back-to-globe{left:auto;right:16px;bottom:max(16px,env(safe-area-inset-bottom));transform:none}.globe-root:has(.portfolio-header.is-compact) .project-page,.project-page{padding:116px 12px 0}.project-gallery:not(.is-masonry):not(.is-post){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-gallery:not(.is-masonry):not(.is-post) .gallery-frame{grid-column:span 1;aspect-ratio:1.2!important;margin-top:0}.project-gallery.is-post{grid-template-columns:1fr;gap:12px}.project-gallery.is-post .gallery-frame,.project-gallery.is-post .gallery-frame[data-span]{grid-column:1/-1;aspect-ratio:3/2}.project-gallery.is-post .gallery-frame:first-child{aspect-ratio:1;max-width:46%}.project-gallery.is-masonry{grid-template-columns:repeat(2,minmax(0,1fr));--masonry-gap:10px}.project-gallery.is-masonry .gallery-frame{height:auto;aspect-ratio:1;order:2}.project-gallery.is-masonry .gallery-frame[data-row]{grid-row:auto}.project-gallery.is-masonry .gallery-frame[data-span="2"]{aspect-ratio:2/1}.project-gallery.is-masonry .gallery-frame:nth-child(3){order:0}.project-gallery.is-masonry .gallery-frame:first-child{order:1}.project-gallery.is-masonry .gallery-frame:nth-child(4){order:3}.project-gallery.is-masonry .gallery-frame:nth-child(5){order:4}.project-gallery.is-masonry .gallery-frame:nth-child(6){order:5}.project-caption{padding:52px 0;grid-template-columns:1fr}.project-caption h1{font-size:36px}.project-caption p{font-size:24px}.more-projects{padding:40px 0 110px}.more-projects-heading{font-size:34px;margin-bottom:24px}.more-projects-grid{grid-template-columns:1fr;gap:12px}.more-projects-title{font-size:26px}}.project-glass{position:fixed;z-index:12;left:0;top:0;transform:translateZ(0);will-change:transform;width:min(440px,calc(100vw - 48px));padding:15px 18px;border-radius:18px;color:#f6f1e4;background:rgba(27,26,25,.46);-webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);border:1px solid hsla(0,0%,100%,.24);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.38),inset 0 -12px 24px rgba(0,0,0,.12),0 24px 60px rgba(0,0,0,.28);overflow:hidden;animation:glass-in .4s cubic-bezier(.22,1,.36,1);transition:width .5s cubic-bezier(.22,1,.36,1),padding .5s cubic-bezier(.22,1,.36,1),border-radius .5s cubic-bezier(.22,1,.36,1)}.project-glass:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(165deg,hsla(0,0%,100%,.28),hsla(0,0%,100%,.05) 28%,transparent 46%);pointer-events:none}.project-glass.is-marquee{pointer-events:none}.project-glass.is-open{width:min(520px,calc(100vw - 32px));padding:28px 28px 16px;border-radius:28px;pointer-events:auto;cursor:pointer}.project-glass-copy{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1)}.project-glass.is-open .project-glass-copy{grid-template-rows:1fr}.project-glass-copy>div{overflow:hidden}.project-glass h3{position:relative;margin:0 0 12px;font-family:var(--font-serif),serif;font-size:32px;font-weight:400;letter-spacing:-.02em}.project-glass p{position:relative;margin:0 0 18px;font-family:var(--font-display),sans-serif;font-weight:400;font-size:18px;line-height:1.35}.project-glass-marquee{position:relative;overflow:hidden;font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.project-glass-track{display:flex;width:max-content;animation:glass-marquee 28s linear infinite,glass-swap .45s ease}.project-glass-track span{padding-right:.2em}.globe-root[data-entering] .project-glass,.globe-root[data-returning] .project-glass{opacity:0;pointer-events:none}@keyframes glass-in{0%{opacity:0}to{opacity:1}}@keyframes glass-marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes glass-swap{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}.info-drawer{position:fixed;inset:0;z-index:40;pointer-events:none}.info-drawer.is-open{pointer-events:auto}.info-drawer-dismiss{position:absolute;inset:0;z-index:0;border:0;background:transparent;cursor:pointer}.info-drawer-panel{position:absolute;z-index:1;top:0;bottom:0;left:0;width:min(680px,54vw);display:flex;flex-direction:column;overflow:hidden;background:#141312;border-right:1px solid hsla(43,50%,93%,.18);transform:translate3d(-100%,0,0);transition:transform .9s cubic-bezier(.76,0,.18,1)}.info-drawer-scroll{flex:1;min-height:0;margin-top:var(--drawer-top);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:hsla(43,50%,93%,.28) transparent}.info-drawer.is-open .info-drawer-panel{transform:translateZ(0)}.globe-root:has(.info-drawer.is-open) .back-to-globe{opacity:0;pointer-events:none}.info-drawer-panel:focus,.info-drawer-scroll:focus{outline:none}.info-copy{padding:32px 48px 72px 40px}.info-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.info-close,.info-kicker,.info-label{margin:0;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground)}.info-close{border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.info-close:hover,.info-link:hover{color:var(--foreground)}.info-title{margin:0 0 28px;font-family:var(--font-serif),serif;font-size:clamp(68px,6.4vw,96px);font-weight:400;letter-spacing:-.035em;line-height:1.08}.info-title-line{display:block;overflow:hidden;padding:.2em 0 .22em}.info-title-line>span{display:block}.info-body,.info-success{margin:0 0 16px;max-width:38ch;font-size:17px;line-height:1.45;color:hsla(43,50%,93%,.84)}.info-sign{margin:8px 0 0;font-family:var(--font-serif),serif;font-size:28px;letter-spacing:-.02em;line-height:1.35}.info-link{display:inline-flex;margin-top:18px;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:16px;text-decoration:underline;text-underline-offset:5px;cursor:pointer}.info-label{margin:40px 0 0}.info-list{list-style:none;margin:12px 0 0;padding:0;max-width:420px;border-top:1px solid hsla(43,50%,93%,.16)}.info-list li{display:flex;align-items:baseline;gap:18px;padding:13px 0;border-bottom:1px solid hsla(43,50%,93%,.16);font-size:20px;letter-spacing:-.02em}.info-list span{font-size:11px;font-weight:500;letter-spacing:.14em;color:var(--muted-foreground)}.info-field{display:flex;flex-direction:column;gap:6px;margin-bottom:22px;max-width:420px}.info-field span{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground)}.info-field input,.info-field textarea{width:100%;margin:0;padding:8px 0 10px;border:0;border-bottom:1px solid hsla(43,50%,93%,.28);border-radius:0;background:transparent;color:inherit;font:inherit;font-size:18px;line-height:1.4;outline:none;resize:none}.info-field input:focus,.info-field textarea:focus{border-bottom-color:var(--accent)}.info-submit{display:inline-flex;align-items:center;gap:10px;height:48px;margin-top:4px;padding:0 22px;border:0;border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-weight:500;font-size:16px;cursor:pointer}.info-submit svg{width:18px;height:18px}.info-submit:disabled{opacity:.55;cursor:progress}.info-note{margin:28px 0 0;font-size:15px;color:var(--muted-foreground)}.info-note a{color:inherit}.info-error{margin:14px 0 0;max-width:36ch;color:#ffb4a8;font-size:15px}.info-drawer.is-open .rise{animation:info-rise .8s cubic-bezier(.22,1,.36,1) both}.info-drawer.is-open .info-title-line>span{animation:info-title-in .95s cubic-bezier(.76,0,.18,1) both;animation-delay:.16s}.info-drawer.is-open .info-title-line+.info-title-line>span{animation-delay:.24s}@keyframes info-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes info-title-in{0%{transform:translateY(160%)}to{transform:none}}@media (max-width:760px){.globe-root,.globe-root:has(.portfolio-header.is-compact){--drawer-top:56px}.globe-root:has(.portfolio-header.is-compact){--drawer-top:108px}.info-drawer-panel{width:100%;border-right:0}.info-drawer-dismiss{display:none}.info-copy{padding-right:24px;padding-left:24px}.info-title{font-size:64px}}@media (prefers-reduced-motion:reduce){.back-to-globe,.globe-layer,.header-grid,.header-menu,.header-menu a,.header-menu-shell,.header-project,.header-project svg,.header-project-meta,.news-ticker,.portfolio-header,.portfolio-header.is-live,.ticker-filter-button svg,.ticker-filter-menu{transition:none}.curved-fold.is-exiting,.globe-root[data-swap=in] .project-page,.header-project-title,.info-drawer.is-open .info-title-line>span,.info-drawer.is-open .rise,.news-ticker-track,.project-page,.project-page.is-exiting{animation:none}.info-drawer-panel{transition:none}[data-scroll-fold]{transform:none!important;will-change:auto}.project-glass,.project-glass.is-open{animation:none;transition:none}.project-glass-track{animation:none}.globe-loader{background:#1b1a19}.globe-loader-mark{top:50%;opacity:1;animation:none;color:#f6f1e4}.globe-loader-hue,.globe-loader-label{opacity:0}.globe-root[data-intro-phase=loading] .globe-canvas,.globe-root[data-intro-phase=loading] .globe-canvas.is-drawn{opacity:0;transition:none}}