@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.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:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.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:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.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:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.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:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.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:Hanken Grotesk Fallback;src:local(Arial);ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.0%;size-adjust:100.94%}.hanken_grotesk_632b941d-module__txYtMG__className{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.hanken_grotesk_632b941d-module__txYtMG__variable{--font-header-fallback:"Hanken Grotesk", "Hanken Grotesk Fallback"}
@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6632a144c419935f-s.08di4g7n39o46.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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/7b27d9904b50e540-s.3szkwhi_rfrst.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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d38f3bca7db33566-s.p.0op912u62qdhl.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:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_20acfca3-module__h0sYVG__className{font-family:Newsreader,Newsreader Fallback;font-style:normal}.newsreader_20acfca3-module__h0sYVG__variable{--font-prose:"Newsreader", "Newsreader Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_a5f384b7-module__DAZUjG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_a5f384b7-module__DAZUjG__variable{--font-body:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/mona-sans-vietnamese-wght-normal.2j7_g26kl-xqx.woff2)format("woff2-variations");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:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/mona-sans-latin-ext-wght-normal.2zmxpg4rtwx49.woff2)format("woff2-variations");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:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/mona-sans-latin-wght-normal.2k8ypl04_mg1v.woff2)format("woff2-variations");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}@layer base{:focus-visible{outline:var(--border-focus-ring);outline-offset:var(--space-focus-ring-offset);transition:outline-offset var(--motion-dur-200) var(--motion-ease-standard)}@media (prefers-reduced-motion:reduce){:focus-visible{transition:none}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}*,:before,:after{box-sizing:border-box;font-variant-numeric:tabular-nums;font-feature-settings:"kern","liga","clig","calt"}html,body{margin:0;padding:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--colour-primary) var(--surface-level-1);accent-color:var(--colour-primary);scroll-padding-block-start:var(--header-offset,0);font-size:100%}body{background-color:var(--surface-level-0);color:var(--colour-text);transition:background-color var(--motion-dur-200) var(--motion-ease-standard),color var(--motion-dur-200) var(--motion-ease-standard);will-change:background-color,color;min-block-size:100vh;font-family:var(--font-family-header);font-size:var(--typography-size-body);line-height:var(--typography-line-height-body);letter-spacing:var(--typography-letter-spacing-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;flex-direction:column;display:flex}main{flex-direction:column;flex:1 0 auto;display:flex}@supports (font-size:clamp(1rem, 1vw, 2rem)){body{font-size:var(--typography-size-body)}}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}:where(a:not([class])){color:var(--colour-primary);transition:color var(--motion-dur-200) var(--motion-ease-standard),text-decoration-color var(--motion-dur-200) var(--motion-ease-standard);text-decoration:underline}:where(a:not([class])):visited{color:var(--colour-primary)}:where(a:not([class])):focus-visible{text-decoration-color:currentColor}@media (hover:hover) and (pointer:fine){:where(a:not([class])):hover{color:var(--colour-primary-hover);text-decoration-color:currentColor}:where(a:not([class])):active{color:var(--colour-primary-active);text-decoration-color:currentColor}}a{justify-content:center;align-items:center;display:inline-flex}.footnotes a{text-decoration:underline}a[target=_blank]:not(.logo-link,[href$=\.pdf],[data-no-ext-icon]):after,button[target=_blank]:not(.logo-link,[href$=\.pdf],[data-no-ext-icon]):after{content:"";inline-size:var(--size-icon-md);block-size:var(--size-icon-md);background-color:currentColor;margin-inline-start:var(--space-scale-050);display:inline-block;-webkit-mask:url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27currentColor%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20stroke%3D%27none%27%20d%3D%27M0%200h24v24H0z%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M12%206h-6a2%202%200%200%200%20-2%202v10a2%202%200%200%200%202%202h10a2%202%200%200%200%202%20-2v-6%27/%3E%3Cpath%20d%3D%27M11%2013l9%20-9%27/%3E%3Cpath%20d%3D%27M15%204h5v5%27/%3E%3C/svg%3E) 50%/contain no-repeat;mask:url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27currentColor%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20stroke%3D%27none%27%20d%3D%27M0%200h24v24H0z%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M12%206h-6a2%202%200%200%200%20-2%202v10a2%202%200%200%200%202%202h10a2%202%200%200%200%202%20-2v-6%27/%3E%3Cpath%20d%3D%27M11%2013l9%20-9%27/%3E%3Cpath%20d%3D%27M15%204h5v5%27/%3E%3C/svg%3E) 50%/contain no-repeat}a[href$=\.pdf]:not(.logo-link):after,button[href$=\.pdf]:not(.logo-link):after{content:"";inline-size:var(--size-icon-md);block-size:var(--size-icon-md);background-color:currentColor;margin-inline-start:var(--space-scale-050);display:inline-block;-webkit-mask:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M4%2017v2a2%202%200%200%200%202%202h12a2%202%200%200%200%202%20-2v-2%22%20%2F%3E%3Cpath%20d%3D%22M7%2011l5%205l5%20-5%22%20%2F%3E%3Cpath%20d%3D%22M12%204l0%2012%22%20%2F%3E%3C%2Fsvg%3E) 50%/contain no-repeat;mask:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M4%2017v2a2%202%200%200%200%202%202h12a2%202%200%200%200%202%20-2v-2%22%20%2F%3E%3Cpath%20d%3D%22M7%2011l5%205l5%20-5%22%20%2F%3E%3Cpath%20d%3D%22M12%204l0%2012%22%20%2F%3E%3C%2Fsvg%3E) 50%/contain no-repeat}section{padding-block:var(--space-scale-400)}.visually-hidden{width:var(--border-width-s);height:var(--border-width-s);margin:calc(-1*var(--border-width-s));clip-path:inset(50%);white-space:nowrap;border:0;padding:0;position:absolute;overflow:hidden}.skip-link{padding:var(--space-scale-050);background:var(--colour-primary);color:var(--colour-on-primary);z-index:var(--z-3);position:absolute;inset-block-start:0;inset-inline-start:0;transform:translateY(-100%)}.skip-link:focus{transform:translateY(0)}summary{cursor:pointer;padding-block:var(--space-scale-050);padding-inline:var(--space-scale-075);min-block-size:var(--size-tap-min);border-radius:var(--radius-s);font-family:var(--typography-font-family-header);align-items:center;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"▸";transition:transform var(--motion-dur-200) var(--motion-ease-standard);margin-inline-start:var(--space-scale-050)}details[open] summary:after{transform:rotate(var(--motion-rotate-open))}code{background:var(--surface-level-2);border-radius:var(--radius-s);padding:var(--space-scale-025);padding-inline:var(--space-scale-050);font-family:var(--typography-font-family-body);font-size:var(--typography-size-small);line-height:var(--typography-line-height-code);white-space:nowrap}pre{font-family:var(--typography-font-family-body);line-height:var(--typography-line-height-code);padding:var(--space-scale-100);border-radius:var(--radius-m);overflow:auto}@media (hover:hover) and (pointer:fine){summary:hover{background:var(--surface-level-1-hover)}summary:active{background:var(--surface-level-1-active)}}:target{outline:var(--border-focus-ring);outline-offset:var(--space-focus-ring-offset);background:var(--surface-level-0)}::selection{background:var(--colour-primary);color:var(--colour-on-primary)}@supports selector(::-webkit-scrollbar){html::-webkit-scrollbar{width:var(--space-scale-050);height:var(--space-scale-050)}html::-webkit-scrollbar-track{background:var(--surface-level-1)}html::-webkit-scrollbar-thumb{background:var(--colour-border);border-radius:var(--radius-m);transition:background var(--motion-dur-200) var(--motion-ease-standard)}html::-webkit-scrollbar-thumb:hover{background:var(--colour-primary)}}[data-reveal]{opacity:0;transform:translateY(var(--size-reveal-translate));transition:opacity var(--motion-dur-500) var(--motion-ease-out),transform var(--motion-dur-500) var(--motion-ease-out)}[data-reveal][data-visible]{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transition:none;transform:none}}@media print{body{background:var(--surface-level-0);color:var(--colour-text)}nav,.cta-group,button,a[href^=mailto],.skip-link{display:none!important}a:after{content:" (" attr(href) ")"}}.prose{inline-size:100%;max-inline-size:var(--size-measure-prose)}.prose :is(h1,h2)+*,.prose :is(h3,h4)+*{--flow-space:var(--space-scale-075)}.prose.flow>*+*{margin-block-start:var(--flow-space,var(--space-scale-100))}.prose p+:is(h2,h3){--flow-space:var(--space-scale-300)}.prose :is(ul,ol,blockquote,pre,table,figure){margin-block:var(--space-scale-150) var(--space-scale-150)}h1,h2,h3,h4,h5,h6{font-family:var(--typography-font-family-header);letter-spacing:var(--typography-letter-spacing-body);margin-block:0}h1{font-size:var(--typography-size-h1);line-height:var(--typography-line-height-heading-lg);font-weight:var(--typography-font-weight-700);margin-block:var(--space-scale-300) var(--space-scale-075)}h2{font-size:var(--typography-size-h2);line-height:var(--typography-line-height-heading-lg);font-weight:var(--typography-font-weight-600);margin-block:var(--space-scale-200) var(--space-scale-075)}h3{font-size:var(--typography-size-h3);line-height:var(--typography-line-height-heading-lg);font-weight:var(--typography-font-weight-600);margin-block:var(--space-scale-200) var(--space-scale-050)}h4{font-size:var(--typography-size-h4);line-height:var(--typography-line-height-heading-sm);font-weight:var(--typography-font-weight-600);margin-block:var(--space-scale-150) var(--space-scale-050)}h5{font-size:var(--typography-size-h5);line-height:var(--typography-line-height-heading-sm);font-weight:var(--typography-font-weight-500);margin-block:var(--space-scale-150) var(--space-scale-050)}h6{font-size:var(--typography-size-h6);line-height:var(--typography-line-height-heading-sm);font-weight:var(--typography-font-weight-500);letter-spacing:var(--typography-letter-spacing-caps);margin-block:var(--space-scale-150) var(--space-scale-050)}p{margin:0}:is(p:has(+h1),p:has(+h2),p:has(+h3),p:has(+h4),p:has(+h5),p:has(+h6)){margin-block-end:var(--space-scale-150)}.text-small{font-size:var(--typography-size-small);letter-spacing:var(--typography-letter-spacing-small)}.text-lead{font-size:var(--typography-size-lead);line-height:var(--typography-line-height-body)}ul,ol{margin-block:0 var(--space-scale-100);padding-inline-start:calc(var(--space-scale-150) - var(--space-scale-025))}.prose li+li{margin-block-start:var(--space-scale-050)}blockquote{border-inline-start:var(--border-width-m) solid currentcolor;margin:0;padding-inline-start:var(--space-scale-150)}blockquote>:last-child{margin-block-end:0}table{border-collapse:collapse;inline-size:100%}th,td{padding:var(--space-scale-075) var(--space-scale-100);text-align:start}figure{margin:0}figcaption{font-size:var(--typography-size-small);margin-block-start:var(--space-scale-050)}code[class*=language-],pre[class*=language-]{color:var(--colour-text);text-shadow:none;font-family:var(--typography-font-family-body);font-size:var(--typography-size-small);line-height:var(--typography-line-height-code);tab-size:2;-webkit-hyphens:none;hyphens:none;background:0 0}pre[class*=language-]{background:var(--surface-level-2);padding:var(--space-scale-100);border-radius:var(--radius-m);margin:0;overflow:auto}pre[class*=language-]>code{white-space:pre;color:inherit;background:0 0;border-radius:0;margin:0;padding:0}:not(pre)>code[class*=language-]{padding:var(--space-scale-025) var(--space-scale-050);border-radius:var(--radius-s);background:var(--surface-level-2);white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--colour-text-subtle)}.token.punctuation{color:var(--colour-text)}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:var(--colour-destructive)}.token.boolean,.token.number{color:var(--colour-warning)}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:var(--colour-success)}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:var(--colour-info)}.token.atrule,.token.attr-value,.token.function,.token.class-name,.token.keyword{color:var(--colour-primary)}.token.regex,.token.important{color:var(--colour-info)}.token.important,.token.bold{font-weight:var(--typography-font-weight-600)}.token.italic{font-style:italic}.token.entity{cursor:help}}@layer tokens{:root{--motion-ease-standard:cubic-bezier(.2, .8, .2, 1);--motion-ease-emphasized:cubic-bezier(.2, .9, .1, 1);--motion-ease-infinite:infinite;--motion-ease-link:ease;--motion-ease-out:ease-out;--motion-dur-120:.12s;--motion-dur-200:.2s;--motion-dur-220:.22s;--motion-dur-320:.32s;--motion-dur-500:.5s;--motion-dur-1000:1s;--motion-scale-hover:1.05;--motion-rotate-accent:45deg;--motion-rotate-hover-logo:-3deg;--motion-rotate-open:90deg;--filter-backdrop-saturate:160%;--filter-backdrop-blur:12px;--space-scale-0:0;--space-scale-100:1rem;--space-scale-125:1.25rem;--space-scale-150:1.5rem;--space-scale-175:1.75rem;--space-scale-200:2rem;--space-scale-300:3rem;--space-scale-400:4rem;--space-scale-025:.25rem;--space-scale-050:.5rem;--space-scale-075:.75rem;--space-scale-087:.875rem;--space-responsive-hero-y:clamp(56px, 9vw, 104px);--space-responsive-section-y:clamp(40px, 6vw, 72px);--space-responsive-section-y-end:clamp(56px, 8vw, 96px);--space-responsive-page-y:clamp(48px, 7vw, 88px);--space-responsive-footer-y:clamp(48px, 6vw, 72px);--space-responsive-footer-gap:clamp(40px, 6vw, 80px);--space-responsive-hero-pad:clamp(28px, 5vw, 56px);--space-responsive-card-pad:clamp(24px, 3vw, 32px);--space-responsive-project-pad:clamp(22px, 2.6vw, 28px);--space-responsive-gap-xl:clamp(32px, 5vw, 64px);--space-responsive-gap-lg:clamp(24px, 3vw, 40px);--space-responsive-gap-now:clamp(20px, 4vw, 56px);--space-responsive-gap-sm:clamp(20px, 3vw, 36px);--space-responsive-nav-gap:clamp(16px, 3vw, 30px);--space-responsive-article-back-mb:clamp(28px, 4vw, 48px);--space-responsive-article-header-mb:clamp(32px, 4vw, 48px);--size-tap-min:44px;--size-theme-toggle:36px;--size-reveal-translate:10px;--size-card-hover-lift:2px;--size-underline-offset:2px;--size-logo-mark:23px;--size-accent-line-w:49px;--size-accent-line-w-sm:43px;--size-accent-line-h:1.5px;--size-clip-corner:34px;--size-clip-corner-sm:30px;--size-clip-corner-offset:17px;--size-clip-corner-sm-offset:15px;--size-accent-line-translate-y:16px;--size-accent-line-translate-y-sm:14px;--size-hero-max:880px;--size-about-max:980px;--size-card-min-h:200px;--size-card-min-h-project:188px;--size-grid-min-article:300px;--size-grid-min-project:280px;--size-grid-min-about:260px;--size-grid-min-footer:240px;--size-col-now-label:200px;--size-icon-xs:.75rem;--size-icon-sm:1rem;--size-icon-md:1.25rem;--size-icon-lg:1.5rem;--size-icon-xl:3rem;--size-measure-hero-heading:18ch;--size-measure-hero-intro:54ch;--size-measure-compact:36ch;--size-measure-content:62ch;--size-measure-content-wide:60ch;--size-measure-prose:65ch;--size-measure-wide:70ch;--opacity-0:0;--opacity-10:.1;--opacity-20:.2;--opacity-30:.3;--opacity-40:.4;--opacity-50:.5;--opacity-60:.6;--opacity-70:.7;--opacity-80:.8;--opacity-90:.9;--opacity-100:1;--opacity-header-bg:82%;--radius-xs:2px;--radius-s:4px;--radius-base:6px;--radius-m:8px;--radius-l:12px;--radius-xl:24px;--radius-2xl:36px;--border-width-s:1px;--border-width-m:2px;--border-width-l:4px;--border-focus-ring:var(--border-width-m) solid var(--colour-primary);--shadow-elev-1:0 1px 2px #0000000d;--shadow-elev-2:0 2px 4px #00000014, 0 1px 2px #0000000d;--shadow-elev-3:0 4px 8px #0000001f, 0 2px 4px #00000014;--font-family-header:"Mona Sans", var(--font-header-fallback), ui-sans-serif, system-ui, -apple-system, sans-serif;--font-family-prose:var(--font-prose), Georgia, "Times New Roman", serif;--font-family-body:var(--font-body), "SF Mono", Menlo, ui-monospace, monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--typography-font-family-header:"Mona Sans", var(--font-header-fallback), ui-sans-serif, system-ui, -apple-system, sans-serif;--typography-font-family-prose:var(--font-prose), Georgia, "Times New Roman", serif;--typography-font-family-body:var(--font-body), "SF Mono", Menlo, ui-monospace, monospace;--typography-font-weight-100:100;--typography-font-weight-200:200;--typography-font-weight-300:300;--typography-font-weight-400:400;--typography-font-weight-500:500;--typography-font-weight-600:600;--typography-font-weight-700:700;--typography-font-weight-800:800;--typography-font-weight-900:900;--typography-font-opsz:14;--typography-font-slnt:0;--typography-size-100:clamp(.875rem, .84rem + .2vw, .95rem);--typography-size-200:clamp(1rem, .96rem + .3vw, 1.1rem);--typography-size-300:clamp(1.25rem, 1.15rem + .6vw, 1.5rem);--typography-size-400:clamp(1.5rem, 1.3rem + 1vw, 2rem);--typography-size-500:clamp(2rem, 1.7rem + 1.5vw, 2.5rem);--typography-size-600:clamp(2.5rem, 2.1rem + 2vw, 3rem);--typography-size-700:clamp(3rem, 2.5rem + 2.5vw, 3.5rem);--typography-size-mono-xs:.75rem;--typography-size-mono-sm:.8125rem;--typography-size-nav:.9375rem;--typography-size-base:1rem;--typography-size-prose-sm:1.0625rem;--typography-size-prose:1.1875rem;--typography-size-prose-lg:1.25rem;--typography-size-hero:clamp(2.25rem, 5.4vw, 3.5rem);--typography-size-page-title:clamp(2rem, 4.4vw, 3rem);--typography-size-page-title-sm:clamp(1.75rem, 3.6vw, 2.5rem);--typography-size-writing-title:clamp(2rem, 4.4vw, 2.75rem);--typography-size-page-desc:1.125rem;--typography-size-mono-meta:.78125rem;--typography-size-section-title:clamp(1.5rem, 3vw, 1.75rem);--typography-size-article-title:clamp(1.25rem, 2.4vw, 1.5rem);--typography-size-article-h2:clamp(1.375rem, 2.6vw, 1.625rem);--typography-size-hero-intro:clamp(1.0625rem, 2vw, 1.25rem);--typography-size-now-text:clamp(1.0625rem, 1.8vw, 1.25rem);--typography-size-mono-base:.875rem;--typography-size-symbol:.95rem;--typography-size-body:clamp(1rem, calc(.96rem + .35vw), 1.025rem);--typography-size-small:clamp(.875rem, calc(.84rem + .2vw), .95rem);--typography-size-lead:clamp(1.125rem, calc(1.08rem + .4vw), 1.35rem);--typography-size-h6:clamp(.92rem, calc(.88rem + .4vw), 1.04rem);--typography-size-h5:clamp(1.06rem, calc(1rem + .48vw), 1.28rem);--typography-size-h4:clamp(1.28rem, calc(1.16rem + .64vw), 1.44rem);--typography-size-h3:clamp(1.6rem, calc(1.44rem + .8vw), 1.8rem);--typography-size-h2:clamp(2rem, calc(1.76rem + .96vw), 2.2rem);--typography-size-h1:clamp(3rem, calc(2.6rem + 1.5vw), 3.375rem);--typography-line-tighter:1;--typography-line-tight:1.2;--typography-line-normal:1.5;--typography-line-wide:1.8;--typography-line-height-flat:1;--typography-line-height-hero:1.05;--typography-line-height-heading:1.12;--typography-line-height-title:1.3;--typography-line-height-contact:1.5;--typography-line-height-desc:1.55;--typography-line-height-body:1.6;--typography-line-height-relaxed:1.7;--typography-line-height-prose:1.75;--typography-line-height-heading-lg:1.2;--typography-line-height-heading-sm:1.25;--typography-line-height-display:1.1;--typography-line-height-blockquote:1.45;--typography-line-height-code:1.6;--typography-tracking-tighter:-.05em;--typography-tracking-tight:-.02em;--typography-tracking-normal:0;--typography-tracking-wide:.05em;--typography-letter-spacing-body:0;--typography-letter-spacing-snug:-.01em;--typography-letter-spacing-tight:-.015em;--typography-letter-spacing-tighter:-.02em;--typography-letter-spacing-wide:.02em;--typography-letter-spacing-meta:.04em;--typography-letter-spacing-caps-sm:.12em;--typography-letter-spacing-caps:.14em;--typography-measure:70ch;--layout-max-w-s:40rem;--layout-max-w-m:60rem;--layout-max-w-l:70rem;--layout-max-w-article:45rem;--breakpoint-xs:30rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--z-1:10;--z-2:100;--z-3:1000;--z-neg-1:-10;--space-focus-ring-offset:2px;--colour-logo-blue:#00af9f;--colour-logo-green:#92ca6b;--colour-logo-yellow:#e9ba4d;--surface-level-0:#f8f8f6;--surface-level-1:#fff;--surface-level-2:#f2f2ef;--surface-level-1-hover:color-mix(in srgb, var(--surface-level-1) 90%, var(--colour-text) 10%);--surface-level-1-active:color-mix(in srgb, var(--surface-level-1) 80%, var(--colour-text) 20%);--colour-text:#16161a;--colour-text-subtle:#5b5b66;--colour-border:#e6e6e2;--colour-muted:#f2f2ef;--colour-primary:#1f4e8c;--colour-primary-strong:#173b6b;--colour-primary-hover:color-mix(in srgb, var(--colour-primary) 90%, var(--colour-on-primary) 10%);--colour-primary-active:color-mix(in srgb, var(--colour-primary) 80%, var(--colour-on-primary) 20%);--colour-on-primary:#fff;--colour-gold:#c8a24a;--colour-success:#2d7a4f;--colour-warning:#c8a24a;--colour-destructive:#c0392b;--colour-info:#1f4e8c;--colour-neutral:#9a9aa5}@supports (color:lab(0% 0 0)){:root{--colour-logo-blue:lab(64.0223% -41.8872 -3.04058);--colour-logo-green:lab(75.8432% -31.2641 41.0581);--colour-logo-yellow:lab(78.3337% 9.31737 59.876)}}@media (prefers-color-scheme:dark){:root:not(.light){--surface-level-0:#0c0d10;--surface-level-1:#15161a;--surface-level-2:#1e1f25;--surface-level-1-hover:color-mix(in srgb, var(--surface-level-1) 90%, var(--colour-text) 10%);--surface-level-1-active:color-mix(in srgb, var(--surface-level-1) 80%, var(--colour-text) 20%);--colour-text:#ececef;--colour-text-subtle:#9a9aa5;--colour-border:#26272d;--colour-muted:#1e1f25;--colour-primary:#7aa5e8;--colour-primary-strong:#93b6ee;--colour-primary-hover:color-mix(in srgb, var(--colour-primary) 90%, var(--colour-on-primary) 10%);--colour-primary-active:color-mix(in srgb, var(--colour-primary) 80%, var(--colour-on-primary) 20%);--colour-on-primary:#0c0d10;--colour-gold:#d9b968;--colour-success:#4caf7d;--colour-warning:#d9b968;--colour-destructive:#e57373;--colour-info:#7aa5e8;--colour-neutral:#5b5b66}}:root.dark{--surface-level-0:#0c0d10;--surface-level-1:#15161a;--surface-level-2:#1e1f25;--surface-level-1-hover:color-mix(in srgb, var(--surface-level-1) 90%, var(--colour-text) 10%);--surface-level-1-active:color-mix(in srgb, var(--surface-level-1) 80%, var(--colour-text) 20%);--colour-text:#ececef;--colour-text-subtle:#9a9aa5;--colour-border:#26272d;--colour-muted:#1e1f25;--colour-primary:#7aa5e8;--colour-primary-strong:#93b6ee;--colour-primary-hover:color-mix(in srgb, var(--colour-primary) 90%, var(--colour-on-primary) 10%);--colour-primary-active:color-mix(in srgb, var(--colour-primary) 80%, var(--colour-on-primary) 20%);--colour-on-primary:#0c0d10;--colour-gold:#d9b968;--colour-success:#4caf7d;--colour-warning:#d9b968;--colour-destructive:#e57373;--colour-info:#7aa5e8;--colour-neutral:#5b5b66}}
