@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/da8a9dd0d68e512b-s.22-vvcrakukp_.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:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/94b4a5dc1fe84361-s.2231v6bqe0i5w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/ff5be760267bb4bc-s.3qloo4qyhp26g.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/99596c30eb072d3c-s.2nm8vsxf84ypi.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:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/e5864b32625b6bc3-s.2xh5j9ig7blp7.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:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/e285ad1a914469f0-s.3ohuq16_8-qtv.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:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/47df9ba1c7236d3b-s.p.3__uj2j3k64hq.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:"Source Sans 3 Fallback";src:local(Arial);ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.0%;size-adjust:93.76%}.fv2-Wq_className{font-family:"Source Sans 3","Source Sans 3 Fallback";font-style:normal}.fv2-Wq_variable{--f-sans:"Source Sans 3", "Source Sans 3 Fallback"}
@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(../media/42b07301cbfb88de-s.3fm2o_8g5wbt2.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:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(../media/674d141a92451548-s.2t0y5ugd5ycxx.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:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c8c4ded07fff55c-s.p.0bh8ttrlmx6iv.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:VT323 Fallback;src:local(Arial);ascent-override:89.16%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:89.73%}.mFfbFW_className{font-family:VT323,VT323 Fallback;font-style:normal;font-weight:400}.mFfbFW_variable{--f-pixel:"VT323", "VT323 Fallback"}
@font-face{font-family:figment;src:url(../media/Figment_Light-s.p.1ewnxa7kl4d5n.woff2)format("woff2");font-display:swap;font-weight:300}@font-face{font-family:figment;src:url(../media/Figment_Regular-s.p.1piznz20kzwwq.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:figment;src:url(../media/Figment_Medium-s.p.0qcvozmd-ngv1.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:figment;src:url(../media/Figment_SemiBold-s.p.0jgj4ufi4asjx.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:figment;src:url(../media/Figment_Bold-s.p.1glt9g14_x0f8.woff2)format("woff2");font-display:swap;font-weight:700}@font-face{font-family:figment Fallback;src:local(Times New Roman);ascent-override:109.88%;descent-override:39.03%;line-gap-override:0.0%;size-adjust:80.59%}.gVKE0G_className{font-family:figment,figment Fallback}.gVKE0G_variable{--f-display:"figment", "figment Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#14301f;--peek:clamp(84px,16vh,150px)}html{scroll-snap-type:y mandatory;-webkit-text-size-adjust:100%}a,button{-webkit-tap-highlight-color:transparent}html,body{background:var(--ink);color:#fff;font-family:var(--f-sans),system-ui,sans-serif;margin:0}::selection{color:#000;background:#fff}html.is-light ::selection{color:#fff;background:#141414}.hero{scroll-snap-align:start;height:100dvh;position:relative}.hero video,.hero img{width:100%;height:var(--hero-h,100dvh);object-fit:cover;z-index:0;position:fixed;top:0;left:0}.hero img{display:none}@media (prefers-reduced-motion:reduce){.hero video{display:none}.hero img{display:block}}.m{aspect-ratio:200/152;background:url(/logo/mason-m-sprite.png) 0 0/3200% 100% no-repeat;animation:2.56s steps(32,jump-none) infinite spin}@keyframes spin{0%{background-position-x:0%}to{background-position-x:100%}}@media (prefers-reduced-motion:reduce){.m{animation:none}}.logo{z-index:10;width:clamp(72px,9vw,120px);display:block;position:fixed;top:clamp(14px,2.5vw,28px);left:clamp(14px,2.5vw,28px)}.logo .m{transition:transform .35s cubic-bezier(.2,1.4,.4,1),filter .3s}html.is-light .logo .m{filter:invert()}.logo:hover .m{transform:scale(1.18)}.intro{z-index:20;pointer-events:none;background:var(--ink);place-items:center;transition:background .45s .2s,opacity 1.1s;display:none;position:fixed;inset:0}html.is-intro,html.is-intro body{overscroll-behavior:none;overflow:hidden}html.is-intro .intro{display:grid}html.is-reveal .intro{background:#fff}html.is-out .intro{opacity:0}.intro .spin{width:min(50vw,300px);transition:transform .55s cubic-bezier(.65,0,.35,1),opacity .35s .3s,filter .55s}.intro .spin.live{pointer-events:auto;cursor:pointer;transition:transform .35s cubic-bezier(.2,1.4,.4,1)}.intro .spin.live:hover{transform:scale(1.15)}html.is-reveal .intro .spin{opacity:0;filter:blur(8px);transform:scale(3.5)}html.is-intro .logo,html.is-intro .sound,html.is-intro .jump{opacity:0;pointer-events:none}html.is-out .logo,html.is-out .sound,html.is-out .jump{opacity:1;transition:opacity .6s .5s}.intro .enter{text-align:center;font-family:var(--f-pixel),ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin:0;font-size:22px;line-height:1;position:absolute;bottom:clamp(24px,6vh,56px);left:0;right:0}.intro .enter span{vertical-align:-.15em;background:#fff;width:.6em;height:1em;margin-left:.4em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}html.is-reveal .intro .enter{opacity:0}.sound{z-index:10;color:#fff;opacity:.75;cursor:pointer;background:0 0;border:0;place-items:center;width:48px;height:48px;margin:-8px;padding:0;display:grid;position:fixed;top:clamp(14px,2.5vw,28px);right:clamp(14px,2.5vw,28px)}.sound svg{display:block}.sound:hover{opacity:1}html.is-light .sound{color:#111}.sound{transition:color .3s}.jump{z-index:10;gap:4px;margin:-8px;display:flex;position:fixed;top:clamp(14px,2.5vw,28px);right:clamp(14px,2.5vw,28px)}.sound+.jump{right:calc(clamp(14px,2.5vw,28px) + 48px)}.jump a{color:#fff;opacity:.75;place-items:center;width:48px;height:48px;transition:color .3s,opacity .2s;display:grid}.jump a:hover{opacity:1}.jump svg{display:block}html.is-light .jump a{color:#111}.cue{z-index:10;color:#fff;opacity:0;pointer-events:none;place-items:center;width:64px;height:64px;margin-left:-32px;transition:opacity .9s;display:grid;position:fixed;bottom:clamp(14px,3vh,32px);left:50%}.cue svg{filter:drop-shadow(0 2px #0000008c)drop-shadow(0 0 10px #00000080);width:54px;height:54px;animation:1.4s cubic-bezier(.3,0,.2,1) infinite bounce;display:block}html.is-cue .cue{opacity:1;pointer-events:auto}.cue{animation:1.4s cubic-bezier(.3,0,.2,1) infinite cue}@keyframes cue{0%,to{transform:translateY(0)}35%{transform:translateY(-10px)}55%{transform:translateY(0)}70%{transform:translateY(-4px)}85%{transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}35%{transform:translateY(9px)}55%{transform:translateY(0)}70%{transform:translateY(4px)}85%{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.cue,.cue svg{animation:none}}#projects{z-index:1;scroll-snap-align:start;position:relative}#projects.peek{animation:2s both peek}@keyframes peek{0%{animation-timing-function:cubic-bezier(.2,.75,.35,1);transform:none}20%{transform:translateY(calc(-1*var(--peek)));animation-timing-function:cubic-bezier(.65,0,.8,.25)}40%{animation-timing-function:cubic-bezier(.2,.75,.35,1);transform:none}60%{transform:translateY(calc(-1*var(--peek)));animation-timing-function:cubic-bezier(.65,0,.8,.25)}80%{animation-timing-function:cubic-bezier(.2,.75,.35,1);transform:none}90%{transform:translateY(calc(-.1*var(--peek)));animation-timing-function:cubic-bezier(.65,0,.8,.25)}to{transform:none}}@media (max-width:768px),(hover:none){html{scroll-snap-type:y proximity}.logo{width:64px;transition:opacity .3s}html.is-light .logo{opacity:0;pointer-events:none}html:has(.project) .logo{opacity:1;pointer-events:auto;position:absolute}html.is-light .sound{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:1;background:#ffffffc7;border-radius:50%;width:40px;height:40px;margin:-4px;box-shadow:0 1px 6px #0000001f}html.is-light .sound svg{width:24px;height:24px}.jump{gap:8px;margin:-4px}.sound+.jump{right:calc(clamp(14px,2.5vw,28px) + 48px)}.jump a{width:40px;height:40px}.jump svg{width:24px;height:24px}html.is-light .jump a{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:1;background:#ffffffc7;border-radius:50%;box-shadow:0 1px 6px #0000001f}}.socials{color:#141414;border-top:1px solid #0000001a;justify-items:center;gap:14px;max-width:720px;margin:clamp(56px,8vw,96px) auto 0;padding-top:28px;display:grid}.socials nav{gap:6px;display:flex}.socials a{width:54px;height:54px;color:inherit;opacity:.55;border-radius:50%;place-items:center;transition:opacity .2s,transform .35s cubic-bezier(.2,1.4,.4,1),background .2s;display:grid}.socials a:hover{opacity:1;background:#0000000f;transform:translateY(-3px)}
