@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_efde1a47-module__SZ3kUW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_efde1a47-module__SZ3kUW__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_1bf8cbf6-module__FlyLvG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_1bf8cbf6-module__FlyLvG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.06cvo47x4w1en.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.0pz0x0eczp58u.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}.instrument_sans_fc5baa99-module__gH3yGq__className{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.instrument_sans_fc5baa99-module__gH3yGq__variable{--font-instrument-sans:"Instrument Sans", "Instrument Sans Fallback"}
:root{--bg:#f8f8f8;--fg:#1a1a1a;--fg-muted:#8b8b8b;--fg-secondary:#646464;--fg-label:#949494;--divider:#0000001a;--ruler-bg:#fff;--ruler-tick:#85858599;--surface:#fff;--surface-soft:#f4f4f4;--surface-muted:#ededed;--surface-pill:#e6e6e6;--surface-frost:var(--bg);--spotify-header-bg:#111;--spotify-header-fg:#fff;--spotify-glass:#ffffff2e;--spotify-glass-strong:#ffffff73;--spotify-text:#000;--spotify-subtext:#242424;--spotify-control:#1a1a1a;--spotify-badge-bg:#fff3;--spotify-badge-fg:#fff;--border-subtle:#0000001f;--border-strong:#0003;--surface-hover:#0000000a;--surface-hover-strong:#00000014;--editor-code-bg:#0000000f;--editor-codeblock-bg:#0000000a;--danger:#dc2626;--danger-soft:#fff5f5;--success:#16a34a;--success-soft:#f0fdf4;--info:#0d99ff;--info-soft:#0d99ff14;--accent:var(--fg);--text-primary:var(--fg);--text-secondary:var(--fg-muted);--text-invert:#fff;--text-accent:#3b82f6;--text-warning:#f59e0b;--text-danger:#ef4444;--text-success:#22c55e;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--font-heading:var(--font-geist), system-ui, sans-serif;--font-body:var(--font-geist), system-ui, sans-serif;--ruler-size:18px;--canvas-w:1728px;--fs-11:clamp(11px, 2.6vw, 12px);--fs-12:clamp(12px, 2.8vw, 13px);--fs-13:clamp(13px, 3vw, 14px);--fs-14:clamp(14px, 3.2vw, 15px);--fs-15:clamp(15px, 3.4vw, 16px);--fs-16:clamp(16px, 3.6vw, 18px);--fs-18:clamp(18px, 4vw, 20px);--fs-20:clamp(20px, 4.4vw, 22px)}:root[data-theme=dark]{--bg:#0f0f10;--fg:#f2f2f2;--fg-muted:#9a9a9a;--fg-secondary:#9a9a9a;--fg-label:#7f7f7f;--divider:#ffffff1f;--ruler-bg:#0b0b0c;--ruler-tick:#c8c8c847;--surface:#151516;--surface-soft:#1b1b1c;--surface-muted:#222224;--surface-pill:#2a2a2c;--surface-frost:var(--bg);--spotify-header-bg:#f2f2f2;--spotify-header-fg:#0f0f10;--spotify-glass:#00000059;--spotify-glass-strong:#00000073;--spotify-text:var(--fg);--spotify-subtext:var(--fg-muted);--spotify-control:var(--fg);--spotify-badge-bg:#0003;--spotify-badge-fg:#0f0f10;--border-subtle:#ffffff1f;--border-strong:#ffffff38;--surface-hover:#ffffff0f;--surface-hover-strong:#ffffff1a;--editor-code-bg:#ffffff14;--editor-codeblock-bg:#ffffff0f;--danger:#f87171;--danger-soft:#f871711f;--success:#4ade80;--success-soft:#4ade801f;--info:#60a5fa;--info-soft:#60a5fa1f;--text-primary:var(--fg);--text-secondary:var(--fg-muted);--text-invert:#0f0f10;--text-accent:#60a5fa;--text-warning:#fbbf24;--text-danger:#f87171;--text-success:#4ade80;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{background-color:var(--bg);width:100%;height:100%;color:var(--fg);font-family:var(--font-body);overflow:hidden}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--fg);outline-offset:2px;border-radius:6px}@media (max-width:1023px){html,body{height:auto;overflow:auto}.ruler{display:none}#case-study-nav,.desktop-only{display:none!important}}@media (min-width:1024px){.mobile-only{display:none!important}}[data-inline-edit]:hover{border-radius:3px;box-shadow:0 0 0 2px #0d99ff40}[data-inline-edit]:focus{border-radius:3px;box-shadow:0 0 0 2px #0d99ff}.cs-rich-text p{line-height:inherit;margin:0 0 .85em}.cs-rich-text p:last-child{margin-bottom:0}.cs-rich-text ul,.cs-rich-text ol{margin:.2em 0 .55em;padding-inline-start:1.25em;list-style-position:outside}.cs-rich-text ul:last-child,.cs-rich-text ol:last-child{margin-bottom:0}.cs-rich-text li{line-height:inherit;margin:0 0 .2em;padding:0}.cs-rich-text li:last-child{margin-bottom:0}.cs-rich-text li>p{margin:0;display:inline}.cs-rich-text ol{list-style-type:decimal}.cs-rich-text h2,.cs-rich-text h3,.cs-rich-text h4{font-family:var(--font-heading);letter-spacing:-.01em;margin:1.25em 0 .65em;font-weight:600;line-height:1.3}.cs-rich-text h2{font-size:16px}.cs-rich-text h3{font-size:14px}.cs-rich-text h4{font-size:13px}.cs-rich-text h2:first-child,.cs-rich-text h3:first-child,.cs-rich-text h4:first-child{margin-top:0}.cs-rich-text strong{font-weight:600}.cs-rich-text blockquote{border-left:3px solid var(--divider);color:var(--fg-secondary);margin:.5em 0;padding-left:12px}.cs-rich-text blockquote p{margin:0}.collage-card-inner{width:100%;height:100%;transition:transform .16s cubic-bezier(.23,1,.32,1);position:relative}.collage-card-wrapper:active .collage-card-inner{transform:scale(.98)}.link-arrow-icon{transition:transform .16s cubic-bezier(.23,1,.32,1)}@media (hover:hover) and (pointer:fine){.collage-card-wrapper:hover .link-arrow-icon{transform:translate(2px,-2px)scale(1.1)}a:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.project-card a:hover,.mobile-project-card a:hover{color:var(--fg-muted);background-color:var(--surface-muted)!important}.spotify-ctrl:hover{opacity:.9;transform:translateY(-1px)}}.mobile-tab:active{transform:scale(.96)}.mobile-project-card{transition:transform .16s cubic-bezier(.23,1,.32,1)}.mobile-project-card:active{transition:transform .12s cubic-bezier(.23,1,.32,1);transform:scale(.99)}@media (hover:hover) and (pointer:fine){.project-card:active,.mobile-tab:active,.mobile-project-card:active{transform:scale(.97)}}@keyframes accent-picker-in{0%{opacity:0;transform:scale(.85)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}
