@import "https://fonts.googleapis.com/css2?family=BBH+Bogle&family=Poppins:wght@400;500;600&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth;--font-display:"BBH Bogle", sans-serif;--font-body:Poppins, sans-serif;--bg:#f2f0ed;--surface:#f8f8f6;--ink:#111;--secondary:#777;--muted:#a5a5a0;--line:#d7d5d0;--canvas-tint:#f2f0edbf;--button-radius:999px;font-family:Poppins,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0a;--surface:#111;--ink:#f4f4f0;--secondary:#999;--muted:#666;--line:#292929;--canvas-tint:#0a0a0ac4}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;transition:background .35s,color .35s;overflow-x:clip}button{font-family:inherit}.ui-button,.video-control-button,.quad-mute-toggle,.carousel-gate button,.mute-toggle,.presentation-button,.resume-button,.mode-button,.theme-button{border-radius:var(--button-radius)}.ui-button:focus-visible,.video-control-button:focus-visible,.quad-mute-toggle:focus-visible,.carousel-gate button:focus-visible,.mute-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:3px}main{background:var(--bg);min-height:100vh;transition:background .35s}.instrument-canvas{z-index:0;pointer-events:none;opacity:.95;position:fixed;inset:0}.nav,.hero,.section,footer{z-index:1;position:relative}.nav{border-bottom:1px solid var(--line);letter-spacing:.09em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;height:84px;padding:0 3.5vw;font:500 10px Poppins,sans-serif;transition:border-color .35s;display:flex}.brand{color:inherit;letter-spacing:.03em;font:400 23px Bebas Neue,sans-serif;text-decoration:none}.brand span{vertical-align:top;margin-left:2px;font:500 7px Poppins}.nav-right,.nav nav{align-items:center;gap:23px;display:flex}.nav a,.mode-button,.theme-button,.presentation-button,.resume-button{color:inherit;font:inherit;text-decoration:none}.presentation-button{color:inherit;cursor:pointer;letter-spacing:.08em;background:0 0;border:1px solid;padding:8px 12px;font:500 9px Poppins,sans-serif}.resume-button{border:1px solid var(--line);background:var(--surface);padding:8px 12px;transition:background .2s,color .2s,border-color .2s}.presentation-button:hover,.presentation-button.is-active,.resume-button:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.presentation-viewer{z-index:20;background:var(--bg);color:var(--ink);position:fixed;inset:0}.presentation-viewport{touch-action:pan-y;width:100vw;height:100vh;overflow:hidden}.presentation-track{will-change:transform;height:100%;transition:transform .65s cubic-bezier(.22,.61,.36,1);display:flex}.presentation-slide{box-sizing:border-box;flex:0 0 100vw;place-items:center;width:100vw;height:100vh;padding:7vh 7vw;display:grid}.presentation-slide img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.presentation-chrome{pointer-events:none;position:absolute;inset:0}.presentation-chrome button,.presentation-counter,.presentation-progress{pointer-events:auto}.presentation-exit,.presentation-arrows button{border-radius:var(--button-radius);background:color-mix(in srgb, var(--bg) 86%, transparent);color:var(--ink);cursor:pointer;letter-spacing:.08em;border:1px solid;font:500 10px Poppins,sans-serif}.presentation-exit{padding:9px 12px;position:absolute;top:24px;left:28px}.presentation-exit:hover,.presentation-arrows button:hover:not(:disabled){background:var(--ink);color:var(--bg)}.presentation-counter{letter-spacing:.12em;font:500 11px Poppins,sans-serif;position:absolute;top:28px;right:30px}.presentation-progress{background:var(--line);width:min(260px,36vw);height:2px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.presentation-progress span{background:var(--ink);height:100%;transition:width .3s;display:block}.presentation-arrows{justify-content:space-between;display:flex;position:absolute;inset:50% 22px auto;transform:translateY(-50%)}.presentation-arrows button{width:42px;height:42px;font-size:20px;line-height:1}.presentation-arrows button:disabled{opacity:.25;cursor:not-allowed}.mode-button,.theme-button{border:1px solid var(--line);background:var(--surface);cursor:pointer;padding:8px 11px;transition:background .2s,color .2s,border-color .2s}.mode-button:hover,.theme-button:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.theme-button span{vertical-align:-1px;font-size:13px}.hero{flex-direction:column;min-height:calc(100vh - 84px);padding:8vh 3.5vw 4vh;display:flex}.eyebrow{letter-spacing:.11em;color:var(--secondary);font:500 10px Poppins,sans-serif}.hero h1,h2{letter-spacing:.015em;text-transform:uppercase;max-width:1040px;margin:7.5vh 0 auto;font:400 clamp(4rem,10vw,10.5rem)/.84 Bebas Neue,sans-serif}.hero em,h2 em,footer em{letter-spacing:-.07em;text-transform:none;font-family:Poppins,sans-serif;font-style:normal;font-weight:400}.hero h1 em{font-size:.8em}.hero-bottom{justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.hero-bottom p{max-width:400px;color:var(--secondary);font-size:14px;line-height:1.55}.enter{color:inherit;border-bottom:1px solid var(--accent);letter-spacing:.1em;padding:10px 0;font:500 10px Poppins;text-decoration:none}.enter span{color:var(--accent);margin-left:18px;font-size:18px}.coordinates{color:var(--secondary);letter-spacing:.08em;text-align:right;font:500 9px/1.8 Poppins;position:absolute;top:32%;right:3.5vw}.section{background:var(--canvas-tint);border-top:1px solid var(--line);padding:15vh 3.5vw;transition:background .35s,border-color .35s}h2{margin:5vh 0}.project-list{margin-top:10vh}.project{border-top:1px solid var(--line);cursor:crosshair;grid-template-columns:9% 1fr 22%;gap:24px;padding:30px 0;transition:padding .3s,color .3s;display:grid}.project:last-child{border-bottom:1px solid var(--line)}.project:hover{color:var(--accent);padding-left:1.8vw}.project-id,.project-meta,.tags,small{letter-spacing:.1em;color:var(--secondary);font:500 9px/1.7 Poppins}.project:hover .project-id,.project:hover .project-meta{color:inherit}.project h3{letter-spacing:.02em;margin:0;font:400 clamp(2rem,3.4vw,3.7rem)/.9 Bebas Neue}.project p{max-width:450px;color:var(--secondary);margin:9px 0 15px;font-size:13px;line-height:1.5}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags span{border:1px solid;border-radius:99px;padding:3px 7px}.project-meta{text-align:right}.project-meta span{color:var(--accent);font-size:20px}.lab-section{min-height:100vh}.intro{max-width:420px;color:var(--secondary);margin:0 0 9vh;line-height:1.55}.experiments-marquee{background:var(--line);border:1px solid var(--line);flex-direction:column;gap:1px;display:flex;overflow:hidden}.experiment-row{width:100%;overflow:hidden}.experiment-track{will-change:transform;gap:1px;width:max-content;display:flex}.experiment-row-left .experiment-track{animation:22s linear infinite marquee-left}.experiment-row-right .experiment-track{animation:22s linear infinite marquee-right}.experiment-row:hover .experiment-track{animation-play-state:paused}@keyframes marquee-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-right{0%{transform:translate(-50%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.experiment-track{animation:none!important}}.experiment{text-align:left;background:var(--surface);width:300px;min-height:250px;color:var(--ink);cursor:pointer;text-align:left;border:0;border-radius:0;flex-direction:column;flex:0 0 300px;align-items:flex-start;padding:22px;transition:background .25s,color .25s;display:flex}.experiment:hover{background:var(--ink);color:var(--bg)}.experiment span,.experiment small{letter-spacing:.1em;font:500 9px Poppins}.experiment strong{letter-spacing:.03em;margin:28px 0 7px;font:400 38px Bebas Neue}.experiment i{align-self:flex-end;font-size:20px;font-style:normal}.about-section{min-height:90vh}.about-copy{max-width:640px;font-size:18px;line-height:1.5}.about-copy p{color:var(--secondary)}.about-copy p+p{color:var(--ink);letter-spacing:-.06em;font:400 32px/1.05 Poppins}footer{background:var(--bg);border-top:1px solid var(--line);padding:12vh 3.5vw 30px;transition:background .35s,border-color .35s}footer>a{color:inherit;letter-spacing:.02em;text-transform:uppercase;margin:8vh 0 15vh;font:400 clamp(4rem,9vw,10rem)/.82 Bebas Neue;text-decoration:none;display:block}footer em{font-size:.7em}.footer-bottom{letter-spacing:.1em;color:var(--secondary);justify-content:space-between;font:500 9px Poppins;display:flex}.footer-bottom a{color:inherit;text-decoration:none}.glitch-heading{will-change:transform, filter;animation:4.6s step-end infinite heading-glitch}.glitch-heading:nth-of-type(2){animation-delay:.8s}.glitch-heading:nth-of-type(3){animation-delay:1.7s}@keyframes heading-glitch{0%,84%,to{filter:none;text-shadow:none;transform:translate(0)}85%{filter:drop-shadow(4px 0 0 color-mix(in srgb, var(--ink) 35%, transparent));text-shadow:3px 0 var(--bg), -2px 0 var(--ink);transform:translate(-3px,1px)}87%{filter:contrast(1.5);text-shadow:-4px 0 var(--accent), 3px 0 var(--bg);transform:translate(3px,-1px)skew(-2deg)}89%{clip-path:inset(38% 0 35%);transform:translate(-1px)}91%{clip-path:inset(12% 0 64%);transform:translate(2px,1px)}93%{clip-path:none;filter:none;text-shadow:none;transform:translate(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.instrument-canvas{display:none}}.experiment-overlay{z-index:100;justify-content:center;align-items:center;padding:3vh 3vw;display:flex;position:fixed;inset:0}.experiment-overlay-backdrop{background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:absolute;inset:0}.experiment-overlay-panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;width:100%;max-width:1400px;height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000059}.experiment-overlay-bar{border-bottom:1px solid var(--line);letter-spacing:.09em;text-transform:uppercase;color:var(--secondary);justify-content:space-between;align-items:center;gap:14px;padding:14px 20px;font:500 10px Poppins,sans-serif;display:flex}.experiment-overlay-bar strong{font:400 20px var(--font-display);letter-spacing:.02em;color:var(--ink);text-transform:uppercase;flex:none}.experiment-overlay-close{letter-spacing:.09em;text-transform:uppercase;color:inherit;background:var(--bg);border:1px solid var(--line);cursor:pointer;border-radius:99px;padding:8px 12px;font:500 10px Poppins,sans-serif;transition:background .2s,color .2s,border-color .2s}.experiment-overlay-close:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.experiment-overlay-frame{background:#fff;border:0;flex:1;width:100%}@media (width<=700px){.experiment-overlay{padding:0}.experiment-overlay-panel{border-radius:0}.experiment-overlay-bar{flex-wrap:wrap}.experiment-overlay-bar strong{order:-1;width:100%}.nav{padding:0 18px}.nav nav{gap:14px}.nav nav a:nth-child(2),.nav nav a:nth-child(3),.mode-button{display:none}.nav-right{gap:8px}.presentation-button,.resume-button{padding:7px 8px;font-size:8px}.hero,.section,footer{padding-left:18px;padding-right:18px}html.presentation-active{scroll-snap-type:y proximity}.presentation-mode>.nav,.presentation-mode>.hero,.presentation-mode>.section,.presentation-mode>footer{scroll-snap-align:start}.presentation-mode .work-section.presentation-work{min-height:100svh;height:auto!important}.presentation-mode .work-section.presentation-work .work-sticky{height:auto;min-height:100svh;padding-top:120px;padding-bottom:8vh;position:relative;top:auto;overflow:visible}.presentation-mode .work-section.presentation-work .project-list-h{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;transform:none!important}.presentation-mode .work-section.presentation-work .project-h{min-height:42vh}.presentation-mode .experiments-marquee{animation-play-state:paused}@media (width<=700px){.presentation-mode .work-section.presentation-work .project-list-h{grid-template-columns:1fr}.presentation-slide{padding:10vh 14vw}.presentation-exit{top:16px;left:16px}.presentation-counter{top:20px;right:18px}.presentation-arrows{inset-inline:8px}}.hero h1{margin-top:15vh}.coordinates{display:none}.hero-bottom{flex-direction:column;align-items:flex-start}.project{grid-template-columns:12% 1fr}.project-meta{text-align:left;grid-column:2}.experiment{flex-basis:78vw;width:78vw;min-height:170px}.about-copy{margin-left:0}.footer-bottom{flex-wrap:wrap;gap:12px}}.brand,.hero h1,.hero h1 em,h2,h2 em,.project h3,.experiment strong,footer>a,footer>a em{font-family:var(--font-display)}.eyebrow,.hero-bottom p,.coordinates,.project-id,.project-meta,.project p,.tags,.intro,.experiment span,.experiment small,.experiment p,.about-copy,.capabilities li span,.contact-links a,.footer-bottom,.nav,.mode-button,.theme-button{font-family:var(--font-body)}.hero h1 span{letter-spacing:.035em;font-size:.62em}.intro code{color:var(--ink);border-bottom:1px solid var(--line);font:500 10px Poppins}.experiment p{color:var(--secondary);max-width:240px;margin:12px 0 0;font-size:12px;line-height:1.45}.github-activity-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:auto}.github-activity-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.github-activity-heading .glitch-heading{margin-bottom:0}.github-activity-heading>a{color:var(--ink);letter-spacing:.08em;border-bottom:1px solid var(--line);padding-bottom:5px;font:500 11px Poppins,sans-serif;text-decoration:none}.github-activity-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:1.2fr .8fr;gap:1px;margin-top:5vh;display:grid}.github-activity-panel{background:var(--surface);min-height:220px;padding:24px}.github-activity-stats{align-items:baseline;gap:10px;margin-right:34px;display:inline-flex}.github-activity-stats strong{font:400 44px var(--font-display);color:var(--ink)}.github-activity-stats span,.github-panel-label,.github-recent a span{letter-spacing:.09em;text-transform:uppercase;color:var(--secondary);font:500 9px/1.4 Poppins,sans-serif}.github-days{grid-template-columns:repeat(15,minmax(10px,1fr));gap:5px;margin-top:40px;display:grid}.github-day{aspect-ratio:1;background:#ebedf0;border:1px solid #1b1f240f}.github-day.level-1{background:#9be9a8}.github-day.level-2{background:#40c463}.github-day.level-3{background:#30a14e}.github-day.level-4{background:#216e39}.github-recent{flex-direction:column;gap:12px;display:flex}.github-recent a{color:var(--ink);border-top:1px solid var(--line);grid-template-columns:52px 1fr;align-items:baseline;gap:12px;padding-top:12px;text-decoration:none;display:grid}.github-recent a strong{font:400 15px/1.25 var(--font-body)}.github-recent a:hover strong{text-decoration:underline}.github-projects-label{margin-top:18px}.github-recent a strong small{font:400 11px/1.4 var(--font-body);color:var(--secondary);margin-top:4px;display:block}.github-activity-status{color:var(--secondary);font-size:13px}.live-weather-section{border-bottom:1px solid var(--line);min-height:auto}.live-weather-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.live-weather-heading .glitch-heading{margin-bottom:0}.live-weather-status{letter-spacing:.09em;color:var(--secondary);align-items:center;gap:7px;font:500 9px Poppins,sans-serif;display:inline-flex}.live-weather-status i{background:#2da44e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #2da44e2e}.live-weather-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:5vh;display:grid}.weather-card{background:var(--surface);min-width:0;padding:24px}.weather-card-top,.weather-meta{justify-content:space-between;gap:12px;display:flex}.weather-card-top span{font:400 27px var(--font-display);color:var(--ink)}.weather-card-top small,.weather-meta,.weather-hours span{letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);font:500 9px Poppins,sans-serif}.weather-current{align-items:baseline;gap:14px;margin:44px 0 24px;display:flex}.weather-current strong{font:400 clamp(4rem, 8vw, 7rem) var(--font-display);color:var(--ink);line-height:.8}.weather-current span{color:var(--secondary);font-size:12px}.weather-meta{border-top:1px solid var(--line);flex-wrap:wrap;padding-top:13px}.weather-hours{border-top:1px solid var(--line);grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:34px;padding-top:13px;display:grid}.weather-hours div{flex-direction:column;gap:7px;min-width:0;display:flex}.weather-hours b{font-size:15px;font-weight:400}.weather-hours strong{color:var(--ink);font:500 12px Poppins,sans-serif}@media (width<=700px){.github-activity-heading{flex-direction:column;align-items:flex-start}.github-activity-grid{grid-template-columns:1fr}.github-activity-panel{min-height:0}.github-activity-stats{margin-right:16px}.github-activity-stats strong{font-size:36px}.live-weather-heading{flex-direction:column;align-items:flex-start}.live-weather-grid{grid-template-columns:1fr}}.experiment:hover p{color:inherit}.capabilities{border-top:1px solid var(--line);max-width:720px;margin:14vh 0 0 42%;padding:0;list-style:none}.capabilities li{border-bottom:1px solid var(--line);letter-spacing:.025em;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;padding:13px 0;font:400 clamp(1.4rem,2.2vw,2.5rem)/1 BBH Bogle,sans-serif;transition:padding .25s,color .25s;display:grid}.capabilities li span{color:var(--secondary);letter-spacing:.08em;font:500 9px Poppins}.capabilities li b{color:var(--secondary);font:400 16px Poppins}.capabilities li:hover{color:var(--secondary);padding-left:14px}.contact-links{gap:10px;margin:-9vh 0 12vh;display:flex}.contact-links a{border:1px solid var(--line);color:var(--ink);letter-spacing:.08em;border-radius:99px;padding:10px 14px;font:500 10px Poppins;text-decoration:none;transition:background .2s,color .2s}.contact-links a:hover{background:var(--ink);color:var(--bg)}.pixel-cursor-trail{z-index:9999;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}@media (pointer:coarse){.pixel-cursor-trail{display:none}}.custom-cursor.is-active{width:48px;height:32px}.custom-cursor-tile{background:var(--ink);color:var(--bg);mix-blend-mode:difference;justify-content:center;align-items:center;font-size:7px;line-height:1;display:flex}@media (pointer:coarse){.custom-cursor{display:none}}@media (width<=700px){.capabilities{margin:10vh 0 0}.contact-links{margin:-6vh 0 10vh}.hero h1{font-size:clamp(3.4rem,17vw,5.2rem)}.project h3{font-size:clamp(2rem,10vw,3rem)}}.work-section{padding:0;position:relative;overflow:clip}.work-sticky{flex-direction:column;justify-content:center;height:100vh;padding:8vh 3.5vw 0;display:flex;position:sticky;top:0;overflow:hidden}.work-sticky h2{margin:1.5vh 0 3vh;font-size:clamp(2.4rem,5vw,5rem);line-height:.9}.work-sticky .intro{margin-bottom:4vh}.project-list-h{will-change:transform;gap:24px;padding-right:6vw;display:flex}.project-h{background:var(--canvas-tint);border:1px solid var(--line);cursor:crosshair;flex-direction:column;flex:0 0 clamp(280px,32vw,420px);min-height:40vh;padding:34px 28px;transition:background .3s,color .3s;display:flex;position:relative}.project-grid-mark{z-index:2;position:absolute;top:16px;right:16px}.project-h:hover{background:var(--ink);color:var(--bg)}.project-h .project-id{letter-spacing:.1em;color:var(--secondary);font:500 9px/1.7 Poppins,sans-serif}.project-h:hover .project-id{color:inherit}.project-h h3{font:400 clamp(1.6rem, 2.4vw, 2.5rem) / .95 var(--font-display);letter-spacing:.02em;margin:14px 0 0}.project-h p{color:var(--secondary);margin:12px 0 auto;font-size:13px;line-height:1.5}.project-h:hover p{color:inherit}.project-h .tags{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.project-h .tags span{letter-spacing:.1em;border:1px solid;padding:3px 7px;font:500 9px Poppins}.project-h .project-meta{letter-spacing:.1em;color:var(--secondary);margin-top:20px;font:500 9px/1.7 Poppins,sans-serif}.project-h:hover .project-meta{color:inherit}.project-view-btn{letter-spacing:.08em;color:inherit;border:1px solid;align-self:flex-start;align-items:center;gap:8px;margin-top:20px;padding:9px 16px;font:500 10px Poppins,sans-serif;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.project-view-btn:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.project-view-btn span{font-size:13px}@media (width<=700px){.work-sticky{padding:6vh 18px 0}.project-h{flex-basis:78vw;min-height:48vh}}.about-media-grid{grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:16px;width:100%;margin-top:4vh;display:grid}.about-media-grid .about-photo{aspect-ratio:auto;object-fit:cover;border:1px solid var(--line);background-position:50%;background-size:cover;width:100%;height:100%;display:block}.video-cell{height:100%;position:relative}.video-cell .about-photo{width:100%;height:100%}.mute-toggle{border:1px solid var(--line);color:#fff;cursor:pointer;background:#0000008c;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;display:flex;position:absolute;bottom:10px;right:10px}.behance-tile{box-sizing:border-box;border:1px solid var(--line);width:100%;height:100%;color:inherit;background:var(--surface);border-radius:0;flex-direction:column;justify-content:space-between;padding:20px;text-decoration:none;display:flex}.behance-tile-label{letter-spacing:.1em;color:var(--secondary);font:500 10px Poppins}.behance-tile strong{font:800 100px var(--font-display);letter-spacing:.02em;line-height:1}.behance-tile i{align-self:flex-end;font-size:22px;font-style:normal}.behance-tile:hover{background:var(--ink);color:var(--bg)}@media (width<=600px){.about-media-grid{grid-template-columns:1fr}}.about-media-grid .about-photo:hover,.about-media-grid .behance-tile:hover{animation:.6s step-end photo-glitch}@keyframes photo-glitch{0%,to{filter:none;clip-path:none;transform:translate(0)}15%{filter:hue-rotate(90deg)saturate(2)contrast(1.3);transform:translate(-4px,2px)}30%{filter:hue-rotate(-90deg)contrast(1.5);clip-path:inset(20% 0 45%);transform:translate(4px,-2px)}45%{filter:saturate(3);clip-path:inset(55% 0 10%);transform:translate(-2px)}60%{filter:contrast(1.6)hue-rotate(45deg);clip-path:inset(5% 0 70%);transform:translate(3px,1px)}75%{filter:none;clip-path:none;transform:translate(-1px)}}.video-strip{background:var(--line);grid-template-columns:repeat(4,1fr);gap:2px;display:grid}.video-strip-item{aspect-ratio:9/16;object-fit:cover;width:100%;display:block}@media (width<=700px){.video-strip{grid-template-columns:repeat(2,1fr)}}.video-tile{position:relative}.video-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0a0a94;border:1px solid #ffffff47;border-radius:999px;gap:6px;padding:5px;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 8px 24px #0003}.video-control-button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;line-height:1;transition:background .2s,color .2s,transform .2s,border-color .2s;display:flex}.video-control-button:hover,.video-control-button:focus-visible{color:#111;background:#fff;border-color:#fff;outline:none;transform:translateY(-1px)}.video-control-button.is-active{color:#111;background:#baff39;border-color:#baff39}.quad-mute-toggle{border:1px solid var(--line);background:var(--surface);color:var(--ink);letter-spacing:.08em;cursor:pointer;border-radius:999px;padding:10px 16px;font:500 10px Poppins,sans-serif;transition:background .2s,color .2s,border-color .2s}.quad-mute-toggle:hover,.quad-mute-toggle:focus-visible{background:var(--ink);color:var(--bg);border-color:var(--ink);outline:none}.color-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(30,1fr);width:100%;height:200px;display:grid;overflow:hidden}.color-strip-cell{width:100%;height:100%;animation:color-cycle var(--dur,8s) steps(8, end) infinite;animation-delay:var(--delay,0s)}.color-strip:hover .color-strip-cell{animation-duration:calc(var(--dur,8s) / 6)}@keyframes color-cycle{0%{background-color:#ff3b6b}12.5%{background-color:#ffd400}25%{background-color:#8a2be2}37.5%{background-color:#1e3fe0}50%{background-color:#ff8a00}62.5%{background-color:#4fc3f7}75%{background-color:#2e8b57}87.5%{background-color:#f4efe4}to{background-color:#ff3b6b}}@media (prefers-reduced-motion:reduce){.color-strip-cell{background-color:#8a2be2;animation:none}}.flow-section{background:var(--bg);grid-template-columns:1fr 1fr;align-items:stretch;gap:0;min-height:55vh;padding:0;display:grid;position:relative}.flow-field-box{border:1px solid var(--line);background:var(--surface);width:100%;height:100%;min-height:55vh;overflow:hidden}.flow-field-canvas{cursor:crosshair;width:100%;height:100%;display:block}.flow-copy{max-width:380px}.flow-copy p{color:var(--ink);margin:0 0 18px;font-size:20px;line-height:1.45}.flow-copy strong{letter-spacing:.03em;color:var(--ink);font:400 34px Bebas Neue;display:block}@media (width<=780px){.flow-section{grid-template-columns:1fr;min-height:45vh}.flow-field-box{max-height:45vh}}.pts-hello-canvas{width:100%;height:100%;position:relative;overflow:hidden}.split-reveal-canvas{width:100%;height:100%;display:block}.heatmap-section{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:0;padding:0;display:grid}.heatmap-box{border:1px solid var(--line);background:var(--surface);aspect-ratio:1;flex-direction:column;gap:10px;padding:18px;display:flex}.heatmap-section .heatmap-box+.heatmap-box{border-left:0}.heatmap-title{font:400 22px var(--font-display);letter-spacing:.03em;color:var(--ink)}.heatmap-canvas-wrap{flex:auto;min-height:0;position:relative}.heatmap-canvas{width:100%;height:100%;display:block}.heatmap-tooltip{pointer-events:none;background:var(--ink);color:var(--bg);white-space:nowrap;z-index:5;padding:5px 9px;font-size:11px;position:absolute}@media (width<=780px){.heatmap-section{grid-template-columns:1fr}.heatmap-section .heatmap-box+.heatmap-box{border-left:1px solid var(--line);border-top:0}}.quad-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-rows:repeat(2,minmax(420px,50vh));grid-template-columns:repeat(2,1fr)!important;gap:0!important;padding:0!important;display:grid!important}.quad-grid>*{width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:unset!important;border-right:1px solid var(--line)!important;margin:0!important;overflow:hidden!important}.quad-grid canvas{width:100%;max-width:100%;display:block}.quad-grid>:nth-child(2n){border-right:0!important}.quad-grid>:nth-last-child(-n+2){border-bottom:0!important}@media (width<=900px){.quad-grid{grid-template-rows:repeat(2,minmax(360px,50vh));grid-template-columns:1fr 1fr!important}}@media (width<=780px){.quad-grid{grid-template-rows:repeat(4,minmax(280px,45vh));grid-template-columns:1fr!important}}.carousel-embed{border:1px solid var(--line);width:100%;height:85vh;margin-top:4vh;overflow:hidden}.carousel-embed iframe{border:0;width:100%;height:100%;display:block}.carousel-embed{position:relative}.carousel-gate{text-align:center;background:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:6vw;display:flex;position:absolute;inset:0}.carousel-gate p{max-width:420px;color:var(--secondary);line-height:1.55}.carousel-gate button{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--bg);border:1px solid var(--line);cursor:pointer;border-radius:99px;padding:12px 20px;font:500 10px Poppins;transition:background .2s,color .2s,border-color .2s}.carousel-gate button:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.custom-cursor{border:1px solid var(--ink);background:color-mix(in srgb, var(--ink) 6%, transparent);-webkit-backdrop-filter:blur(1px);pointer-events:none;z-index:9999;opacity:0;width:20px;height:20px;transform:translate3d(var(--cursor-x,0), var(--cursor-y,0), 0) scale(.9);will-change:transform;border-radius:50%;margin:-10px 0 0 -10px;transition:transform .14s ease-out,opacity .2s,width .25s,height .25s,margin .25s,background .25s,border-color .25s;position:fixed;top:0;left:0}.custom-cursor.is-visible{opacity:1}.custom-cursor.is-active{border-color:var(--ink);background:color-mix(in srgb, var(--ink) 10%, transparent);-webkit-backdrop-filter:blur(2px)saturate(1.3);width:44px;height:44px;margin:-22px 0 0 -22px}.custom-cursor.is-text{opacity:0}@media (pointer:coarse){.custom-cursor{display:none}}.grid-mark{background:var(--line);border:1px solid var(--line);flex-shrink:0;grid-template-columns:repeat(3,1fr);gap:1px;width:66px;height:66px;display:grid;overflow:hidden}.grid-mark-tile{background:var(--ink);color:var(--bg);justify-content:center;align-items:center;font-size:11px;line-height:1;display:flex}.grid-mark-tile:nth-child(3n+2){background:var(--bg);color:var(--ink);border:1px solid var(--line)}
