.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.navbar[data-astro-cid-5blmo7yk]{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent}.navbar-inner[data-astro-cid-5blmo7yk]{display:flex;align-items:start;justify-content:space-between;padding:12px 16px;transition:padding var(--navbar-transition-duration, .5s) var(--navbar-transition-ease, cubic-bezier(.22, 1, .36, 1))}.navbar-left[data-astro-cid-5blmo7yk]{display:flex;align-items:center}.navbar-text[data-astro-cid-5blmo7yk]{font-family:var(--font-sans);font-weight:400;font-size:clamp(16px,2vw,24px);line-height:1.2;color:#fff;max-width:min(282px,80vw);transition:font-size var(--navbar-transition-duration, .5s) var(--navbar-transition-ease, cubic-bezier(.22, 1, .36, 1));text-box:trim-start cap alphabetic}.navbar-brand[data-astro-cid-5blmo7yk]{display:flex;flex-direction:column;align-items:flex-end;text-decoration:none;color:#fffc}.navbar-name-line[data-astro-cid-5blmo7yk]{font-family:var(--font-display);font-weight:500;font-size:clamp(64px,10vw,128px);line-height:.85;text-align:right;display:block;transition:font-size var(--navbar-transition-duration, .5s) var(--navbar-transition-ease, cubic-bezier(.22, 1, .36, 1));text-box:trim-start cap alphabetic}.navbar[data-astro-cid-5blmo7yk][data-state=collapsed] .navbar-name-line[data-astro-cid-5blmo7yk]{font-size:clamp(32px,4vw,48px)}.navbar[data-astro-cid-5blmo7yk][data-state=collapsed] .navbar-text[data-astro-cid-5blmo7yk]{font-size:clamp(16px,2vw,24px);cursor:pointer}.navbar[data-astro-cid-5blmo7yk][data-state=case-study] .navbar-inner[data-astro-cid-5blmo7yk]{align-items:center}.navbar[data-astro-cid-5blmo7yk][data-state=case-study] .navbar-name-line[data-astro-cid-5blmo7yk]{font-size:clamp(32px,4vw,48px)}.navbar[data-astro-cid-5blmo7yk][data-state=case-study] .navbar-text[data-astro-cid-5blmo7yk]{font-family:var(--font-mono);font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:#999;cursor:pointer;transition:color .2s ease;max-width:none}.navbar[data-astro-cid-5blmo7yk][data-state=case-study] .navbar-text[data-astro-cid-5blmo7yk]:hover{color:#fff}.navbar[data-astro-cid-5blmo7yk][data-state=case-study] .navbar-brand[data-astro-cid-5blmo7yk]{cursor:pointer}@media(max-width:768px){.navbar-inner[data-astro-cid-5blmo7yk]{flex-direction:column;align-items:stretch;padding:16px;gap:12px}.navbar-left[data-astro-cid-5blmo7yk]{align-self:flex-start}.navbar-brand[data-astro-cid-5blmo7yk]{align-self:flex-end;flex-shrink:0;transform-origin:top right;transition:transform var(--navbar-transition-duration, .5s) var(--navbar-transition-ease, cubic-bezier(.22, 1, .36, 1));transition-delay:var(--navbar-brand-transition-delay, 0s)}.navbar[data-astro-cid-5blmo7yk][data-state=collapsed] .navbar-brand[data-astro-cid-5blmo7yk]{transition-delay:0s}.navbar-brand[data-astro-cid-5blmo7yk].navbar-brand--animating{transition:none!important}.navbar[data-astro-cid-5blmo7yk][data-state=collapsed] .navbar-inner[data-astro-cid-5blmo7yk]{flex-direction:row;align-items:flex-start;gap:16px}.navbar[data-astro-cid-5blmo7yk][data-state=collapsed] .navbar-left[data-astro-cid-5blmo7yk]{flex:1;min-width:0}.navbar[data-astro-cid-5blmo7yk][data-state=collapsed] .navbar-brand[data-astro-cid-5blmo7yk]{align-self:flex-start}.navbar[data-astro-cid-5blmo7yk][data-state=case-study] .navbar-inner[data-astro-cid-5blmo7yk]{flex-direction:row;align-items:center;gap:16px}.navbar[data-astro-cid-5blmo7yk][data-state=case-study] .navbar-left[data-astro-cid-5blmo7yk]{flex:1;min-width:0;align-self:center}.navbar[data-astro-cid-5blmo7yk][data-state=case-study] .navbar-brand[data-astro-cid-5blmo7yk]{align-self:center}.navbar-name-line[data-astro-cid-5blmo7yk]{font-size:clamp(32px,4vw,48px);transition:none}.navbar[data-astro-cid-5blmo7yk][data-state=expanded] .navbar-brand[data-astro-cid-5blmo7yk]:not(.navbar-brand--animating){transform:scale(2)}.navbar-text[data-astro-cid-5blmo7yk]{width:clamp(140px,calc(100vw - 196px),225px)}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.email-hint[data-astro-cid-l4ndpyk3]{position:fixed;z-index:200;pointer-events:none;font-family:var(--font-sans);font-size:18px;line-height:1.35;color:#fff;width:170px;text-align:center;opacity:0;transform:translate(-50%,calc(-100% - 16px));transition:opacity .25s ease;will-change:left,top}.email-hint[data-astro-cid-l4ndpyk3][data-active]{opacity:1}@media(hover:none){.email-hint[data-astro-cid-l4ndpyk3]{display:none}}.marquee-banner[data-astro-cid-l4ndpyk3]{position:fixed;bottom:0;left:0;right:0;z-index:90;background:#001f0e;overflow:hidden;padding:12px 0}.marquee-track[data-astro-cid-l4ndpyk3]{display:flex;width:max-content;animation:marquee-scroll 180s linear infinite}@media(hover:hover){.marquee-banner[data-astro-cid-l4ndpyk3]:hover .marquee-track[data-astro-cid-l4ndpyk3]{animation-play-state:paused}}.marquee-content[data-astro-cid-l4ndpyk3]{display:flex;align-items:center;gap:12px;padding-right:12px;flex-shrink:0}.marquee-item[data-astro-cid-l4ndpyk3]{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:clamp(18px,2vw,24px);line-height:1;color:#fafffc}.marquee-kanji[data-astro-cid-l4ndpyk3]{font-family:var(--font-accent);color:#13fb83}.marquee-text[data-astro-cid-l4ndpyk3]{font-family:var(--font-serif)}.marquee-email[data-astro-cid-l4ndpyk3]{cursor:pointer}@media(hover:none){.marquee-email[data-astro-cid-l4ndpyk3]{text-align:center}}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(max-width:768px){.marquee-banner[data-astro-cid-l4ndpyk3]{padding:11px 0}.marquee-content[data-astro-cid-l4ndpyk3]{gap:10px;padding-right:10px}.marquee-item[data-astro-cid-l4ndpyk3]{gap:10px;font-size:clamp(18px,5vw,24px)}}@media(prefers-reduced-motion:reduce){.marquee-track[data-astro-cid-l4ndpyk3]{animation-play-state:paused}}.video-bg[data-astro-cid-oayozesz]{position:fixed;inset:0;z-index:0;overflow:hidden;background:#0a0a0a}.video-bg[data-astro-cid-oayozesz] video[data-astro-cid-oayozesz]{width:100%;height:100%;object-fit:cover;filter:blur(14px) saturate(1.2) contrast(1.05);transform:scale(1.02);will-change:filter;transition:filter .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}body[data-project-cards-visible] .video-bg[data-astro-cid-oayozesz] video[data-astro-cid-oayozesz]{filter:blur(28px) saturate(1.2) contrast(1.05);transform:scale(1.06)}.video-bg__darken[data-astro-cid-oayozesz]{position:absolute;inset:0;background-color:#00000040;transition:background-color .6s cubic-bezier(.22,1,.36,1)}body[data-project-cards-visible] .video-bg__darken[data-astro-cid-oayozesz]{background-color:#0006}.video-bg__noise[data-astro-cid-oayozesz]{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='1' stitchTiles='stitch' seed='5'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:170px 170px;opacity:.4;mix-blend-mode:overlay;pointer-events:none;transform:translateZ(0)}@media(prefers-reduced-motion:reduce){.video-bg[data-astro-cid-oayozesz] video[data-astro-cid-oayozesz]{display:none}}.ascii-sparkle[data-astro-cid-n7qun2ua]{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:5;pointer-events:none;transition:opacity .5s cubic-bezier(.22,1,.36,1)}body[data-project-cards-visible] .ascii-sparkle[data-astro-cid-n7qun2ua]{opacity:0}.pixel-transition{position:fixed;inset:0;z-index:9999;overflow:hidden;pointer-events:all;background:#13fb83}.pixel-transition.is-ready{background:transparent}.pixel-transition.is-done{pointer-events:none}.pixel-grid{position:absolute;inset:0;display:grid}.px-cell{background:#13fb83}::view-transition-group(*),::view-transition-image-pair(*),::view-transition-old(*),::view-transition-new(*){animation:none!important;mix-blend-mode:normal}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Variable.woff2) format("woff2");font-weight:200 700;font-style:normal;font-display:swap}@font-face{font-family:Saruji;src:url(/fonts/saruji.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--font-sans: "Inter", system-ui, sans-serif;--font-display: "Clash Display", system-ui, sans-serif;--font-serif: "Instrument Serif", serif;--font-mono: "Space Mono", monospace;--font-accent: "Saruji", system-ui, sans-serif}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);min-height:100dvh;background:none;color:#fafafa}body[data-route=case-study]{background:#fff;color:#0a0a0a}body[data-route=case-study] .video-bg,body[data-route=case-study] .ascii-sparkle,body[data-route=case-study] .marquee-banner,body[data-route=case-study] .email-hint{display:none!important}body[data-route=case-study] .navbar{mix-blend-mode:difference}body[data-route=case-study] .navbar-brand{color:#fff}@media(max-width:768px){body[data-route=index] .navbar[data-over-cards]{mix-blend-mode:difference}body[data-route=index] .navbar[data-over-cards] .navbar-brand{color:#fff}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
