@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/85fcf895b86d74a6-s.3pdm20a023wv-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5307092570128b5a-s.16191ingcc7md.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b67966e0b83b2cd0-s.p.0fuf3937kiol3.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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_9a473cfd-module__bADI7W__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_9a473cfd-module__bADI7W__variable{--font-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:raleway;src:url(../media/RalewayMedium_Pxyg-s.p.3vlbr1z63iyl8.ttf)format("truetype");font-display:swap}@font-face{font-family:raleway Fallback;src:local(Arial);ascent-override:88.22%;descent-override:21.96%;line-gap-override:0.0%;size-adjust:106.55%}.raleway_23f0dd4c-module__Tz6Cyq__className{font-family:raleway,raleway Fallback}.raleway_23f0dd4c-module__Tz6Cyq__variable{--font-body:"raleway", "raleway Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_a05d3611-module__5-zhYG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_a05d3611-module__5-zhYG__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--ink:#112034;--parchment:#d0d5de;--parchment-2:#c2c8d2;--brass:#2d5688;--brass-dim:#0c3661;--brass-bright:#4c8fe0;--teal:#708cb0;--gray:#7a8494;--line:#1120341f;--display:var(--font-display), "Iowan Old Style", "Palatino Linotype", serif;--mono:var(--font-mono), "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--body:var(--font-body), "Helvetica Neue", Arial, sans-serif;--maxw:1180px;--staff-gap:10px;--nav-h:76px;--focus:var(--brass);--gold:#d4af5e;--gold-deep:#6e5010}*{box-sizing:border-box}body{background:var(--parchment);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:18px;font-weight:500;line-height:1.6}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.section--ink,.splash,body.has-splash .nav:not(.scrolled){--focus:var(--parchment)}ul{margin:0;padding:0;list-style:none}section{position:relative}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}@media (max-width:480px){.wrap{padding:0 20px}body{font-size:16px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.splash{background:var(--ink);will-change:opacity;flex-direction:column;justify-content:center;align-items:center;gap:48px;height:100dvh;padding:40px;display:flex;position:relative}html[data-splash=skip] .splash,html[data-splash=skip] .splash__fixed-title{display:none}html[data-splash=skip] .hero__typewriter{opacity:1}.splash__staff{--staff-h:clamp(120px, 16vw, 210px);height:var(--staff-h);pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.splash__staff span{transform-origin:0;background:#d0d5de33;height:1px;animation:1.1s cubic-bezier(.22,.61,.36,1) forwards splashStaffDraw;display:block;transform:scaleX(0)}@keyframes splashStaffDraw{to{transform:scaleX(1)}}.splash__clef{left:var(--clef-left,6vw);top:calc(var(--staff-h) * -.7667);height:calc(var(--staff-h) * 2.6);fill:none;width:auto;stroke:var(--gold);stroke-width:1.15px;stroke-linecap:round;stroke-linejoin:round;position:absolute;overflow:visible}.splash__clef path{stroke-dasharray:1;stroke-dashoffset:1px;animation:1.4s cubic-bezier(.45,.05,.35,1) .75s forwards splashClefDraw}@keyframes splashClefDraw{to{stroke-dashoffset:0}}.splash__staff.is-clef-behind .splash__clef{opacity:.35}.splash__welcome{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:#d0d5de99;margin:0;font-size:clamp(11px,1.1vw,13px);animation:.8s forwards splashFadeIn;position:relative}.splash__fixed-title{z-index:500;font-family:var(--display);color:var(--parchment);text-align:left;letter-spacing:-.01em;transform-origin:0 0;will-change:transform, left, top;pointer-events:none;max-width:calc(100vw - 48px);margin:0;font-size:clamp(36px,6.5vw,88px);font-weight:700;line-height:1.05;position:fixed;top:0;left:0}.splash__scroll-indicator{flex-direction:column;align-items:center;gap:10px;animation:.6s forwards splashFadeIn;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.splash__mouse{color:#d0d5de73;width:24px;height:38px}@media (max-width:480px){.splash{gap:32px;padding:24px}.splash__fixed-title{font-size:clamp(28px,8vw,88px)}}.splash__wheel{animation:1.4s ease-in-out infinite mouseWheel}.splash__scroll-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#d0d5de91;font-size:10px}@keyframes mouseWheel{0%{opacity:1;transform:translateY(0)}60%{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes splashFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.splash__hi{color:var(--gold)}.splash__ghost,.tagline-ghost{visibility:hidden}.splash__cursor{background:var(--gold);vertical-align:-.05em;width:.06em;height:.72em;margin-left:5px;animation:.65s step-end infinite cursorBlink;display:inline-block}.staff{width:100%;height:calc(var(--staff-gap)*4 + 1px);position:relative}.staff:before{content:"";background-image:repeating-linear-gradient(to bottom, var(--line) 0px, var(--line) 1px, transparent 1px, transparent calc(var(--staff-gap)));position:absolute;inset:0}.staff-progress{top:var(--nav-h);background:var(--line);z-index:90;height:1px;position:fixed;left:0;right:0}.staff-progress__fill{background:var(--brass);width:0%;height:1px;transition:width 80ms linear}.staff-progress__clef{color:var(--brass);filter:drop-shadow(0 2px 6px #2d56884d);pointer-events:none;z-index:2;font-size:28px;line-height:1;transition:left 80ms linear;animation:3s ease-in-out infinite clefFloat;position:absolute;top:-18px;left:0%;transform:translate(-50%)}@keyframes clefFloat{0%,to{translate:0;rotate:none}25%{translate:0 -4px;rotate:3deg}75%{translate:0 3px;rotate:-2deg}}.nav{height:var(--nav-h);z-index:100;color:var(--ink);background:0 0;border-bottom:1px solid #0000;align-items:center;transition:background-color .35s,box-shadow .35s,border-color .35s,color .35s;display:flex;position:fixed;top:0;left:0;right:0}body.has-splash .nav:not(.scrolled){color:var(--parchment)}.nav.scrolled{border-bottom-color:var(--line);color:var(--ink);background:#d0d5def7;box-shadow:0 1px #1120340d,0 12px 24px -16px #1120342e}.nav.scrolled.nav--dark{color:var(--parchment);--focus:var(--parchment);background:#112034f5;border-bottom-color:#d0d5de1a;box-shadow:0 12px 24px -16px #00000080}.nav--dark .nav__mark .dot{color:var(--gold)}.nav--dark .nav__links a.is-active{color:#fff}.nav--dark .nav__links a:after{background:var(--gold)}.nav--dark .nav__cta:hover{background:var(--parchment);color:var(--ink)}.nav__inner{width:100%;max-width:var(--maxw);justify-content:space-between;align-items:center;margin:0 auto;padding:0 32px;display:flex}.nav__mark{font-family:var(--display);letter-spacing:-.01em;align-items:baseline;gap:8px;font-size:21px;font-weight:600;display:flex}.nav__mark .dot{color:var(--brass)}.nav__links{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;gap:34px;font-size:12.5px;display:flex}.nav__links a{color:inherit;opacity:.72;padding:4px 0;transition:opacity .2s;position:relative}.nav__links a:hover{opacity:1}.nav__links a:after{content:"";background:var(--brass);transform-origin:0;width:100%;height:1px;transition:transform .25s;position:absolute;bottom:-3px;left:0;transform:scaleX(0)}.nav__links a:hover:after{transform:scaleX(1)}.nav__links a.is-active{opacity:1;color:var(--brass-dim)}.nav__links a.is-active:after{transform:scaleX(1)}.nav__cta{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;--mx:0px;--my:0px;transform:translate(var(--mx), var(--my));border:1px solid;padding:9px 16px;font-size:12.5px;transition:transform .2s,background .2s,color .2s}.btn.is-magnet-active{transition:transform,background .25s,color .25s}.nav__cta.is-magnet-active{transition:transform,background .2s,color .2s}.contact__submit.is-magnet-active{transition:transform,background .25s}.project-card__links a.is-magnet-active{transition:transform,background .2s,color .2s}.nav__cta:hover{background:var(--ink);color:var(--parchment)}.nav__burger,.nav__mobile{display:none}@media (max-width:860px){.nav__links,.nav__cta{display:none}.nav__burger{cursor:pointer;z-index:101;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;padding:8px;display:flex}.nav__burger span{background:currentColor;width:22px;height:1.5px;transition:transform .25s,opacity .25s,background-color .25s}.nav__burger.is-open span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav__burger.is-open span:nth-child(2){opacity:0}.nav__burger.is-open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.nav__mobile{top:var(--nav-h);background:var(--parchment);opacity:0;visibility:hidden;z-index:99;flex-direction:column;justify-content:space-between;padding:28px 32px 40px;transition:transform .3s,opacity .3s,visibility .3s;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translate(100%)}.nav__mobile.is-open{opacity:1;visibility:visible;transition:transform .3s,opacity .3s,visibility;transform:translate(0)}.nav__mobile-links{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:6px;display:flex}.nav__mobile-links a{border-bottom:1px solid var(--line);color:var(--ink);opacity:.8;padding:16px 0;font-size:16px}.nav__mobile-links a.is-active{opacity:1;color:var(--brass-dim)}.nav__mobile-cta{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--ink);align-self:flex-start;margin-top:24px;padding:14px 22px;font-size:13px}}@media (max-width:480px){.nav__inner{padding:0 20px}.nav__mobile{padding:24px 20px 32px}}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.175,1.06,.32,1);transform:translateY(30px)}.reveal.show{opacity:1;transform:translateY(0)}.reveal--delay-1.show{transition-delay:80ms}.reveal--delay-2.show{transition-delay:.16s}.reveal--delay-3.show{transition-delay:.24s}.reveal--delay-4.show{transition-delay:.32s}.reveal.reveal-slide{transform:translate(-30px)}.reveal.reveal-slide.show{transform:translate(0)}.reveal-scale{opacity:0;will-change:opacity, transform;transition:opacity 1s cubic-bezier(.16,.84,.44,1),transform 1s cubic-bezier(.16,.84,.44,1);transform:scale(.94)}.reveal-scale.show{opacity:1;transform:scale(1)}@keyframes squiggly{0%{filter:url(#squiggly-0)}50%{filter:url(#squiggly-1)}to{filter:url(#squiggly-0)}}.squiggle{color:var(--gold-deep);display:inline-block;position:relative}.section--ink .squiggle{color:var(--gold)}.squiggle .underline{height:.16em;position:absolute;bottom:-.06em;left:-2%;right:-2%}.squiggle .underline svg{width:100%;height:100%;animation:2.6s ease-in-out infinite squiggly,4s ease-in-out infinite squigglePulse;display:block}@keyframes squigglePulse{0%,to{opacity:1}50%{opacity:.55}}.squiggle .underline path{stroke:var(--brass);stroke-width:3px;fill:none;stroke-linecap:round}.hero{height:160vh;position:relative}.hero__grid{width:100%;min-height:100dvh;max-width:var(--maxw);padding:var(--nav-h) 32px 0;grid-template-columns:1.15fr .85fr;align-items:center;gap:56px;margin:0 auto;display:grid;position:sticky;top:0;overflow:hidden}.hero__copy,.hero__visual{will-change:transform}.hero__parallax-spacer{height:60vh}.hero__identity{display:contents}.hero__mobile-avatar{display:none}.hero__eyebrow{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--teal);align-items:center;gap:10px;margin-bottom:18px;font-size:12.5px;display:flex}.hero__eyebrow:before{content:"";background:var(--brass);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #2d568840}.hero h1,.hero__typewriter{opacity:0;font-family:var(--display);letter-spacing:-.01em;margin:0 0 26px;font-size:clamp(32px,4.8vw,64px);font-weight:700;line-height:1.05;transition:opacity .4s}.hero-cursor{color:var(--brass);margin-left:2px;animation:.65s step-end infinite cursorBlink;display:inline-block}.hero h1 em{color:var(--gold-deep);font-style:normal}.hero p.lede{color:#3a4a5e;max-width:480px;margin:0 0 34px;font-size:20px}.hero__actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.btn{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--ink);--mx:0px;--my:0px;transform:translate(var(--mx), var(--my));padding:14px 26px;font-size:13px;transition:transform .25s,background .25s,color .25s;display:inline-block}.btn--solid{background:var(--ink);color:var(--parchment)}.btn--solid:hover{transform:translateY(-2px) translate(var(--mx), var(--my));background:var(--brass-dim);border-color:var(--brass-dim)}.btn--ghost:hover{transform:translateY(-2px) translate(var(--mx), var(--my))}.hero__visual{aspect-ratio:4/5;position:relative;overflow:hidden}.hero__visual video,.hero__visual img{object-fit:cover;object-position:center 20%;width:100%;height:100%}.hero__visual-tag{font-family:var(--mono);letter-spacing:.05em;color:var(--parchment);z-index:2;text-transform:uppercase;background:#1120348c;padding:7px 11px;font-size:11px;position:absolute;bottom:18px;left:18px}.hero__photo-placeholder{text-align:center;border:1px dashed #d0d5de4d;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;height:100%;padding:32px;display:flex}.hero__photo-placeholder__icon{font-family:var(--display);color:#d0d5de66;font-size:40px;line-height:1}.hero__photo-placeholder__label{font-family:var(--mono);letter-spacing:.04em;color:#d0d5deb3;text-transform:uppercase;font-size:13px}.hero__photo-placeholder__hint{font-family:var(--mono);color:#d0d5de59;max-width:220px;font-size:10.5px}.hero__staff{margin-top:40px}@media (max-width:900px){.hero__grid{grid-template-columns:1fr;gap:40px}.hero__visual{display:none}.hero__identity{align-items:center;gap:18px;margin-bottom:22px;display:flex}.hero__identity .hero__eyebrow{margin-bottom:0}.hero__mobile-avatar{background:var(--parchment-2);border:1px solid var(--line);border-radius:50%;flex:none;width:clamp(84px,24vw,128px);height:clamp(84px,24vw,128px);display:block;overflow:hidden;box-shadow:0 6px 16px -6px #11203440}.hero__mobile-avatar img{object-fit:cover;object-position:center 20%;width:100%;height:100%}.hero__mobile-avatar__fallback{width:100%;height:100%;font-family:var(--display);color:var(--gray);justify-content:center;align-items:center;font-size:clamp(28px,8vw,40px);display:flex}}@media (max-width:480px){.hero__grid{padding:calc(var(--nav-h) + 12px) 20px 0;gap:28px}.hero p.lede{max-width:100%;font-size:16px}.hero__actions{flex-direction:column;align-items:stretch;gap:12px}.hero__actions .btn{text-align:center}}.section{padding:80px 0}.section--tight{padding:60px 0}.section--ink{background:var(--ink);color:var(--parchment)}.section--ink .line{background:#d0d5de24!important}.section__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:44px;display:flex}.section__tag{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:14px;font-size:12.5px;display:block}.section--ink .section__tag{color:var(--brass-bright)}#music .section__tag{color:var(--gold)}#contact .section__tag{color:var(--brass-bright)}.section__title{font-family:var(--display);letter-spacing:-.01em;max-width:640px;margin:0;font-size:clamp(30px,4vw,50px);font-weight:600;line-height:1.1}.section__note{font-family:var(--mono);color:var(--gray);text-align:right;max-width:280px;font-size:15px}.section--ink .section__note{color:#d0d5de8c}@media (max-width:700px){.section{padding:56px 0}.section__head{flex-direction:column;align-items:flex-start}.section__note{text-align:left}}@media (max-width:480px){.section{padding:44px 0}.section--tight{padding:36px 0}.section__note{max-width:100%}}#skills{overflow-x:clip}.translation{background:linear-gradient(to right, var(--parchment) 50%, var(--ink) 50%);margin-top:8px;padding:8px 0 64px;position:relative}.translation__seam{background:linear-gradient(to bottom, transparent, var(--gold) 12%, var(--gold) 88%, transparent);transform-origin:top;width:2px;margin-left:-1px;transition:transform 1.2s cubic-bezier(.22,.61,.36,1);position:absolute;top:0;bottom:0;left:50%;transform:scaleY(0);box-shadow:0 0 18px 2px #d4af5e73}.translation.show .translation__seam{transform:scaleY(1)}.translation__row{max-width:var(--maxw);box-sizing:border-box;--row:0;grid-template-columns:1fr 210px 1fr;margin:0 auto;padding:0 32px;display:grid}.translation__side{padding:34px 0;transition:background .3s}.translation__side--code{text-align:right;border-top:1px solid #1120341a;padding-right:8px}.translation__side--music{color:var(--parchment);border-top:1px solid #d0d5de1a;flex-direction:column;justify-content:center;padding-left:8px;display:flex}.translation__row--head .translation__side,.translation__row--foot .translation__side{border-top:none}.translation__row--foot .translation__side{padding:12px 0 0 8px}.translation__row--head .translation__side--music{justify-content:flex-start}.translation__side--code,.translation__side--music,.translation__theme-label{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.22,.61,.36,1),background .3s;transition-delay:calc(var(--row) * .12s + .2s)}.translation__side--code{transform:translate(-32px)}.translation__side--music{transform:translate(32px)}.translation__theme-label{transform:scale(.85)}.translation.show .translation__side--code,.translation.show .translation__side--music,.translation.show .translation__theme-label{opacity:1;transform:none}.translation__label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:12px;display:block}.translation__side--code .translation__label{color:var(--brass-dim)}.translation__side--music .translation__label{color:var(--gold)}.translation__intro{margin:0;font-size:15px;line-height:1.6}.translation__side--code .translation__intro{color:#3a4a5e;max-width:420px;margin-left:auto}.translation__side--music .translation__intro{color:#d0d5debf;max-width:420px}.translation__swap{background:var(--gold);width:38px;height:38px;color:var(--ink);z-index:1;border-radius:50%;place-items:center;margin:34px auto 0;font-size:18px;display:grid;position:relative;box-shadow:0 0 0 6px #d4af5e2e}.translation__theme{justify-content:center;align-items:center;padding:0 14px;display:flex}.translation__theme-label{z-index:1;background:var(--gold);max-width:180px;color:var(--ink);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;text-align:center;border-radius:999px;padding:9px 14px;font-size:11px;font-weight:600;line-height:1.35;position:relative;box-shadow:0 8px 20px -10px #6e501099}.translation__group+.translation__group{margin-top:22px}.translation__cat{font-family:var(--display);color:var(--ink);margin:0 0 10px;font-size:20px;font-weight:600}.translation__chips{flex-wrap:wrap;justify-content:flex-end;gap:7px;margin:0;padding:0;list-style:none;display:flex}.translation__music{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.translation__music li{grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;display:grid}.translation__thumb{object-fit:cover;filter:grayscale()contrast(1.1);border-radius:50%;grid-row:1/span 2;width:40px;height:40px;transition:filter .3s;box-shadow:0 0 0 1.5px #d4af5e99}.translation__music li:hover .translation__thumb{filter:none}.translation__music-name{font-family:var(--display);color:#fff;font-size:clamp(22px,2.2vw,28px);font-weight:600;line-height:1.15}.translation__music-from{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-size:11px}.translation__rest{color:#d4af5e73;font-size:34px}.translation__link{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-size:12px}.translation__link span{transition:transform .25s;display:inline-block}.translation__link:hover span{transform:translate(4px)}.translation__row:not(.translation__row--head):not(.translation__row--foot):hover .translation__side--code{background:linear-gradient(270deg,#ffffff73,#0000 85%)}.translation__row:not(.translation__row--head):not(.translation__row--foot):hover .translation__side--music{background:linear-gradient(90deg,#d4af5e17,#0000 85%)}.translation__row:hover .translation__theme-label{box-shadow:0 0 0 6px #d4af5e40,0 8px 24px -8px #6e5010b3}.chip-wrap{position:relative}.chip{color:var(--ink);font:inherit;font-family:var(--mono);cursor:default;background:#ffffff8c;border:1px solid #11203424;border-radius:999px;align-items:center;gap:8px;padding:7px 13px 7px 10px;font-size:13px;font-weight:500;line-height:1.2;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}button.chip{cursor:pointer}.chip--core{background:#fffc;border-color:#6e50108c;font-weight:700}button.chip:hover,.chip-wrap.is-active>.chip{border-color:var(--gold-deep);background:#fff;transform:translateY(-1px)}.chip__icon{object-fit:contain;filter:grayscale()contrast(1.2)brightness(.75);mix-blend-mode:multiply;width:18px;height:18px;transition:filter .25s}.chip:hover .chip__icon{filter:none}.chip__dot{background:var(--gold-deep);border-radius:50%;width:6px;height:6px;margin-left:-2px}.chip-pop{z-index:30;background:var(--ink);min-width:170px;color:var(--parchment);font-family:var(--mono);text-align:left;opacity:0;pointer-events:none;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;font-size:12px;transition:opacity .18s,transform .18s;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);box-shadow:0 12px 28px -10px #1120348c}.chip-pop:before{content:"";height:10px;position:absolute;bottom:-10px;left:0;right:0}.chip-pop:after{content:"";background:var(--ink);width:10px;height:10px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.chip-wrap:hover .chip-pop,.chip-wrap:focus-within .chip-pop,.chip-wrap.is-active .chip-pop{opacity:1;pointer-events:auto;transform:translate(-50%)}.chip-pop__label{letter-spacing:.1em;text-transform:uppercase;color:#d0d5de99;font-size:10px}.chip-pop a{color:var(--gold);white-space:nowrap}.chip-pop a:hover{text-underline-offset:3px;text-decoration:underline}.project-row.is-flash{animation:1.6s projectFlash}@keyframes projectFlash{0%,to{background:0 0}25%{background:#d4af5e29}}@media (max-width:820px){.translation{background:0 0;padding:0 0 40px}.translation__seam{display:none}.translation__row{grid-template-columns:1fr;margin-bottom:22px;padding:0 20px}.translation__theme{order:-1;justify-content:flex-start;padding:0 0 10px}.translation__theme-label{max-width:none}.translation__side{text-align:left;border:none;padding:22px 20px}.translation__side--code{background:#c9cfd9;border-radius:16px 16px 0 0;padding-right:20px}.translation__side--music{background:var(--ink);border-radius:0 0 16px 16px;padding-left:20px}.translation__side--code .translation__intro{margin-left:0}.translation__chips{justify-content:flex-start}.translation__row--head .translation__theme,.translation__row--foot .translation__side--code{display:none}.translation__row--foot .translation__side--music{border-radius:16px}.translation__side--code,.translation__side--music{transform:translateY(16px)}.chip-pop{left:0;transform:translateY(4px)}.chip-wrap:hover .chip-pop,.chip-wrap:focus-within .chip-pop,.chip-wrap.is-active .chip-pop{transform:translate(0)}.chip-pop:after{left:22px}}@media (prefers-reduced-motion:reduce){.translation__seam{transform:none}.translation__side--code,.translation__side--music,.translation__theme-label{opacity:1;transform:none}}.timeline{border-top:1px solid #d0d5de24;margin:8px 0 0;padding:0;list-style:none}.timeline__item{border-bottom:1px solid #d0d5de24}.timeline__row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:200px 1fr 28px;align-items:center;gap:24px;padding:26px 0;display:grid}.timeline__period{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#d0d5de99;font-size:12px}.timeline__heading{flex-direction:column;gap:4px;min-width:0;display:flex}.timeline__role{font-family:var(--display);color:var(--parchment);font-size:clamp(20px,2.2vw,26px);font-weight:600;line-height:1.2;transition:color .2s}.timeline__company{font-family:var(--mono);color:#8ea6c4;font-size:13px}.timeline__row:hover .timeline__role,.timeline__item.is-open .timeline__role{color:#fff}.timeline__toggle{border:1px solid #d0d5de4d;border-radius:50%;width:28px;height:28px;transition:border-color .2s,transform .3s;position:relative}.timeline__toggle:before,.timeline__toggle:after{content:"";background:var(--parchment);width:10px;height:1.5px;transition:transform .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline__toggle:after{transform:translate(-50%,-50%)rotate(90deg)}.timeline__item.is-open .timeline__toggle{border-color:var(--parchment)}.timeline__item.is-open .timeline__toggle:after{transform:translate(-50%,-50%)rotate(0)}.timeline__panel{grid-template-rows:0fr;transition:grid-template-rows .35s;display:grid}.timeline__item.is-open .timeline__panel{grid-template-rows:1fr}.timeline__panel-inner{padding-left:224px;overflow:hidden}.timeline__bullets{flex-direction:column;gap:10px;max-width:720px;margin:0;padding:0 0 28px;list-style:none;display:flex}.timeline__bullets li{color:#d0d5ded1;padding-left:20px;font-size:16px;line-height:1.6;position:relative}.timeline__bullets li:before{content:"";background:var(--gold);width:8px;height:2px;position:absolute;top:.72em;left:0}.timeline__desc{color:#d0d5ded1;max-width:720px;margin:0;padding-bottom:28px;font-size:16px;line-height:1.6}.timeline__tags{flex-wrap:wrap;gap:8px;padding-bottom:28px;display:flex}.timeline__tags span{font-family:var(--mono);color:#d0d5debf;border:1px solid #d0d5de33;padding:4px 10px;font-size:11px}@media (max-width:800px){.timeline__row{grid-template-columns:1fr 28px;gap:8px 16px;padding:22px 0}.timeline__period{grid-column:1/-1}.timeline__heading{grid-column:1}.timeline__toggle{grid-area:2/2}.timeline__panel-inner{padding-left:0}.timeline__bullets li,.timeline__desc{font-size:15px}}.project-rows{flex-direction:column;display:flex}.project-row{border-bottom:1px solid var(--line);align-items:center;gap:56px;padding:56px 0;display:flex}.project-row:first-child{padding-top:8px}.project-row:last-child{border-bottom:none}.project-row--reverse{flex-direction:row-reverse}.project-row__media{flex:46%;min-width:0;position:relative}.project-row__index{font-family:var(--mono);letter-spacing:.08em;color:var(--gray);z-index:1;font-size:12px;position:absolute;top:-14px;left:0}.project-row--reverse .project-row__index{left:auto;right:0}.project-row__frame{aspect-ratio:16/10;background:radial-gradient(120% 90% at 30% 20%,#ffffff8c,#0000 60%),linear-gradient(160deg,#c3cad6,#b3bccb);border-radius:14px;padding:clamp(18px,3vw,36px);transition:transform .4s;overflow:hidden}.project-row:hover .project-row__frame{transform:translateY(-4px)}.project-row__img{object-fit:contain;filter:drop-shadow(0 14px 24px #11203447);width:100%;height:100%;display:block}.project-row__img--placeholder{filter:none;border:1px dashed #11203440;border-radius:8px;justify-content:center;align-items:center;display:flex}.project-row__img--placeholder span{font-family:var(--display);color:var(--gray);font-size:36px}.project-row__body{flex:54%;min-width:0}.project-row h3{font-family:var(--display);margin:0 0 14px;font-size:26px;font-weight:600}.project-row p{color:#3a4a5e;max-width:52ch;margin:0 0 20px;font-size:16px;line-height:1.6}.project-row__tags{flex-wrap:wrap;gap:7px;margin-bottom:22px;display:flex}.project-row__tags span{font-family:var(--mono);border:1px solid var(--line);color:var(--ink);padding:4px 8px;font-size:10px}.project-row__links{gap:10px;display:flex}.project-row__links a{font-family:var(--mono);letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--ink);--mx:0px;--my:0px;transform:translate(var(--mx), var(--my));align-items:center;gap:7px;padding:8px 13px;font-size:12px;transition:transform .2s,background .2s,color .2s;display:inline-flex}.project-row__links a:hover{background:var(--ink);color:var(--parchment)}.project-row__link-icon{fill:currentColor;width:14px;height:14px}@media (max-width:800px){.project-row,.project-row--reverse{flex-direction:column;align-items:stretch;gap:24px;padding:36px 0}.project-row__index{margin-bottom:8px;display:block;position:static}.project-row--reverse .project-row__index{text-align:left}}.reel{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.reel[data-count="2"]{grid-template-columns:repeat(2,1fr)}.reel[data-count="2"] .reel__card{aspect-ratio:4/3}.reel[data-count="1"]{grid-template-columns:1fr}.reel[data-count="1"] .reel__card{aspect-ratio:16/9}.reel__card{aspect-ratio:3/4;background:var(--ink);position:relative;overflow:hidden}.reel__card video,.reel__card__poster{object-fit:cover;opacity:.85;width:100%;height:100%;transform:translateY(var(--parallax-y,0px)) scale(1.1);transition:transform .3s;display:block}.reel__card__poster--placeholder{background:#ffffff0a;border:1px dashed #fff3;justify-content:center;align-items:center;display:flex}.reel__play{fill:#ffffff8c;width:40px;height:40px}.reel__card__poster--placeholder span{font-family:var(--display);color:#fff6;font-size:36px}.reel__card__watch{z-index:2;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--parchment);background:#112034b3;border:1px solid #d0d5de40;border-radius:999px;padding:7px 12px;font-size:11px;transition:background .2s,border-color .2s;position:absolute;top:16px;right:16px}.reel__card__watch:hover{background:var(--ink);border-color:#d0d5de99}.reel__card__label{z-index:2;color:var(--parchment);font-family:var(--body);flex-direction:column;align-items:flex-start;gap:4px;font-size:16px;line-height:1.35;display:flex;position:absolute;bottom:18px;left:20px;right:20px}.reel__card__year{font-family:var(--mono);letter-spacing:.08em;color:var(--gold);order:-1;font-size:11px}.reel__card__label--link{text-underline-offset:4px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .2s}.reel__card__label--link:hover{-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.reel__card:after{content:"";pointer-events:none;background:linear-gradient(#0000 45%,#112034d9 100%);position:absolute;inset:0}@media (max-width:800px){.reel,.reel[data-count]{grid-template-columns:1fr 1fr}}@media (max-width:520px){.reel,.reel[data-count]{grid-template-columns:1fr}.reel[data-count] .reel__card{aspect-ratio:4/5}}.contact__grid{grid-template-columns:1fr 1fr;gap:64px;display:grid}.contact h2.big{font-family:var(--display);margin:0 0 28px;font-size:clamp(34px,5vw,58px);font-weight:600;line-height:1.04}.contact p.lede{color:#d0d5deb3;max-width:420px;margin-bottom:36px}.contact__links{flex-direction:column;gap:0;display:flex}.contact__links a{font-family:var(--mono);opacity:0;border-bottom:1px solid #d0d5de29;justify-content:space-between;align-items:center;padding:18px 0;font-size:15px;transition:padding-left .3s,color .3s,opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);display:flex;transform:translate(-24px)}.contact__links.is-visible a{opacity:1;transform:translate(0)}.contact__links.is-visible a:nth-child(2){transition-delay:.1s}.contact__links.is-visible a:nth-child(3){transition-delay:.2s}.contact__links.is-visible a:nth-child(4){transition-delay:.3s}.contact__links.is-visible a:hover{color:var(--brass-bright);padding-left:10px}.contact__links a .arrow{opacity:.45;transition:opacity .3s,transform .3s,color .3s}.contact__links.is-visible a:hover .arrow{opacity:1;color:var(--brass-bright);transform:translate(6px)}.contact__links.is-visible:hover a{transition:transform .3s,padding-left .3s,color .3s;transform:translate(0)}.contact__links.is-visible a:first-child:hover~a,.contact__links.is-visible a:nth-child(2):hover~a,.contact__links.is-visible a:nth-child(3):hover~a{transform:translate(2px)}.contact__clef{justify-content:center;align-items:center;display:flex}.contact__clef-svg{width:min(180px,35vw);height:auto;overflow:visible}.clef-char{font-family:var(--mono);fill:var(--parchment);text-anchor:middle;dominant-baseline:central;filter:drop-shadow(0 0 6px #2d568880);font-size:10px;font-weight:700;transition:opacity .3s}@media (max-width:800px){.contact__grid{grid-template-columns:1fr auto;align-items:center;gap:24px}.contact__clef-svg{width:min(150px,30vw)}}@media (max-width:480px){.contact__grid{gap:14px}.contact p.lede{max-width:100%}.contact__clef-svg{width:min(110px,28vw)}.footer{flex-direction:column;align-items:flex-start;gap:6px}}.section.contact{padding-bottom:0}.footer{font-family:var(--mono);color:#d0d5de91;letter-spacing:.04em;justify-content:space-between;align-items:center;padding:24px 0 20px;font-size:11.5px;display:flex}.footer a{-webkit-text-decoration:underline #d0d5de4d;text-decoration:underline #d0d5de4d}.piano-transition{height:200vh;position:relative}.piano-transition__stage{box-sizing:border-box;height:100vh;padding-top:var(--nav-h);background:var(--parchment);flex-direction:column;justify-content:center;align-items:center;gap:36px;display:flex;position:sticky;top:0}.piano-transition__stage:after{content:"";opacity:calc(var(--chord,0) * .9);pointer-events:none;background:radial-gradient(50% 32% at 50% 48%,#d4af5e73,#0000 70%);position:absolute;inset:0}.piano-transition__stage.is-chord [data-code="1"] .key-glow{box-shadow:inset 0 0 36px #d4af5ebf,0 0 26px #d4af5e8c}.piano-tagline{font-family:var(--display);color:var(--ink);text-align:center;margin:0;padding:0 20px;font-size:clamp(24px,3.2vw,40px);font-weight:600}.piano-notes{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:hidden}.piano-note{color:var(--gold-deep);font-size:20px;line-height:1;animation:1.6s cubic-bezier(.2,.6,.3,1) forwards pianoNoteRise;position:absolute;transform:translate(-50%,-100%)}@keyframes pianoNoteRise{0%{opacity:0;transform:translate(-50%, -100%) translateY(6px) scale(calc(var(--scale,1) * .7))}15%{opacity:.9}to{opacity:0;transform:translate(calc(-50% + var(--drift,0px)), -100%) translateY(calc(var(--rise,110px) * -1)) rotate(var(--rot,-8deg)) scale(var(--scale,1))}}.piano-mute{top:calc(var(--nav-h) + 18px);z-index:6;width:42px;height:42px;color:var(--gold-deep);cursor:pointer;background:#ffffff8c;border:1px solid #6e501066;border-radius:50%;place-items:center;transition:background .2s,color .2s,border-color .2s,transform .2s;display:grid;position:absolute;right:clamp(16px,3vw,36px)}.piano-mute:hover{background:#fff;transform:scale(1.06)}.piano-mute svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.piano-mute__speaker{fill:currentColor}.piano-mute.is-muted{color:var(--gray);border-color:var(--line)}.piano-cursor{color:var(--brass);animation:.65s step-end infinite cursorBlink}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.piano-keys-scroll{width:92%;max-width:1180px}.piano-keys{width:100%;height:250px;display:flex;position:relative}.piano-key--white{transform-origin:top;will-change:transform;background:linear-gradient(#d8dce4,#c6ccd6);border:1px solid #1120341f;border-top:3px solid #11203414;border-radius:0 0 6px 6px;flex:1;height:100%;transition:box-shadow 60ms ease-out;position:relative;overflow:hidden;box-shadow:0 6px 12px -4px #1120341f}.piano-key--white:after{content:"";background:linear-gradient(to bottom, #152638, var(--ink));border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .5s;position:absolute;inset:0}.piano-key--white[data-revealed="1"]:after{opacity:var(--morph,0)}.piano-key--white[data-pressed="1"]{box-shadow:0 2px 4px #1120342e}.piano-key--white .key-glow,.piano-key--black .key-glow{content:"";border-radius:inherit;pointer-events:none;opacity:var(--glow,0);will-change:opacity;z-index:1;position:absolute;inset:0;box-shadow:inset 0 0 40px #2d5688b3,0 0 20px #2d56884d}.piano-key--black{background:linear-gradient(to bottom, #152638, var(--ink));z-index:2;transform-origin:top;will-change:transform;border-radius:0 0 4px 4px;width:2.66667%;height:62%;transition:background 60ms ease-out,box-shadow 60ms ease-out;position:absolute;top:0;overflow:hidden;box-shadow:0 6px 8px -2px #0000004d,inset 0 -4px 6px #ffffff0a}.piano-key--black[data-pressed="1"]{background:linear-gradient(#1c3048,#0d1a2a);box-shadow:0 2px 3px #0000004d}.key-symbol{text-align:center;font-family:var(--mono);letter-spacing:.02em;color:var(--ink);opacity:0;pointer-events:none;z-index:3;font-size:15px;font-weight:700;transition:opacity .5s;position:absolute;bottom:16%;left:0;right:0}[data-dark="1"]>.key-symbol{color:#eef2f8;text-shadow:0 1px 6px #00000073}.key-symbol--black{color:var(--gold);text-shadow:0 1px 4px #00000080;font-size:12px;bottom:18%}[data-revealed="1"]>.key-symbol{opacity:1}@media (max-width:700px){.piano-keys-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;width:100%;max-width:none;padding:0 20px 14px;overflow:auto hidden}.piano-keys{flex:none;width:820px;height:170px}.key-symbol{font-size:13px}.key-symbol--black{font-size:11px}}.eq-transition{height:260vh;position:relative}.eq-transition__stage{background:var(--parchment);flex-direction:column;justify-content:center;align-items:center;gap:44px;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.eq-player{flex-direction:column;gap:24px;width:90%;max-width:1100px;display:flex}.eq-player__header{align-items:center;gap:16px;display:flex}.eq-player__icon{background:var(--ink);width:44px;height:44px;color:var(--parchment);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.eq-player__icon svg{fill:currentColor;width:18px;height:18px;margin-left:3px}.eq-player__info{flex-direction:column;gap:2px;display:flex}.eq-player__title{font-family:var(--display);color:var(--ink);font-size:20px;font-weight:600}.eq-player__artist{font-family:var(--mono);letter-spacing:.04em;color:#555c68;font-size:12px}.eq-bars{align-items:flex-end;gap:3px;height:200px;display:flex}.eq-bar{transform-origin:bottom;will-change:transform;border-radius:2px;flex:1;height:100%}.eq-player__timeline{align-items:center;gap:14px;display:flex}.eq-player__track{background:var(--line);border-radius:2px;flex:1;height:3px;overflow:hidden}.eq-player__fill{background:var(--brass);border-radius:2px;width:0%;height:100%}.eq-player__time{font-family:var(--mono);color:#555c68;text-align:right;flex-shrink:0;min-width:90px;font-size:11px}.eq-tagline{box-sizing:border-box;max-width:min(1000px,100%);font-family:var(--mono);letter-spacing:.02em;color:var(--ink);text-align:center;margin:0;padding:0 24px;font-size:clamp(18px,2.8vw,32px)}.eq-cursor{color:var(--brass);animation:.65s step-end infinite cursorBlink}@media (max-width:700px){.eq-bars{gap:2px}.eq-player__title{font-size:17px}}@media (max-width:480px){.eq-bars{height:130px}.eq-player__time{min-width:70px;font-size:10px}}.cm-divider{height:180vh;position:relative}.cm-divider__stage{background:var(--parchment);flex-wrap:wrap;place-content:center;align-items:center;gap:40px;height:100vh;padding:0 32px;display:flex;position:sticky;top:0}.cm-tagline{text-align:center;width:100%;font-family:var(--mono);letter-spacing:.02em;color:var(--ink);margin:0;font-size:clamp(18px,2.8vw,32px)}.cm-term{background:var(--ink);border-radius:10px;flex-shrink:0;width:300px;overflow:hidden;box-shadow:0 16px 40px -10px #11203459}.cm-term__bar{background:#ffffff0f;gap:7px;padding:11px 14px;display:flex}.cm-term__dot{background:#d0d5de26;border-radius:50%;width:11px;height:11px}.cm-term__dot:first-child{background:#ff5f57}.cm-term__dot:nth-child(2){background:#febc2e}.cm-term__dot:nth-child(3){background:#28c840}.cm-term__body{font-family:var(--mono);color:var(--parchment);min-height:90px;padding:18px 20px;font-size:14px;line-height:1.8}.cm-cursor{color:var(--brass);animation:.65s step-end infinite cursorBlink}.cm-staff{flex:1;max-width:600px;height:auto}.cm-note{opacity:0;transition:opacity .4s,transform .55s cubic-bezier(.34,1.56,.64,1)}.cm-note[data-show="1"]{opacity:1}@media (max-width:800px){.cm-divider__stage{flex-flow:column;gap:24px;padding:0 20px}.cm-term{width:100%;max-width:360px}.cm-staff{flex:none;width:100%;max-width:100%}}@media (max-width:480px){.cm-term__body{min-height:70px;padding:14px 16px;font-size:12px}}.scroll-clef{z-index:50;pointer-events:none;width:40px;height:60vh;transition:opacity .4s;position:fixed;top:50%;left:18px;transform:translateY(-50%)}.scroll-clef__svg{width:100%;height:100%;overflow:visible}.scroll-clef__dot{background:var(--line);border-radius:50%;width:8px;height:8px;transition:background .3s,box-shadow .3s;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.scroll-clef__dot[data-active="1"]{background:var(--brass);box-shadow:0 0 10px #2d568866}.scroll-clef__label{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--gray);white-space:nowrap;opacity:.5;font-size:9.5px;transition:opacity .3s,color .3s;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.scroll-clef__dot[data-active="1"] .scroll-clef__label{color:var(--brass-dim);opacity:1}.scroll-clef__icon{color:var(--gold-deep);-webkit-text-stroke:.2px currentColor;font-size:26px;line-height:1;transition:color .3s;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.scroll-clef__icon.is-on-dark{color:#e0be6e}.scroll-clef.is-on-dark .scroll-clef__svg path:first-child{stroke:#d0d5de38}.scroll-clef.is-on-dark .scroll-clef__svg path:last-child{stroke:var(--brass-bright)}.scroll-clef.is-on-dark .scroll-clef__dot{background:#d0d5de4d}.scroll-clef.is-on-dark .scroll-clef__dot[data-active="1"]{background:var(--gold);box-shadow:0 0 10px #d4af5e73}.scroll-clef.is-on-dark .scroll-clef__label{color:#d0d5decc}.scroll-clef.is-on-dark .scroll-clef__dot[data-active="1"] .scroll-clef__label{color:var(--gold)}@media (max-width:900px){.scroll-clef{display:none}}.floating-notes{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}.floating-note{color:var(--brass);will-change:transform;-webkit-user-select:none;user-select:none;animation:6s ease-in-out infinite noteBob;position:absolute}@keyframes noteBob{0%,to{translate:0}50%{translate:0 -14px}}@media (max-width:900px){.floating-notes{display:none}}.staff-divider{width:100%;padding:20px 32px;overflow:hidden}.staff-divider svg{width:100%;height:auto;max-height:64px;display:block}.staff-divider__line{stroke-dasharray:1000;stroke-dashoffset:1000px;transition:stroke-dashoffset 1.4s cubic-bezier(.22,.61,.36,1)}.staff-divider.show .staff-divider__line{stroke-dashoffset:0}.staff-note{opacity:0;transition:opacity .45s,transform .55s cubic-bezier(.34,1.56,.64,1);transform:translateY(10px)}.staff-divider.show .staff-note{opacity:1;transform:translateY(0)}.staff-divider.show .staff-note--1{transition-delay:.35s}.staff-divider.show .staff-note--2{transition-delay:.45s}.staff-divider.show .staff-note--3{transition-delay:.55s}.staff-divider.show .staff-note--4{transition-delay:.65s}.staff-divider.show .staff-note--5{transition-delay:.75s}.staff-divider.show .staff-note--6{transition-delay:.85s}.line{background:var(--line);border:none;height:1px;margin:0}
