@font-face{font-family:Inter Bold;src:url(/font/Inter_Bold.ttf) format("truetype");font-weight:700;font-style:normal}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#f8f8f8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.loading-spinner{display:flex;align-items:center;justify-content:center}.loading-spinner svg{width:100%;height:100%}.spinner-tick{stroke:var(--color-text);stroke-width:2;stroke-linecap:round;animation:tick-pulse .8s ease-in-out infinite}@keyframes tick-pulse{0%,to{opacity:.8;stroke-width:2}50%{opacity:.2;stroke-width:1}}.video-player{position:relative;width:100%;height:100%;overflow:hidden}.video-player video{width:100%;height:100%;object-fit:cover}.video-player-loading{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#0000004d;z-index:5}.video-player-loading .spinner-tick{stroke:#fffc}.loading-percent{font-family:IBMPlexMono-Regular,IBM Plex Mono,monospace;font-size:12px;font-weight:400;color:#fff}.video-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.4),transparent);padding:20px 16px 12px;opacity:0;transition:opacity .3s ease;pointer-events:none}.video-controls.visible{opacity:1;pointer-events:auto}.timeline-container{margin-bottom:8px;cursor:pointer}.timeline{width:100%;height:2px;background:#ffffff4d;position:relative;border-radius:2px}.timeline-progress{height:100%;background:#ffffffe6;border-radius:2px;transition:width .1s linear}.controls-row{display:flex;align-items:center;gap:12px}.control-btn{background:none;border:none;color:#fff;font-size:14px;cursor:pointer;padding:4px 8px;opacity:.9;transition:opacity .2s ease}.control-btn:hover{opacity:1}.time-display{color:#fff;font-size:11px;opacity:.9;font-family:IBM Plex Mono,monospace;margin-left:auto;margin-right:8px}.content-area{position:fixed;left:calc(100vw * 3 / 7);top:8px;width:calc(100vw * 4 / 7 - 16px);height:calc(100vh - 16px);background-color:var(--color-content-area);border:.5px solid var(--color-border);border-radius:6px;margin-left:8px;margin-right:8px;overflow:hidden;pointer-events:auto;z-index:9000}.expand-button{position:absolute;top:12px;right:12px;width:12px;height:12px;min-width:12px;min-height:12px;max-width:12px;max-height:12px;border-radius:50%;background-color:#90ee90;border:none;cursor:pointer;z-index:100;transition:transform .2s ease,box-shadow .2s ease;padding:0;aspect-ratio:1 / 1}.expand-button:hover{transform:scale(1.2);box-shadow:0 0 8px #90ee9099}.expand-button.expanded{background-color:#98fb98}.content-slide-wrapper{position:absolute;width:100%;height:100%;will-change:transform}.content-inner{width:100%;height:100%;overflow-y:auto;padding:0}.content-inner.old-content{z-index:1}.home-content{width:100%;height:100%;position:relative;transform:translateZ(0);-webkit-transform:translate3d(0,0,0)}.home-content .video-container.full-bleed{width:100%;height:100%;position:absolute;top:0;left:0;padding:0;border-radius:0;transform:translateZ(0);-webkit-transform:translate3d(0,0,0);transition:width .5s ease,height .5s ease,position .5s ease,border-radius .5s ease}.home-content .video-container.full-bleed video{width:100%;height:100%;object-fit:cover;border-radius:6px}.page-content{display:flex;flex-direction:column;gap:10px;padding:10px}.page-header{padding:0}.page-header h1{font-family:Inter Bold,sans-serif;font-size:20px;font-weight:700;margin:0 0 8px;color:var(--color-text)}.page-header .description{font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:400;margin:0;color:var(--color-text);white-space:pre-line}.page-content.text-only .page-header .description{max-width:30%}.contact-links{margin-top:0}.contact-link-item{font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:400;margin:0 0 .5rem;color:var(--color-text)}.contact-link-item a{color:var(--color-text);text-decoration:underline}.contact-link-item a:hover{opacity:.7}.video-container{width:100%;max-width:100%;aspect-ratio:1;border-radius:14px;overflow:hidden;background-color:#000;transform:translateZ(0);-webkit-transform:translate3d(0,0,0)}.content-area.expanded .video-container{max-width:55%;margin:0 auto}.content-area.expanded .home-content{display:flex;align-items:center;justify-content:center}.content-area.expanded .home-content .video-container.full-bleed{position:relative;width:55%;height:auto;aspect-ratio:16 / 9;border-radius:14px;transition:width .5s ease}.content-area.expanded .home-content .video-container.full-bleed video{border-radius:14px}.content-area.expanded .image-gallery,.content-area.expanded .video-gallery,.content-area.expanded .media-gallery{max-width:70%;margin:0 auto}.content-area.expanded .page-header{max-width:70%}.video-container video{width:100%;height:100%;object-fit:cover;transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.content-inner::-webkit-scrollbar{width:8px}.content-inner::-webkit-scrollbar-track{background:transparent}.content-inner::-webkit-scrollbar-thumb{background:#b2b2b2;border-radius:4px}.content-inner::-webkit-scrollbar-thumb:hover{background:#999}.grid-content{width:100%;height:100%;padding:10px;box-sizing:border-box}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:8px;width:100%;height:100%}.grid-item{position:relative;overflow:hidden;border-radius:4px;cursor:pointer;background:#000}.grid-media-wrapper{width:100%;height:100%;position:relative}.grid-loading-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#000}.grid-loading-placeholder .spinner-tick{stroke:#fffc}.grid-loading-placeholder .loading-percent{font-family:IBMPlexMono-Regular,IBM Plex Mono,monospace;font-size:10px;font-weight:400;color:#fff}.grid-media-wrapper video,.grid-media-wrapper img{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease,transform .3s ease,filter .3s ease}.grid-item video{width:100%;height:100%;object-fit:cover;transition:transform .3s ease,filter .3s ease}.grid-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease,filter .3s ease}.grid-item:hover video,.grid-item:hover img,.grid-item:hover .grid-media-wrapper video,.grid-item:hover .grid-media-wrapper img{transform:scale(1.05)}.grid-item-overlay{position:absolute;bottom:0;left:0;right:0;padding:8px;background:linear-gradient(transparent,#000000b3);opacity:0;transition:opacity .3s ease}.grid-item:hover .grid-item-overlay{opacity:1}.grid-item-title{font-family:IBM Plex Mono,monospace;font-size:10px;color:#fff;font-weight:400}@media(max-width:768px){.content-area{inset:auto 8px 8px;width:calc(100% - 16px);height:50vh;max-height:50vh;margin:0;border-radius:6px}.page-content.text-only .page-header .description{max-width:100%}.video-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:4px}.grid-item-title{font-size:8px}.grid-item-overlay{opacity:1;padding:4px}.image-gallery{columns:1!important}}.image-gallery{column-gap:10px;padding:20px 0;max-width:100%}.gallery-image-row{break-inside:avoid;margin-bottom:10px}.gallery-image-row img{width:100%;height:auto;display:block;border-radius:4px}.progressive-image-wrapper{position:relative;width:100%;overflow:hidden;border-radius:4px;background-color:#8080801a}.progressive-image-wrapper img{width:100%;height:auto;display:block;transition:opacity .4s ease,filter .4s ease}.progressive-image-wrapper.loading img{opacity:0;filter:blur(20px)}.progressive-image-wrapper.loaded img{opacity:1;filter:blur(0)}.image-placeholder{width:100%;padding-bottom:75%;background:#000;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.image-placeholder .loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)}.image-placeholder .loading-percent{position:absolute;top:50%;left:50%;transform:translate(-50%,50%);font-family:IBMPlexMono-Regular,IBM Plex Mono,monospace;font-size:10px;font-weight:400;color:#fff}.image-placeholder .spinner-tick{stroke:#fffc}.image-error-placeholder{width:100%;padding-bottom:75%;background:#80808026;border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer}.image-error-placeholder span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;color:#ffffff80;transition:color .2s ease}.progressive-image-wrapper.error:hover .image-error-placeholder span{color:#fffc}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.video-gallery{column-gap:10px;padding:20px 0;max-width:100%}.gallery-video-item{break-inside:avoid;margin-bottom:10px;overflow:hidden;border-radius:4px}.gallery-video-item video{width:100%;height:auto;display:block}.lazy-video-wrapper{position:relative;width:100%}.lazy-video-wrapper video{width:100%;height:auto;display:block;transition:opacity .3s ease}.lazy-video-wrapper.loading video{opacity:0}.lazy-video-wrapper.loaded video{opacity:1}.video-loading-placeholder{position:absolute;top:0;left:0;width:100%;padding-bottom:56.25%;background:#000;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center}.video-loading-placeholder .loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)}.video-loading-placeholder .loading-percent{position:absolute;top:50%;left:50%;transform:translate(-50%,50%);font-family:IBMPlexMono-Regular,IBM Plex Mono,monospace;font-size:10px;font-weight:400;color:#fff}.video-loading-placeholder .spinner-tick{stroke:#fffc}.video-error-placeholder{width:100%;padding-bottom:56.25%;background:#80808026;border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer}.video-error-placeholder span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;color:#ffffff80;transition:color .2s ease}.video-error-placeholder:hover span{color:#fffc}@media(max-width:768px){.video-gallery{columns:1!important}}.media-gallery{column-gap:10px;padding:20px 0;max-width:100%}.gallery-media-item{break-inside:avoid;margin-bottom:10px;overflow:hidden;border-radius:4px}.gallery-media-item video,.gallery-media-item img{width:100%;height:auto;display:block}@media(max-width:768px){.media-gallery{columns:1!important}}.lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:pointer}.lightbox-overlay img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px;cursor:default}.lightbox-close{position:absolute;top:20px;right:20px;width:40px;height:40px;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;line-height:1;padding:0}.lightbox-close:hover{background:#fff3}.gallery-image-row.clickable{cursor:pointer}.gallery-image-row.clickable:hover img,.gallery-image-row.clickable .progressive-image-wrapper:hover img{transform:scale(1.02);transition:transform .2s ease}.gallery-image-row.clickable .progressive-image-wrapper{cursor:pointer}.content-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.content-section:first-of-type{margin-top:1.5rem}.section-header{margin-bottom:1rem}.section-header h2{font-family:Inter Bold,sans-serif;font-size:1.1rem;font-weight:700;margin:0 0 .5rem;color:var(--color-text)}.section-title-link{color:var(--color-text);text-decoration:none;display:inline-block}.section-title-link:hover h2{text-decoration:underline}.section-description{font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:400;opacity:1;margin:0;line-height:1.5;color:var(--color-text)}.custom-cursor{position:fixed;pointer-events:none;z-index:10000;transform:translate(-50%,-50%);opacity:0;transition:opacity .2s ease}.custom-cursor.visible{opacity:1}body,body *{cursor:none!important}.landing-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;cursor:pointer}.landing-svg{width:100%;height:100%}.rectangle-stroke{pointer-events:all;stroke-dasharray:700;stroke-dashoffset:700}.home-text-overlay{position:fixed;top:0;left:0;z-index:5;padding:20px;pointer-events:none;color:var(--color-text)}.p5-logo-container{position:fixed;top:0;left:0;width:350px;height:150px;pointer-events:auto;z-index:6;overflow:hidden}@media(max-width:768px){.p5-logo-container{top:-8px;left:-8px}}.home-text-overlay h1{font-family:Inter Bold,sans-serif;font-size:1rem;margin:0 0 .1rem;font-weight:700}.home-text-overlay .name-container{margin:0 0 .1rem;line-height:1;pointer-events:auto;cursor:default}.home-text-overlay .name-spacer{height:1rem;margin:0 0 .1rem}.home-text-overlay .subtitle{font-size:.75rem;margin:0 0 .1rem;opacity:.7;white-space:pre-line}.home-text-overlay .home-section-2{margin-top:1rem}.home-text-overlay .info-text{font-size:.75rem;margin:0 0 1rem;white-space:pre-line;opacity:.6}.home-text-overlay .info-text a{color:inherit;text-decoration:underline;pointer-events:auto;cursor:pointer}.home-text-overlay .info-text a:hover{opacity:1}@media(max-width:768px){.home-text-overlay{padding:12px}.home-text-overlay h1{font-size:.8rem}.home-text-overlay .subtitle{font-size:.6rem}.home-text-overlay .home-section-2{margin-top:.75rem}.home-text-overlay .info-text{font-size:.6rem;margin:0 0 .75rem}.home-text-overlay .info-text:last-child{display:none}}.color-picker{position:fixed;bottom:20px;left:20px;display:flex;gap:0;z-index:1000}.color-swatch{width:15px;height:15px;min-width:15px;min-height:15px;border-radius:0;border:none;cursor:pointer;transition:none;box-shadow:none;padding:0}.color-swatch:hover{transform:none;box-shadow:none}.color-swatch.active{border:none;box-shadow:none}.color-swatch:focus{outline:none;box-shadow:none}@media(max-width:768px){.color-picker{display:none}}*{margin:0;padding:0;box-sizing:border-box}#root{width:100vw;height:100vh;overflow:hidden}.App{width:100%;height:100%;position:relative;font-family:IBM Plex Mono,monospace}body{margin:0;padding:0;overflow:hidden}
