:root{--color-neutral-black: #000000;--color-neutral-grey-100: #1A1A1A;--color-neutral-grey-200: #333333;--color-neutral-grey-300: #666666;--color-neutral-grey-400: #999999;--color-neutral-grey-500: #CCCCCC;--color-neutral-grey-600: #E5E5E5;--color-neutral-grey-700: #EBEBEB;--color-neutral-grey-800: #F0F0F0;--color-neutral-grey-900: #F5F5F5;--color-neutral-grey-1000: #FAFAFA;--color-neutral-white: #FFFFFF;--color-brand-earth-100: #161513;--color-brand-earth-100-null: #16151300;--color-brand-earth-200: #362E26;--color-brand-earth-200-null: #362E2600;--color-brand-earth-300: #A6763F;--color-brand-earth-300-null: #A6763F00;--color-brand-earth-400: #C8A041;--color-brand-earth-400-null: #C8A04100;--color-brand-earth-500: #D5BE89;--color-brand-earth-500-null: #D5BE8900;--color-brand-earth-600: #E8D29D;--color-brand-earth-600-null: #E8D29D00;--color-brand-earth-700: #F1E3D0;--color-brand-earth-700-null: #F1E3D000;--color-brand-earth-800: #DAD2C8;--color-brand-earth-800-null: #DAD2C800;--color-brand-earth-900: #F4F1EC;--color-brand-earth-900-null: #F4F1EC00;--color-brand-earth-1000: #F7F5F3;--color-brand-earth-1000-null: #F7F5F300;--gap-nil: 0px;--gap-3xs: 1px;--gap-2xs: 2px;--gap-1xs: 4px;--gap-sm: 6px;--gap-md: 8px;--gap-lg: 10px;--gap-1xl: 12px;--gap-2xl: 14px;--gap-3xl: 16px;--gap-4xl: 18px;--gap-5xl: 20px;--gap-big: 24px;--gap-1xbig: 32px;--gap-2xbig: 36px;--gap-3xbig: 40px;--gap-4xbig: 48px;--gap-huge: 64px;--gap-1xhuge: 80px;--gap-2xhuge: 120px;--gap-3xhuge: 160px;--gap-4xhuge: 240px;--gap-giant: 320px;--radius-nil: 0px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-1xl: 14px;--radius-2xl: 16px;--radius-3xl: 20px;--radius-4xl: 24px;--radius-big: 32px;--radius-1xbig: 36px;--radius-2xbig: 40px;--radius-3xbig: 48px;--radius-4xbig: 64px;--radius-full: 1234px;--stroke-nil: 0px;--stroke-xs: 1px;--stroke-sm: 2px;--stroke-md: 3px;--stroke-lg: 4px;--stroke-xl: 6px;--stroke-big: 8px;--semantic-colour-border: var(--color-brand-earth-800);--semantic-colour-divider: var(--color-brand-earth-800);--semantic-colour-background-page: var(--color-brand-earth-1000);--semantic-colour-background-card-default: var(--color-neutral-white);--semantic-colour-background-card-hover: var(--color-brand-earth-200);--semantic-colour-text-body-primary: var(--color-neutral-grey-100);--semantic-colour-text-body-secondary: var(--color-neutral-grey-300);--semantic-colour-text-body-tertiary: var(--color-neutral-grey-400);--semantic-colour-text-body-inverted: var(--color-neutral-white);--semantic-colour-text-button-primary-default: var(--color-neutral-white);--semantic-colour-text-button-primary-hover: var(--color-neutral-white);--semantic-colour-text-button-primary-pressed: var(--color-neutral-white);--semantic-colour-text-button-primary-disabled: var(--color-brand-earth-400);--semantic-colour-text-button-secondary-default: var(--color-brand-earth-200);--semantic-colour-text-button-secondary-hover: var(--color-neutral-white);--semantic-colour-text-button-secondary-pressed: var(--color-neutral-white);--semantic-colour-text-button-secondary-disabled: var(--color-brand-earth-500);--semantic-colour-text-button-tertiary-default: var(--color-brand-earth-200);--semantic-colour-text-button-tertiary-hover: var(--color-brand-earth-200);--semantic-colour-text-button-tertiary-pressed: var(--color-neutral-white);--semantic-colour-text-button-tertiary-disabled: var(--color-brand-earth-400);--semantic-colour-button-fill-primary-default: var(--color-brand-earth-200);--semantic-colour-button-fill-primary-hover: var(--color-brand-earth-300);--semantic-colour-button-fill-primary-pressed: var(--color-brand-earth-100);--semantic-colour-button-fill-primary-disabled: var(--color-brand-earth-700);--semantic-colour-button-fill-secondary-default: var(--color-brand-earth-300-null);--semantic-colour-button-fill-secondary-hover: var(--color-brand-earth-300);--semantic-colour-button-fill-secondary-pressed: var(--color-brand-earth-100);--semantic-colour-button-fill-secondary-disabled: var(--color-brand-earth-300-null);--semantic-colour-button-fill-tertiary-default: var(--color-brand-earth-100-null);--semantic-colour-button-fill-tertiary-hover: var(--color-brand-earth-100-null);--semantic-colour-button-fill-tertiary-pressed: var(--color-brand-earth-100);--semantic-colour-button-fill-tertiary-disabled: var(--color-brand-earth-100-null);--semantic-colour-button-stroke-secondary-default: var(--color-brand-earth-200);--semantic-colour-button-stroke-secondary-hover: var(--color-brand-earth-300);--semantic-colour-button-stroke-secondary-pressed: var(--color-brand-earth-100);--semantic-colour-button-stroke-secondary-disabled: var(--color-brand-earth-500);--semantic-colour-icon-default: var(--color-neutral-black);--semantic-colour-icon-inverted: var(--color-neutral-white);--semantic-colour-icon-primary: var(--color-neutral-grey-100);--semantic-colour-icon-secondary: var(--color-neutral-grey-300);--semantic-colour-icon-button-primary-default: var(--color-neutral-white);--semantic-colour-icon-button-primary-hover: var(--color-neutral-white);--semantic-colour-icon-button-primary-pressed: var(--color-neutral-white);--semantic-colour-icon-button-primary-disabled: var(--color-brand-earth-400);--semantic-colour-icon-button-secondary-default: var(--color-brand-earth-200);--semantic-colour-icon-button-secondary-hover: var(--color-neutral-white);--semantic-colour-icon-button-secondary-pressed: var(--color-neutral-white);--semantic-colour-icon-button-secondary-disabled: var(--color-brand-earth-500);--semantic-colour-icon-button-tertiary-default: var(--color-brand-earth-200);--semantic-colour-icon-button-tertiary-hover: var(--color-brand-earth-200);--semantic-colour-icon-button-tertiary-pressed: var(--color-neutral-white);--semantic-colour-icon-button-tertiary-disabled: var(--color-brand-earth-400);--semantic-colour-indication-green: #4C9900;--semantic-colour-indication-indigo: #6933FF;--semantic-colour-indication-teal: #007FAD;--semantic-colour-indication-red: #7A0000;--semantic-corner-bento: var(--gap-1xl);--semantic-corner-button-cta-full: var(--radius-full);--semantic-corner-button-cta-normal: var(--radius-md);--semantic-corner-button-menu-inner: var(--radius-full);--semantic-corner-button-menu-outer: var(--radius-full);--semantic-corner-card-base: var(--radius-2xl);--semantic-padding-bento: var(--gap-1xl);--semantic-padding-button-horizontal: var(--gap-4xl);--semantic-padding-button-vertical: var(--gap-lg);--semantic-padding-button-spacing: var(--gap-md);--semantic-padding-button-iconside: var(--gap-2xl);--semantic-padding-card-margins: var(--gap-5xl);--semantic-padding-card-spacing: var(--gap-3xl);--semantic-stroke-border: var(--stroke-xs);--semantic-stroke-divider: var(--stroke-xs)}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-Thin-ZWNITBNP.woff2") format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-ThinItalic-YD4LV5ME.woff2") format("woff2");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-ExtraLight-FZTZRFHR.woff2") format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-ExtraLightItalic-UJSAYM5G.woff2") format("woff2");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-Light-MQ42TPJQ.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-LightItalic-SQRMI3MU.woff2") format("woff2");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-Regular-YTIH3CC4.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-Italic-CSQZBDT6.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-Medium-WEA5HJ3X.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-MediumItalic-NOYKS7I5.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-SemiBold-QHMVZ7PM.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-SemiBoldItalic-6PJELFPV.woff2") format("woff2");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-Bold-NHWRKIRU.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-BoldItalic-VIWE6RM3.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-ExtraBold-27RKAZWV.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-ExtraBoldItalic-ET3LUC3G.woff2") format("woff2");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-Black-YA537DB5.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Inter Display;src:url("./media/InterDisplay-BlackItalic-IGPCMZJQ.woff2") format("woff2");font-weight:900;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url("./media/JetBrainsMono-VariableFont_wght-IAL44HHF.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url("./media/JetBrainsMono-Italic-VariableFont_wght-QKUVKHMR.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap}:root{--font-heading: "Inter Display", "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--h1-size: 40px;--h1-line: 1.2;--h1-letter: -.01em;--h1-weight: 600;--h1-para-gap: 20px;--h2-size: 32px;--h2-line: 1.3;--h2-letter: -.005em;--h2-weight: 600;--h2-para-gap: 20px;--h3-size: 24px;--h3-line: 1.3;--h3-letter: 0em;--h3-weight: 600;--h3-para-gap: 20px;--h4-size: 20px;--h4-line: 1.4;--h4-letter: 0em;--h4-weight: 600;--h4-para-gap: 20px;--a1-size: 14px;--a1-line: 1.71;--a1-letter: .01em;--a1-weight: 700;--a1-para-gap: 8px;--a2-size: 12px;--a2-line: 1.5;--a2-letter: .015em;--a2-weight: 700;--a2-para-gap: 8px;--p1-size: 16px;--p1-line: 1.5;--p1-letter: 0em;--p1-weight: 400;--p1-bold-weight: 600;--p1-para-gap: 8px;--p2-size: 14px;--p2-line: 1.43;--p2-letter: 0em;--p2-weight: 400;--p2-bold-weight: 600;--p2-para-gap: 8px;--p3-size: 12px;--p3-line: 1.5;--p3-letter: .01em;--p3-weight: 400;--p3-bold-weight: 600;--p3-para-gap: 8px;--ui-size: 14px;--ui-line: 1.43;--ui-letter: .005em;--ui-weight: 500;--ui-para-gap: 8px;--underline-offset: .25em;--underline-skip-ink: all;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--container-max: 1200px;--container-pad: 80px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 9999px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.64, 0, .78, 0);--ease-snap: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .15s;--dur-base: .25s;--dur-slow: .4s;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .6);--shadow-glow: 0 0 40px var(--colour-accent-glow)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{background-color:var(--semantic-colour-background-page);color:var(--semantic-colour-text-body-primary);font-family:var(--font-body);font-size:16px;line-height:1.5;min-height:100dvh}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}h1,.h1{font-family:var(--font-heading);font-weight:var(--h1-weight);font-style:normal;font-size:var(--h1-size);line-height:var(--h1-line);letter-spacing:var(--h1-letter);margin-block-end:var(--h1-para-gap);color:var(--colour-text-primary);font-feature-settings:"liga" 1,"calt" 1,"ss01" 1;font-variant-ligatures:contextual}h2,.h2{font-family:var(--font-heading);font-weight:var(--h2-weight);font-style:normal;font-size:var(--h2-size);line-height:var(--h2-line);letter-spacing:var(--h2-letter);margin-block-end:var(--h2-para-gap);color:var(--colour-text-primary);font-feature-settings:"liga" 1,"calt" 1,"ss01" 1;font-variant-ligatures:contextual}h3,.h3{font-family:var(--font-heading);font-weight:var(--h3-weight);font-style:normal;font-size:var(--h3-size);line-height:var(--h3-line);letter-spacing:var(--h3-letter);margin-block-end:var(--h3-para-gap);color:var(--colour-text-primary);font-feature-settings:"liga" 1,"calt" 1,"ss01" 1;font-variant-ligatures:contextual}h4,.h4{font-family:var(--font-heading);font-weight:var(--h4-weight);font-style:normal;font-size:var(--h4-size);line-height:var(--h4-line);letter-spacing:var(--h4-letter);margin-block-end:var(--h4-para-gap);color:var(--colour-text-primary);font-feature-settings:"liga" 1,"calt" 1,"ss01" 1;font-variant-ligatures:contextual}.h1--underlined,.h2--underlined,.h3--underlined,.h4--underlined,h1.underlined,h2.underlined,h3.underlined,h4.underlined{text-decoration:underline solid;text-underline-offset:var(--underline-offset);text-decoration-skip-ink:var(--underline-skip-ink);text-decoration-color:currentColor}.a1{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-weight:var(--a1-weight);font-style:normal;font-size:var(--a1-size);line-height:var(--a1-line);letter-spacing:var(--a1-letter);margin-block-end:var(--a1-para-gap);color:var(--colour-text-primary);font-feature-settings:"liga" 1,"calt" 1}.a2{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-weight:var(--a2-weight);font-style:normal;font-size:var(--a2-size);line-height:var(--a2-line);letter-spacing:var(--a2-letter);margin-block-end:var(--a2-para-gap);color:var(--colour-text-primary);font-feature-settings:"liga" 1,"calt" 1}.a1--underlined,.a2--underlined{text-decoration:underline solid;text-underline-offset:var(--underline-offset);text-decoration-skip-ink:var(--underline-skip-ink);text-decoration-color:currentColor}.p1{font-family:var(--font-heading);font-weight:var(--p1-weight);font-style:normal;font-size:var(--p1-size);line-height:var(--p1-line);letter-spacing:var(--p1-letter);margin-block-end:var(--p1-para-gap);color:var(--colour-text-primary);font-feature-settings:"liga" 1,"calt" 1}.p1--bold{font-weight:var(--p1-bold-weight)}.p1--underlined{text-decoration:underline solid;text-underline-offset:var(--underline-offset);text-decoration-skip-ink:var(--underline-skip-ink);text-decoration-color:currentColor}.p1--bold-underlined{font-weight:var(--p1-bold-weight);text-decoration:underline solid;text-underline-offset:var(--underline-offset);text-decoration-skip-ink:var(--underline-skip-ink);text-decoration-color:currentColor}.p2{font-family:var(--font-heading);font-weight:var(--p2-weight);font-style:normal;font-size:var(--p2-size);line-height:var(--p2-line);letter-spacing:var(--p2-letter);margin-block-end:var(--p2-para-gap);color:var(--colour-text-primary);font-feature-settings:"liga" 1,"calt" 1}.p2--bold{font-weight:var(--p2-bold-weight)}.p2--underlined{text-decoration:underline solid;text-underline-offset:var(--underline-offset);text-decoration-skip-ink:var(--underline-skip-ink);text-decoration-color:currentColor}.p2--bold-underlined{font-weight:var(--p2-bold-weight);text-decoration:underline solid;text-underline-offset:var(--underline-offset);text-decoration-skip-ink:var(--underline-skip-ink);text-decoration-color:currentColor}.p3{font-family:var(--font-heading);font-weight:var(--p3-weight);font-style:normal;font-size:var(--p3-size);line-height:var(--p3-line);letter-spacing:var(--p3-letter);margin-block-end:var(--p3-para-gap);color:var(--colour-text-primary);font-feature-settings:"liga" 1,"calt" 1}.p3--bold{font-weight:var(--p3-bold-weight)}.p3--underlined{text-decoration:underline solid;text-underline-offset:var(--underline-offset);text-decoration-skip-ink:var(--underline-skip-ink);text-decoration-color:currentColor}.p3--bold-underlined{font-weight:var(--p3-bold-weight);text-decoration:underline solid;text-underline-offset:var(--underline-offset);text-decoration-skip-ink:var(--underline-skip-ink);text-decoration-color:currentColor}.ui-text{font-family:var(--font-heading);font-weight:var(--ui-weight);font-style:normal;font-size:var(--ui-size);line-height:var(--ui-line);letter-spacing:var(--ui-letter);margin-block-end:var(--ui-para-gap);color:var(--colour-text-primary);font-feature-settings:"liga" 1,"calt" 1}.ui-text--underlined{text-decoration:underline solid;text-underline-offset:var(--underline-offset);text-decoration-skip-ink:var(--underline-skip-ink);text-decoration-color:currentColor}@media(min-width:640px)and (max-width:999px){:root{--h1-size: 36px;--h1-line: 1.2;--h1-letter: -.01em;--h2-size: 28px;--h2-line: 1.25;--h2-letter: -.005em;--h3-size: 22px;--h3-line: 1.3;--container-pad: 32px}}@media(max-width:639px){:root{--h1-size: 32px;--h1-line: 1.2;--h1-letter: -.01em;--h2-size: 24px;--h2-line: 1.25;--h2-letter: -.005em;--h3-size: 16px;--h3-line: 1.33;--container-pad: 20px}}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.flex{display:flex}.flex-col{flex-direction:column}.items-centre{align-items:center}.justify-centre{justify-content:center}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.section{padding-block:var(--space-20)}.section--lg{padding-block:var(--space-24)}@media(min-width:640px)and (max-width:999px){.section{padding-block:var(--space-12)}.section--lg{padding-block:var(--space-16)}}@media(max-width:639px){.section{padding-block:var(--space-10)}.section--lg{padding-block:var(--space-12)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-body);font-size:14px;font-weight:600;font-style:normal;line-height:1;letter-spacing:.01em;padding:12px 20px;border-radius:var(--radius-md);border:1.5px solid transparent;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-snap);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.97)}.btn--primary{background-color:var(--colour-accent);color:#fff;border-color:var(--colour-accent)}.btn--primary:hover{background-color:#6b7cff;border-color:#6b7cff;box-shadow:var(--shadow-glow)}.btn--ghost{background-color:transparent;color:var(--colour-text-primary);border-color:var(--colour-border)}.btn--ghost:hover{background-color:var(--colour-surface);border-color:#ffffff26}.card{background-color:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color var(--dur-base) var(--ease-out)}.card:hover{border-color:#ffffff24}.code-chip{display:inline-flex;align-items:center;gap:var(--space-2);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:13px;font-style:normal;color:var(--colour-text-primary);background-color:var(--colour-surface-2);border:1px solid var(--colour-border);border-radius:var(--radius-sm);padding:4px 10px}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:var(--radius-pill);background-color:#5b6cf926;color:var(--colour-accent);border:1px solid rgba(91,108,249,.25)}.glass{background:#ffffff0a;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid var(--colour-border)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--semantic-colour-background-page)}::-webkit-scrollbar-thumb{background:var(--color-brand-earth-200);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-brand-earth-300)}:focus-visible{outline:2px solid var(--colour-accent);outline-offset:3px;border-radius:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
