/*!tailwindcss v4.1.17 | MIT License | https://tailwindcss.com*/@import "https://fonts.googleapis.com/css2?family=Inter+Tight:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500&family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap";@layer properties;@layer theme,base,components,utilities;@layer theme{:root, :host {
    --font-sans: "Public Sans", "Helvetica Neue", "Nimbus Sans", sans-serif;
    --font-serif: "Public Sans", "Helvetica Neue", "Nimbus Sans", sans-serif;
    --font-mono: "IBM Plex Mono", "SFMono-Regular", "Menlo", monospace;
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-blue-700: oklch(48.8% 0.243 264.376);
    --color-blue-800: oklch(42.4% 0.199 265.638);
    --color-blue-900: oklch(37.9% 0.146 265.522);
    --color-gray-600: oklch(44.6% 0.03 256.802);
    --color-gray-700: oklch(37.3% 0.034 259.733);
    --color-gray-800: oklch(27.8% 0.033 256.848);
    --color-gray-900: oklch(21% 0.034 264.665);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-7xl: 80rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --aspect-video: 16 / 9;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-accent: #0a0a0a;
    --color-charcoal: #ffffff;
    --color-charcoal-light: #f4f4f5;
    --color-ink: #0a0a0a;
    --color-paper: #ffffff;
    --color-surface-primary: #ffffff;
    --color-surface-secondary: #f6f6f6;
    --color-surface-tertiary: #ededed;
    --color-text-primary: #0a0a0a;
    --color-text-secondary: #3f3f46;
    --color-text-muted: #6b6b72;
    --color-border-default: #cfcfd3;
    --color-border-subtle: #e5e5e7;
    --color-success: #065f46;
    --color-warning: #92400e;
    --color-error: #991b1b;
    --color-info: #1d4ed8;
    --font-display: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
    --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  }
}@layer base{*, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}@layer utilities{.pointer-events-none {
    pointer-events: none;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .inset-x-0 {
    inset-inline: calc(var(--spacing) * 0);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-1\/2 {
    top: calc(1/2 * 100%);
  }
  .top-2 {
    top: calc(var(--spacing) * 2);
  }
  .top-3 {
    top: calc(var(--spacing) * 3);
  }
  .top-4 {
    top: calc(var(--spacing) * 4);
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .right-2 {
    right: calc(var(--spacing) * 2);
  }
  .right-3 {
    right: calc(var(--spacing) * 3);
  }
  .right-4 {
    right: calc(var(--spacing) * 4);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .bottom-8 {
    bottom: calc(var(--spacing) * 8);
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .left-1\/2 {
    left: calc(1/2 * 100%);
  }
  .left-4 {
    left: calc(var(--spacing) * 4);
  }
  .isolate {
    isolation: isolate;
  }
  .-z-10 {
    z-index: calc(10 * -1);
  }
  .z-10 {
    z-index: 10;
  }
  .z-40 {
    z-index: 40;
  }
  .z-50 {
    z-index: 50;
  }
  .z-\[70\] {
    z-index: 70;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .m-4 {
    margin: calc(var(--spacing) * 4);
  }
  .m-6 {
    margin: calc(var(--spacing) * 6);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-6 {
    margin-block: calc(var(--spacing) * 6);
  }
  .prose {
    color: var(--tw-prose-body);
    max-width: 65ch;
    :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 1.25em;
      margin-bottom: 1.25em;
    }
    :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-lead);
      font-size: 1.25em;
      line-height: 1.6;
      margin-top: 1.2em;
      margin-bottom: 1.2em;
    }
    :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-links);
      text-decoration: underline;
      font-weight: 500;
    }
    :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-bold);
      font-weight: 600;
    }
    :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: decimal;
      margin-top: 1.25em;
      margin-bottom: 1.25em;
      padding-inline-start: 1.625em;
    }
    :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: upper-alpha;
    }
    :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: lower-alpha;
    }
    :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: upper-alpha;
    }
    :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: lower-alpha;
    }
    :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: upper-roman;
    }
    :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: lower-roman;
    }
    :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: upper-roman;
    }
    :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: lower-roman;
    }
    :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: decimal;
    }
    :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: disc;
      margin-top: 1.25em;
      margin-bottom: 1.25em;
      padding-inline-start: 1.625em;
    }
    :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
      font-weight: 400;
      color: var(--tw-prose-counters);
    }
    :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
      color: var(--tw-prose-bullets);
    }
    :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      margin-top: 1.25em;
    }
    :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-color: var(--tw-prose-hr);
      border-top-width: 1px;
      margin-top: 3em;
      margin-bottom: 3em;
    }
    :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 500;
      font-style: italic;
      color: var(--tw-prose-quotes);
      border-inline-start-width: 0.25rem;
      border-inline-start-color: var(--tw-prose-quote-borders);
      quotes: "\201C""\201D""\2018""\2019";
      margin-top: 1.6em;
      margin-bottom: 1.6em;
      padding-inline-start: 1em;
    }
    :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
      content: open-quote;
    }
    :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
      content: close-quote;
    }
    :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 800;
      font-size: 2.25em;
      margin-top: 0;
      margin-bottom: 0.8888889em;
      line-height: 1.1111111;
    }
    :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 900;
      color: inherit;
    }
    :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 700;
      font-size: 1.5em;
      margin-top: 2em;
      margin-bottom: 1em;
      line-height: 1.3333333;
    }
    :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 800;
      color: inherit;
    }
    :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      font-size: 1.25em;
      margin-top: 1.6em;
      margin-bottom: 0.6em;
      line-height: 1.6;
    }
    :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 700;
      color: inherit;
    }
    :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      margin-top: 1.5em;
      margin-bottom: 0.5em;
      line-height: 1.5;
    }
    :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 700;
      color: inherit;
    }
    :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      display: block;
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 500;
      font-family: inherit;
      color: var(--tw-prose-kbd);
      box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
      font-size: 0.875em;
      border-radius: 0.3125rem;
      padding-top: 0.1875em;
      padding-inline-end: 0.375em;
      padding-bottom: 0.1875em;
      padding-inline-start: 0.375em;
    }
    :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-code);
      font-weight: 600;
      font-size: 0.875em;
    }
    :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
      content: "`";
    }
    :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
      content: "`";
    }
    :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
      font-size: 0.875em;
    }
    :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
      font-size: 0.9em;
    }
    :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-pre-code);
      background-color: var(--tw-prose-pre-bg);
      overflow-x: auto;
      font-weight: 400;
      font-size: 0.875em;
      line-height: 1.7142857;
      margin-top: 1.7142857em;
      margin-bottom: 1.7142857em;
      border-radius: 0.375rem;
      padding-top: 0.8571429em;
      padding-inline-end: 1.1428571em;
      padding-bottom: 0.8571429em;
      padding-inline-start: 1.1428571em;
    }
    :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      background-color: transparent;
      border-width: 0;
      border-radius: 0;
      padding: 0;
      font-weight: inherit;
      color: inherit;
      font-size: inherit;
      font-family: inherit;
      line-height: inherit;
    }
    :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
      content: none;
    }
    :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
      content: none;
    }
    :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      width: 100%;
      table-layout: auto;
      margin-top: 2em;
      margin-bottom: 2em;
      font-size: 0.875em;
      line-height: 1.7142857;
    }
    :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-bottom-width: 1px;
      border-bottom-color: var(--tw-prose-th-borders);
    }
    :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      vertical-align: bottom;
      padding-inline-end: 0.5714286em;
      padding-bottom: 0.5714286em;
      padding-inline-start: 0.5714286em;
    }
    :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-bottom-width: 1px;
      border-bottom-color: var(--tw-prose-td-borders);
    }
    :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-bottom-width: 0;
    }
    :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      vertical-align: baseline;
    }
    :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-top-width: 1px;
      border-top-color: var(--tw-prose-th-borders);
    }
    :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      vertical-align: top;
    }
    :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      text-align: start;
    }
    :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
      margin-bottom: 0;
    }
    :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-captions);
      font-size: 0.875em;
      line-height: 1.4285714;
      margin-top: 0.8571429em;
    }
    --tw-prose-body: oklch(37.3% 0.034 259.733);
    --tw-prose-headings: oklch(21% 0.034 264.665);
    --tw-prose-lead: oklch(44.6% 0.03 256.802);
    --tw-prose-links: oklch(21% 0.034 264.665);
    --tw-prose-bold: oklch(21% 0.034 264.665);
    --tw-prose-counters: oklch(55.1% 0.027 264.364);
    --tw-prose-bullets: oklch(87.2% 0.01 258.338);
    --tw-prose-hr: oklch(92.8% 0.006 264.531);
    --tw-prose-quotes: oklch(21% 0.034 264.665);
    --tw-prose-quote-borders: oklch(92.8% 0.006 264.531);
    --tw-prose-captions: oklch(55.1% 0.027 264.364);
    --tw-prose-kbd: oklch(21% 0.034 264.665);
    --tw-prose-kbd-shadows: color-mix(in oklab, oklch(21% 0.034 264.665) 10%, transparent);
    --tw-prose-code: oklch(21% 0.034 264.665);
    --tw-prose-pre-code: oklch(92.8% 0.006 264.531);
    --tw-prose-pre-bg: oklch(27.8% 0.033 256.848);
    --tw-prose-th-borders: oklch(87.2% 0.01 258.338);
    --tw-prose-td-borders: oklch(92.8% 0.006 264.531);
    --tw-prose-invert-body: oklch(87.2% 0.01 258.338);
    --tw-prose-invert-headings: #fff;
    --tw-prose-invert-lead: oklch(70.7% 0.022 261.325);
    --tw-prose-invert-links: #fff;
    --tw-prose-invert-bold: #fff;
    --tw-prose-invert-counters: oklch(70.7% 0.022 261.325);
    --tw-prose-invert-bullets: oklch(44.6% 0.03 256.802);
    --tw-prose-invert-hr: oklch(37.3% 0.034 259.733);
    --tw-prose-invert-quotes: oklch(96.7% 0.003 264.542);
    --tw-prose-invert-quote-borders: oklch(37.3% 0.034 259.733);
    --tw-prose-invert-captions: oklch(70.7% 0.022 261.325);
    --tw-prose-invert-kbd: #fff;
    --tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);
    --tw-prose-invert-code: #fff;
    --tw-prose-invert-pre-code: oklch(87.2% 0.01 258.338);
    --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
    --tw-prose-invert-th-borders: oklch(44.6% 0.03 256.802);
    --tw-prose-invert-td-borders: oklch(37.3% 0.034 259.733);
    font-size: 1rem;
    line-height: 1.75;
    :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
      margin-bottom: 0;
    }
    :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0.5em;
      margin-bottom: 0.5em;
    }
    :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-inline-start: 0.375em;
    }
    :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-inline-start: 0.375em;
    }
    :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0.75em;
      margin-bottom: 0.75em;
    }
    :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 1.25em;
    }
    :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-bottom: 1.25em;
    }
    :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 1.25em;
    }
    :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-bottom: 1.25em;
    }
    :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0.75em;
      margin-bottom: 0.75em;
    }
    :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 1.25em;
      margin-bottom: 1.25em;
    }
    :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0.5em;
      padding-inline-start: 1.625em;
    }
    :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-inline-start: 0;
    }
    :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-inline-end: 0;
    }
    :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-top: 0.5714286em;
      padding-inline-end: 0.5714286em;
      padding-bottom: 0.5714286em;
      padding-inline-start: 0.5714286em;
    }
    :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-inline-start: 0;
    }
    :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-inline-end: 0;
    }
    :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-bottom: 0;
    }
  }
  .eyebrow {
    display: inline-flex;
    align-items: flex-start;
    gap: calc(var(--spacing) * 2.5);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    --tw-leading: 1.5;
    line-height: 1.5;
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    --tw-tracking: 0.12em;
    letter-spacing: 0.12em;
    color: var(--color-text-muted);
    text-transform: uppercase;
    &::before {
      content: "";
      margin-top: 0.36em;
      width: 0.5rem;
      height: 0.5rem;
      background: var(--color-ink);
      flex-shrink: 0;
    }
  }
  .mt-0 {
    margin-top: calc(var(--spacing) * 0);
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-9 {
    margin-top: calc(var(--spacing) * 9);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-14 {
    margin-top: calc(var(--spacing) * 14);
  }
  .mt-16 {
    margin-top: calc(var(--spacing) * 16);
  }
  .mt-auto {
    margin-top: auto;
  }
  .mr-4 {
    margin-right: calc(var(--spacing) * 4);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .ml-auto {
    margin-left: auto;
  }
  .link-more {
    display: inline-flex;
    align-items: center;
    gap: calc(var(--spacing) * 2);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
    &::after {
      content: "→";
      transition: transform 0.35s var(--ease-out-expo);
    }
    &:hover::after {
      transform: translateX(4px);
    }
    &:hover {
      text-decoration-line: underline;
      text-decoration-thickness: 1px;
      text-underline-offset: 4px;
    }
  }
  .chip {
    display: inline-flex;
    align-items: center;
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-border-default);
    padding-inline: calc(var(--spacing) * 2);
    padding-block: calc(var(--spacing) * 0.5);
    font-family: var(--font-mono);
    font-size: 0.68rem;
    color: var(--color-text-secondary);
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .aspect-\[16\/9\] {
    aspect-ratio: 16/9;
  }
  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }
  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-56 {
    height: calc(var(--spacing) * 56);
  }
  .h-\[2px\] {
    height: 2px;
  }
  .h-\[var\(--header-h\)\] {
    height: var(--header-h);
  }
  .h-full {
    height: 100%;
  }
  .max-h-\[480px\] {
    max-height: 480px;
  }
  .max-h-full {
    max-height: 100%;
  }
  .min-h-\[calc\(100vh-var\(--header-h\)-20rem\)\] {
    min-height: calc(100vh - var(--header-h) - 20rem);
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-6 {
    width: calc(var(--spacing) * 6);
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-56 {
    width: calc(var(--spacing) * 56);
  }
  .w-full {
    width: 100%;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-4xl {
    max-width: var(--container-4xl);
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-7xl {
    max-width: var(--container-7xl);
  }
  .max-w-\[15rem\] {
    max-width: 15rem;
  }
  .max-w-\[16ch\] {
    max-width: 16ch;
  }
  .max-w-full {
    max-width: 100%;
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-none {
    max-width: none;
  }
  .max-w-sm {
    max-width: var(--container-sm);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .max-w-xs {
    max-width: var(--container-xs);
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .min-w-full {
    min-width: 100%;
  }
  .flex-1 {
    flex: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .flex-grow {
    flex-grow: 1;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-full {
    --tw-translate-y: 100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .resize {
    resize: both;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }
  .space-y-2 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-2\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-4 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-8 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-16 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 16) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 16) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .gap-x-3 {
    column-gap: calc(var(--spacing) * 3);
  }
  .gap-x-8 {
    column-gap: calc(var(--spacing) * 8);
  }
  .gap-y-2 {
    row-gap: calc(var(--spacing) * 2);
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .border-accent\/20 {
    border-color: color-mix(in srgb, #0a0a0a 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-accent) 20%, transparent);
    }
  }
  .border-accent\/40 {
    border-color: color-mix(in srgb, #0a0a0a 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-accent) 40%, transparent);
    }
  }
  .border-border-default {
    border-color: var(--color-border-default);
  }
  .border-border-subtle {
    border-color: var(--color-border-subtle);
  }
  .border-gray-800 {
    border-color: var(--color-gray-800);
  }
  .border-ink {
    border-color: var(--color-ink);
  }
  .border-transparent {
    border-color: transparent;
  }
  .border-white\/20 {
    border-color: color-mix(in srgb, #fff 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }
  .bg-accent {
    background-color: var(--color-accent);
  }
  .bg-black\/30 {
    background-color: color-mix(in srgb, #000 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 30%, transparent);
    }
  }
  .bg-black\/40 {
    background-color: color-mix(in srgb, #000 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
    }
  }
  .bg-black\/90 {
    background-color: color-mix(in srgb, #000 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 90%, transparent);
    }
  }
  .bg-blue-600 {
    background-color: var(--color-blue-600);
  }
  .bg-blue-800 {
    background-color: var(--color-blue-800);
  }
  .bg-charcoal-light {
    background-color: var(--color-charcoal-light);
  }
  .bg-charcoal\/95 {
    background-color: color-mix(in srgb, #ffffff 95%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-charcoal) 95%, transparent);
    }
  }
  .bg-gray-700 {
    background-color: var(--color-gray-700);
  }
  .bg-gray-800 {
    background-color: var(--color-gray-800);
  }
  .bg-gray-900\/30 {
    background-color: color-mix(in srgb, oklch(21% 0.034 264.665) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gray-900) 30%, transparent);
    }
  }
  .bg-ink {
    background-color: var(--color-ink);
  }
  .bg-surface-primary {
    background-color: var(--color-surface-primary);
  }
  .bg-surface-primary\/95 {
    background-color: color-mix(in srgb, #ffffff 95%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-surface-primary) 95%, transparent);
    }
  }
  .bg-surface-secondary {
    background-color: var(--color-surface-secondary);
  }
  .bg-surface-tertiary\/60 {
    background-color: color-mix(in srgb, #ededed 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-surface-tertiary) 60%, transparent);
    }
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .object-contain {
    object-fit: contain;
  }
  .object-cover {
    object-fit: cover;
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .py-14 {
    padding-block: calc(var(--spacing) * 14);
  }
  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }
  .pt-12 {
    padding-top: calc(var(--spacing) * 12);
  }
  .pt-\[var\(--header-h\)\] {
    padding-top: var(--header-h);
  }
  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }
  .text-center {
    text-align: center;
  }
  .h-display {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(2.35rem, 5.2vw, 4.4rem);
    line-height: 1.02;
    letter-spacing: -0.035em;
  }
  .h-section {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(1.5rem, 2.3vw, 2rem);
    line-height: 1.15;
    letter-spacing: -0.025em;
  }
  .meta {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    --tw-tracking: 0.02em;
    letter-spacing: 0.02em;
    color: var(--color-text-muted);
  }
  .font-display {
    font-family: var(--font-display);
  }
  .font-mono {
    font-family: var(--font-mono);
  }
  .font-serif {
    font-family: var(--font-serif);
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[0\.68rem\] {
    font-size: 0.68rem;
  }
  .text-\[0\.75rem\] {
    font-size: 0.75rem;
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-light {
    --tw-font-weight: var(--font-weight-light);
    font-weight: var(--font-weight-light);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-\[-0\.02em\] {
    --tw-tracking: -0.02em;
    letter-spacing: -0.02em;
  }
  .tracking-\[0\.14em\] {
    --tw-tracking: 0.14em;
    letter-spacing: 0.14em;
  }
  .break-all {
    word-break: break-all;
  }
  .text-accent {
    color: var(--color-accent);
  }
  .text-accent\/70 {
    color: color-mix(in srgb, #0a0a0a 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-accent) 70%, transparent);
    }
  }
  .text-accent\/80 {
    color: color-mix(in srgb, #0a0a0a 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-accent) 80%, transparent);
    }
  }
  .text-black {
    color: var(--color-black);
  }
  .text-gray-600 {
    color: var(--color-gray-600);
  }
  .text-text-muted {
    color: var(--color-text-muted);
  }
  .text-text-primary {
    color: var(--color-text-primary);
  }
  .text-text-secondary {
    color: var(--color-text-secondary);
  }
  .uppercase {
    text-transform: uppercase;
  }
  .underline {
    text-decoration-line: underline;
  }
  .underline-offset-4 {
    text-underline-offset: 4px;
  }
  .opacity-0 {
    opacity: 0%;
  }
  .backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .group-hover\:translate-x-0\.5 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-translate-x: calc(var(--spacing) * 0.5);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .group-hover\:translate-x-1 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-translate-x: calc(var(--spacing) * 1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .group-hover\:-translate-y-0\.5 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-translate-y: calc(var(--spacing) * -0.5);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .group-hover\:scale-105 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-scale-x: 105%;
        --tw-scale-y: 105%;
        --tw-scale-z: 105%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .group-hover\:border-ink {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        border-color: var(--color-ink);
      }
    }
  }
  .group-hover\:bg-ink {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: var(--color-ink);
      }
    }
  }
  .group-hover\:text-accent {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-accent);
      }
    }
  }
  .group-hover\:text-white {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-white);
      }
    }
  }
  .hover\:bg-accent\/90 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #0a0a0a 90%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-accent) 90%, transparent);
        }
      }
    }
  }
  .hover\:bg-black\/50 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #000 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
        }
      }
    }
  }
  .hover\:bg-blue-700 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-blue-700);
      }
    }
  }
  .hover\:bg-blue-900 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-blue-900);
      }
    }
  }
  .hover\:bg-charcoal-light\/80 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #f4f4f5 80%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-charcoal-light) 80%, transparent);
        }
      }
    }
  }
  .hover\:bg-gray-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-gray-600);
      }
    }
  }
  .hover\:text-accent {
    &:hover {
      @media (hover: hover) {
        color: var(--color-accent);
      }
    }
  }
  .hover\:text-text-primary {
    &:hover {
      @media (hover: hover) {
        color: var(--color-text-primary);
      }
    }
  }
  .hover\:underline {
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .focus\:ring-accent {
    &:focus {
      --tw-ring-color: var(--color-accent);
    }
  }
  .focus\:ring-offset-charcoal {
    &:focus {
      --tw-ring-offset-color: var(--color-charcoal);
    }
  }
  .sm\:right-auto {
    @media (width >= 40rem) {
      right: auto;
    }
  }
  .sm\:bottom-4 {
    @media (width >= 40rem) {
      bottom: calc(var(--spacing) * 4);
    }
  }
  .sm\:left-4 {
    @media (width >= 40rem) {
      left: calc(var(--spacing) * 4);
    }
  }
  .sm\:mb-0 {
    @media (width >= 40rem) {
      margin-bottom: calc(var(--spacing) * 0);
    }
  }
  .sm\:block {
    @media (width >= 40rem) {
      display: block;
    }
  }
  .sm\:max-w-none {
    @media (width >= 40rem) {
      max-width: none;
    }
  }
  .sm\:grid-cols-2 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-3 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .sm\:flex-row {
    @media (width >= 40rem) {
      flex-direction: row;
    }
  }
  .sm\:items-center {
    @media (width >= 40rem) {
      align-items: center;
    }
  }
  .sm\:justify-between {
    @media (width >= 40rem) {
      justify-content: space-between;
    }
  }
  .sm\:space-y-0 {
    @media (width >= 40rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .sm\:space-x-2 {
    @media (width >= 40rem) {
      :where(& > :not(:last-child)) {
        --tw-space-x-reverse: 0;
        margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
        margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
      }
    }
  }
  .sm\:text-left {
    @media (width >= 40rem) {
      text-align: left;
    }
  }
  .sm\:text-right {
    @media (width >= 40rem) {
      text-align: right;
    }
  }
  .md\:col-span-5 {
    @media (width >= 48rem) {
      grid-column: span 5 / span 5;
    }
  }
  .md\:col-span-7 {
    @media (width >= 48rem) {
      grid-column: span 7 / span 7;
    }
  }
  .md\:flex {
    @media (width >= 48rem) {
      display: flex;
    }
  }
  .md\:hidden {
    @media (width >= 48rem) {
      display: none;
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-3 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-12 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }
  }
  .md\:flex-row {
    @media (width >= 48rem) {
      flex-direction: row;
    }
  }
  .md\:items-center {
    @media (width >= 48rem) {
      align-items: center;
    }
  }
  .md\:items-end {
    @media (width >= 48rem) {
      align-items: flex-end;
    }
  }
  .md\:justify-between {
    @media (width >= 48rem) {
      justify-content: space-between;
    }
  }
  .md\:gap-8 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 8);
    }
  }
  .md\:p-8 {
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .md\:p-10 {
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 10);
    }
  }
  .md\:py-16 {
    @media (width >= 48rem) {
      padding-block: calc(var(--spacing) * 16);
    }
  }
  .md\:pt-20 {
    @media (width >= 48rem) {
      padding-top: calc(var(--spacing) * 20);
    }
  }
  .md\:pb-24 {
    @media (width >= 48rem) {
      padding-bottom: calc(var(--spacing) * 24);
    }
  }
  .lg\:sticky {
    @media (width >= 64rem) {
      position: sticky;
    }
  }
  .lg\:top-\[calc\(var\(--header-h\)\+2rem\)\] {
    @media (width >= 64rem) {
      top: calc(var(--header-h) + 2rem);
    }
  }
  .lg\:col-span-4 {
    @media (width >= 64rem) {
      grid-column: span 4 / span 4;
    }
  }
  .lg\:col-span-5 {
    @media (width >= 64rem) {
      grid-column: span 5 / span 5;
    }
  }
  .lg\:col-span-7 {
    @media (width >= 64rem) {
      grid-column: span 7 / span 7;
    }
  }
  .lg\:col-span-8 {
    @media (width >= 64rem) {
      grid-column: span 8 / span 8;
    }
  }
  .lg\:mr-0 {
    @media (width >= 64rem) {
      margin-right: calc(var(--spacing) * 0);
    }
  }
  .lg\:ml-auto {
    @media (width >= 64rem) {
      margin-left: auto;
    }
  }
  .lg\:flex {
    @media (width >= 64rem) {
      display: flex;
    }
  }
  .lg\:hidden {
    @media (width >= 64rem) {
      display: none;
    }
  }
  .lg\:grid-cols-3 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-12 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }
  }
  .lg\:gap-7 {
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 7);
    }
  }
  .lg\:gap-16 {
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 16);
    }
  }
  .lg\:pt-4 {
    @media (width >= 64rem) {
      padding-top: calc(var(--spacing) * 4);
    }
  }
}:root{color-scheme:light;--header-h:4rem;--gutter:clamp(1rem, 4vw, 2rem)}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-padding-top:calc(var(--header-h) + 1.5rem)}body{background-color:var(--color-surface-primary);font-family:var(--font-sans);color:var(--color-text-primary);overflow-x:clip}html.is-scroll-locked,body.is-scroll-locked{overflow:hidden;touch-action:none}@layer base{h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    font-family: var(--font-display);
    letter-spacing: -0.02em;
  }
  a {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
}*:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px;outline-offset:2px;outline-color:var(--color-accent)}::selection{background-color:var(--color-text-primary);color:var(--color-white)}.shell{margin-inline:auto;width:100%;max-width:1200px;padding-inline:var(--gutter)}.lead{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--color-text-secondary);@media(width >= 48rem){font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height));}}.swiss-kicker{display:inline-flex;align-items:flex-start;gap:calc(var(--spacing) * 2.5);font-family:var(--font-mono);font-size:.72rem;--tw-leading:1.5;line-height:1.5;--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:0.12em;letter-spacing:.12em;color:var(--color-text-muted);text-transform:uppercase;&::before { content:""; margin-top:0.36em; width:0.5rem; height:0.5rem; background:var(--color-ink); flex-shrink:0; }}.swiss-meta{font-family:var(--font-mono);font-size:.75rem;--tw-tracking:0.02em;letter-spacing:.02em;color:var(--color-text-muted)}.swiss-inline-link{display:inline-flex;align-items:center;gap:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-text-primary);&::after { content:"→"; transition:transform 0.35s var(--ease-out-expo); } &:hover::after { transform:translateX(4px); } &:hover { text-decoration-line:underline; text-decoration-thickness:1px; text-underline-offset:4px; }}.btn,.kg-btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--spacing) * 2);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-ink);background-color:var(--color-ink);padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-white);text-decoration-line:none;transition:background-color .25s ease,color .25s ease}.btn:hover,.kg-btn:hover{background-color:var(--color-white);color:var(--color-ink)}.btn-ghost{background-color:transparent;color:var(--color-ink)}.btn-ghost:hover{background-color:var(--color-ink);color:var(--color-white)}.btn .arrow{transition:transform .35s var(--ease-out-expo)}.btn:hover .arrow{transform:translateX(3px)}.icon-link,.site-icon-link{display:inline-flex;height:calc(var(--spacing) * 9);width:calc(var(--spacing) * 9);align-items:center;justify-content:center;border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-default);color:var(--color-text-secondary);transition:border-color .2s ease,color .2s ease,background-color .2s ease}.icon-link:hover,.site-icon-link:hover{border-color:var(--color-ink);background-color:var(--color-ink);color:var(--color-white)}@keyframes fade-up{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}.fade-up{opacity:0;animation:fade-up .8s var(--ease-out-expo)forwards;animation-delay:var(--d,.05s)}.js [data-reveal]{opacity:0;transform:translate3d(0,16px,0);transition:opacity .7s var(--ease-out-expo),transform .8s var(--ease-out-expo);transition-delay:var(--d,0s)}.js [data-reveal].is-in{opacity:1;transform:none}.site-header{height:var(--header-h);transition:transform .4s var(--ease-out-expo),border-color .3s ease}.site-header.is-hidden{transform:translateY(-100%)}.site-header.is-scrolled{border-color:var(--color-border-default)}.site-wordmark{display:inline-flex;align-items:center;gap:calc(var(--spacing) * 2.5);font-size:.95rem;--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:-0.01em;letter-spacing:-.01em;color:var(--color-text-primary);font-family:var(--font-display)}.site-mark{position:relative;display:inline-block;height:calc(var(--spacing) * 4);width:calc(var(--spacing) * 4);flex-shrink:0}.site-mark::before,.site-mark::after{content:"";position:absolute;background:var(--color-ink);transition:all .45s var(--ease-out-expo)}.site-mark::before{inset:0 50% 50% 0}.site-mark::after{inset:50% 0 0 50%;border-radius:999px}.site-wordmark:hover .site-mark::before{inset:0 0 50% 50%}.site-wordmark:hover .site-mark::after{inset:50% 50% 0 0}.site-nav-link{position:relative;padding-inline:calc(var(--spacing) * 1);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-secondary);&:hover { @media (hover:hover) { color:var(--color-text-primary); } }}.site-nav-link::after{content:"";position:absolute;inset-inline:calc(var(--spacing) * 1);bottom:calc(var(--spacing) * 1);height:1px;background-color:var(--color-ink);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out-expo)}.site-nav-link:hover::after,.site-nav-link.is-active::after{transform:scaleX(1)}.site-nav-link.is-active{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.site-menu-button{height:calc(var(--spacing) * 9);align-items:center;gap:calc(var(--spacing) * 2);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-default);padding-inline:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-primary)}.site-mobile-menu{position:fixed;inset:calc(var(--spacing) * 0);z-index:80;background-color:var(--color-surface-primary);@media(width >= 48rem){display: none;}}.site-mobile-menu-shell{display:flex;height:100%;width:100%;flex-direction:column;overflow-y:auto;padding-bottom:calc(var(--spacing) * 6);padding-inline:var(--gutter)}.site-mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border-subtle);min-height:var(--header-h)}.site-mobile-menu-content{display:flex;flex:1;flex-direction:column;padding-top:calc(var(--spacing) * 6)}.site-mobile-eyebrow{display:inline-flex;align-items:flex-start;gap:calc(var(--spacing) * 2.5);font-family:var(--font-mono);font-size:.72rem;--tw-leading:1.5;line-height:1.5;--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:0.12em;letter-spacing:.12em;color:var(--color-text-muted);text-transform:uppercase;&::before { content:""; margin-top:0.36em; width:0.5rem; height:0.5rem; background:var(--color-ink); flex-shrink:0; }}.site-mobile-links{margin-top:calc(var(--spacing) * 4);display:grid}.site-mobile-link{display:flex;align-items:center;justify-content:space-between;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border-subtle);padding-block:calc(var(--spacing) * 4);color:var(--color-text-primary)}.site-mobile-link::after{content:"→";color:var(--color-text-muted)}.site-mobile-link-text{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:-0.02em;letter-spacing:-.02em;font-family:var(--font-display)}.site-mobile-link.is-active .site-mobile-link-text{text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:8px}.site-mobile-menu.is-open .site-mobile-link{animation:fade-up .5s var(--ease-out-expo)both}.site-mobile-menu.is-open .site-mobile-link:nth-child(2){animation-delay:40ms}.site-mobile-menu.is-open .site-mobile-link:nth-child(3){animation-delay:80ms}.site-mobile-menu.is-open .site-mobile-link:nth-child(4){animation-delay:120ms}.site-mobile-menu.is-open .site-mobile-link:nth-child(5){animation-delay:160ms}.site-mobile-menu.is-open .site-mobile-link:nth-child(6){animation-delay:200ms}.site-mobile-menu.is-open .site-mobile-link:nth-child(7){animation-delay:240ms}.site-mobile-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-border-subtle);padding-top:calc(var(--spacing) * 5)}.site-mobile-contact{display:inline-flex;align-items:center;gap:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-text-primary);&::after { content:"→"; transition:transform 0.35s var(--ease-out-expo); } &:hover::after { transform:translateX(4px); } &:hover { text-decoration-line:underline; text-decoration-thickness:1px; text-underline-offset:4px; }}@media(min-width:768px){#mobile-menu-button{display:none !important}}.hero-portrait{position:relative}.hero-portrait::before{content:"";position:absolute;inset:1rem -1rem -1rem 1rem;background:var(--color-ink);z-index:0}.hero-portrait::after{content:"";position:absolute;width:3.25rem;height:3.25rem;right:-1.625rem;top:-1.625rem;border-radius:999px;border:1px solid var(--color-ink);background:var(--color-paper);z-index:2}.hero-portrait img{position:relative;z-index:1;display:block;aspect-ratio:1/1;width:100%;border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-ink);background-color:var(--color-white);object-fit:cover;--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,);transition:filter .6s ease}.hero-portrait:hover img{filter:grayscale(0)}.fact-list{ :where(& > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); } :where(& > :not(:last-child)) { border-color: var(--color-border-subtle); } border-block-style: var(--tw-border-style);border-block-width:1px;border-color:var(--color-border-subtle)}.fact{display:grid;grid-template-columns:6.5rem 1fr;gap:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fact dt{padding-top:1px;font-family:var(--font-mono);font-size:.75rem;--tw-tracking:0.02em;letter-spacing:.02em;color:var(--color-text-muted)}.fact dd{color:var(--color-text-primary)}.section{padding-block:calc(var(--spacing) * 16);@media(width >= 48rem){padding-block: calc(var(--spacing) * 24);}}.section+.section{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-border-subtle)}.section-head{margin-bottom:calc(var(--spacing) * 10);display:flex;flex-direction:column;gap:calc(var(--spacing) * 4);@media(width >= 48rem){margin-bottom: calc(var(--spacing) * 12);}@media(width >= 48rem){flex-direction: row;}@media(width >= 48rem){align-items: flex-end;}@media(width >= 48rem){justify-content: space-between;}}.section-head-title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.15;letter-spacing:-.025em}.section-head-sub{margin-top:calc(var(--spacing) * 2);max-width:var(--container-xl);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));color:var(--color-text-secondary)}.project-card{position:relative;display:flex;height:100%;flex-direction:column;border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-default);background-color:var(--color-surface-primary);padding:calc(var(--spacing) * 6);@media(width >= 48rem){padding: calc(var(--spacing) * 7);}transition:border-color .25s ease,transform .35s var(--ease-out-expo),box-shadow .35s var(--ease-out-expo)}.project-card:hover{border-color:var(--color-ink);transform:translate(-3px,-3px);box-shadow:3px 3px 0 var(--color-ink)}.project-card-name{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:-0.02em;letter-spacing:-.02em;color:var(--color-text-primary);@media(width >= 48rem){font-size: 1.4rem;}font-family:var(--font-display)}.project-card-name a::after{content:"";position:absolute;inset:0}.project-card-links{position:relative;z-index:1;display:flex;align-items:center;gap:calc(var(--spacing) * 4)}.project-card-links a{font-family:var(--font-mono);font-size:.75rem;--tw-tracking:0.02em;letter-spacing:.02em;color:var(--color-text-muted);color:var(--color-text-primary);text-decoration-line:underline;text-decoration-color:var(--color-border-default);text-underline-offset:4px;&:hover { @media (hover:hover) { text-decoration-color:var(--color-ink); } }}.glyph{position:relative;display:inline-block;height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5);flex-shrink:0}.glyph::before{content:"";position:absolute;inset:0;background:var(--color-ink)}.glyph-1::before{border-radius:999px}.glyph-2::before{clip-path:polygon(50% 0,100% 100%,0 100%)}.glyph-3::before{border-radius:999px 999px 0 0;inset:25% 0 0 0}.glyph-0::before{inset:15%}.content-card{position:relative;display:flex;height:100%;flex-direction:column;border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-default);background-color:var(--color-surface-primary);transition:border-color .25s ease,transform .35s var(--ease-out-expo),box-shadow .35s var(--ease-out-expo)}.content-card:hover{border-color:var(--color-ink);transform:translate(-3px,-3px);box-shadow:3px 3px 0 var(--color-ink)}.content-card-media{overflow:hidden;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border-default);background-color:var(--color-surface-secondary)}.content-card-media img{width:100%;object-fit:cover;--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,);transition:filter .5s ease,transform .8s var(--ease-out-expo)}.content-card:hover .content-card-media img{filter:grayscale(0);transform:scale(1.03)}.content-card-body{display:flex;flex:1;flex-direction:column;padding:calc(var(--spacing) * 6)}.content-card-title{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-leading:var(--leading-snug);line-height:var(--leading-snug);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:-0.02em;letter-spacing:-.02em;color:var(--color-text-primary);font-family:var(--font-display)}.content-card-text{margin-top:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--color-text-secondary)}.card-media.is-fallback{--tw-border-style:dashed;border-style:dashed}.post-list{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-ink)}.post-row{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));column-gap:calc(var(--spacing) * 8);row-gap:calc(var(--spacing) * 2);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border-subtle);padding-block:calc(var(--spacing) * 7);@media(width >= 48rem){grid-template-columns: 9rem 1fr auto;}}.post-row-date{font-family:var(--font-mono);font-size:.75rem;--tw-tracking:0.02em;letter-spacing:.02em;color:var(--color-text-muted);@media(width >= 48rem){padding-top: calc(var(--spacing) * 1.5);}}.post-row-title{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-leading:var(--leading-snug);line-height:var(--leading-snug);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:-0.02em;letter-spacing:-.02em;color:var(--color-text-primary);@media(width >= 48rem){font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height));}font-family:var(--font-display);background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .45s var(--ease-out-expo)}.post-row:hover .post-row-title{background-size:100% 1px}.post-row-excerpt{margin-top:calc(var(--spacing) * 2);max-width:var(--container-2xl);font-size:.95rem;--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--color-text-secondary)}.post-row-thumb{display:none;height:calc(var(--spacing) * 24);width:calc(var(--spacing) * 36);overflow:hidden;border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-default);@media(width >= 48rem){display: block;}}.post-row-thumb img{height:100%;width:100%;object-fit:cover;--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,);transition:filter .5s ease}.post-row:hover .post-row-thumb img{filter:grayscale(0)}.blog-card,.post-card{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:200ms;transition-duration:200ms}.page-header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border-subtle);padding-top:calc(var(--spacing) * 12);padding-bottom:calc(var(--spacing) * 10);@media(width >= 48rem){padding-top: calc(var(--spacing) * 20);}@media(width >= 48rem){padding-bottom: calc(var(--spacing) * 14);}}.page-title{font-family:var(--font-display);font-weight:600;font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.05;letter-spacing:-.03em}.article-title{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.08;letter-spacing:-.03em}.tag-chip{display:inline-flex;align-items:center;border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-default);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * .5);font-family:var(--font-mono);font-size:.68rem;color:var(--color-text-secondary)}.site-footer{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-ink)}.footer-title{font-family:var(--font-mono);font-size:.75rem;--tw-tracking:0.02em;letter-spacing:.02em;color:var(--color-text-muted);--tw-tracking:0.1em;letter-spacing:.1em;text-transform:uppercase}.footer-link{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-secondary);&:hover { @media (hover:hover) { color:var(--color-text-primary); } } &:hover { @media (hover:hover) { text-decoration-line:underline; } } &:hover { @media (hover:hover) { text-underline-offset:4px; } }}.share-stack{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-default);background-color:var(--color-surface-primary);padding:calc(var(--spacing) * 1.5);transition:opacity .3s ease}.share-chip{display:inline-flex;height:calc(var(--spacing) * 9);width:calc(var(--spacing) * 9);align-items:center;justify-content:center;border-style:var(--tw-border-style);border-width:1px;border-color:transparent;background-color:var(--color-surface-primary);padding:calc(var(--spacing) * 0);color:var(--color-text-secondary);transition:background-color .2s ease,color .2s ease}.share-chip:hover{background-color:var(--color-ink);color:var(--color-white)}.copy-link-btn.is-copied{background-color:var(--color-ink);color:var(--color-white)}.prose{max-width:none;font-size:1.0625rem;--tw-leading:1.75;line-height:1.75;color:var(--color-text-secondary);@media(width >= 48rem){font-size: 1.125rem;}}.prose :where(h1,h2,h3,h4,h5,h6):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-text-primary);font-family:var(--font-display);letter-spacing:-.025em}.prose h1{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.prose h2{margin-top:calc(var(--spacing) * 14);font-size:1.75rem;--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);@media(width >= 48rem){font-size: 2rem;}}.prose h2::before{content:"";display:block;width:2rem;height:3px;margin-bottom:1rem;background:var(--color-ink)}.prose h3{margin-top:calc(var(--spacing) * 10);font-size:1.35rem;--tw-leading:var(--leading-snug);line-height:var(--leading-snug);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.prose p{color:var(--color-text-secondary)}.prose a{color:var(--color-text-primary);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:4px;&:hover { @media (hover:hover) { text-decoration-thickness:2px; } }}.prose strong{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.prose code{background-color:var(--color-surface-secondary);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);font-family:var(--font-mono);font-size:.85em;color:var(--color-text-primary)}.prose code::before,.prose code::after{content:none}.prose pre{overflow-x:auto;border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-default);background-color:var(--color-surface-secondary);padding:calc(var(--spacing) * 4)}.prose pre code{background-color:transparent;padding:calc(var(--spacing) * 0)}.code-block-container{margin-block:calc(var(--spacing) * 8);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-default);background-color:var(--color-surface-secondary)}.code-block-content .highlight,.code-block-content .highlight>div,.code-block-content pre,.code-block-content pre.chroma{background-color:transparent !important;margin:0 !important;padding:0 !important;border:none !important;overflow-x:auto}.code-block-content code{background-color:transparent !important;padding:0 !important;font-family:var(--font-mono);font-size:.875rem;line-height:1.625}.prose .code-block-container pre{border:none !important;background:0 0 !important;padding:0 !important;margin:0 !important}.prose .code-block-container pre code{background:0 0 !important;padding:0 !important}.prose blockquote{margin-block:calc(var(--spacing) * 10);border-left-style:var(--tw-border-style);border-left-width:3px;border-color:var(--color-ink);padding-left:calc(var(--spacing) * 6);--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--color-text-primary);font-style:normal;font-size:1.2em;line-height:1.55}.prose blockquote p{color:inherit}.prose blockquote p:first-of-type::before,.prose blockquote p:last-of-type::after{content:none}.prose ul,.prose ol{color:var(--color-text-secondary)}.prose ul>li::marker{color:var(--color-text-primary)}.prose hr{margin-block:calc(var(--spacing) * 12);border-color:var(--color-border-default)}.prose img{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-subtle)}.prose table{margin-block:calc(var(--spacing) * 0);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.prose thead{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-ink)}.prose thead th{font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-primary)}.table-responsive{margin-block:calc(var(--spacing) * 8);overflow-x:auto;border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-default)}.table-responsive table{margin:calc(var(--spacing) * 0)}.table-responsive th,.table-responsive td{padding-inline:calc(var(--spacing) * 4)}.copy-button{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-default);background-color:var(--color-surface-primary);padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1);font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-secondary);&:hover { @media (hover:hover) { border-color:var(--color-ink); } } &:hover { @media (hover:hover) { color:var(--color-text-primary); } }}.bg-grid-pattern{background-image:linear-gradient(rgba(10,10,10,6%) 1px,transparent 1px),linear-gradient(90deg,rgba(10,10,10,6%) 1px,transparent 1px);background-size:2rem 2rem}.sr-only{position:absolute;margin:-1px;height:1px;width:1px;overflow:hidden;border-style:var(--tw-border-style);border-width:0;padding:calc(var(--spacing) * 0);white-space:nowrap;clip:rect(0,0,0,0)}@media print{body{background-color:var(--color-white);color:var(--color-black)}#floating-share,#floating-share-mobile,.site-header{display:none !important}.prose{color:var(--color-black)}.prose a[href^=http]::after{content:" (" attr(href)")";font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-gray-600)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;animation-delay:0ms !important;scroll-behavior:auto !important;transition-duration:.01ms !important;transition-delay:0ms !important}.fade-up,.js [data-reveal]{opacity:1;transform:none}}.callout{margin-block:calc(var(--spacing) * 8);border-left-style:var(--tw-border-style);border-left-width:3px;background-color:var(--color-surface-secondary);padding:calc(var(--spacing) * 5);border-color:var(--color-ink)}.callout-title{margin-bottom:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.callout-body{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--color-text-secondary)}.callout-body>:first-child{margin-top:0}.callout-body>:last-child{margin-bottom:0}.callout-note,.callout-info{border-color:var(--color-info)}.callout-tip,.callout-success{border-color:var(--color-success)}.callout-warning,.callout-important{border-color:var(--color-warning)}.callout-danger,.callout-error{border-color:var(--color-error)}.mermaid{margin-block:calc(var(--spacing) * 8);overflow-x:auto;border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-subtle);background-color:var(--color-surface-primary);padding:calc(var(--spacing) * 4);text-align:center}@property --tw-leading{syntax: "*";
  inherits: false;
}@property --tw-font-weight{syntax: "*";
  inherits: false;
}@property --tw-tracking{syntax: "*";
  inherits: false;
}@property --tw-border-style{syntax: "*";
  inherits: false;
  initial-value: solid;
}@property --tw-translate-x{syntax: "*";
  inherits: false;
  initial-value: 0;
}@property --tw-translate-y{syntax: "*";
  inherits: false;
  initial-value: 0;
}@property --tw-translate-z{syntax: "*";
  inherits: false;
  initial-value: 0;
}@property --tw-rotate-x{syntax: "*";
  inherits: false;
}@property --tw-rotate-y{syntax: "*";
  inherits: false;
}@property --tw-rotate-z{syntax: "*";
  inherits: false;
}@property --tw-skew-x{syntax: "*";
  inherits: false;
}@property --tw-skew-y{syntax: "*";
  inherits: false;
}@property --tw-space-y-reverse{syntax: "*";
  inherits: false;
  initial-value: 0;
}@property --tw-backdrop-blur{syntax: "*";
  inherits: false;
}@property --tw-backdrop-brightness{syntax: "*";
  inherits: false;
}@property --tw-backdrop-contrast{syntax: "*";
  inherits: false;
}@property --tw-backdrop-grayscale{syntax: "*";
  inherits: false;
}@property --tw-backdrop-hue-rotate{syntax: "*";
  inherits: false;
}@property --tw-backdrop-invert{syntax: "*";
  inherits: false;
}@property --tw-backdrop-opacity{syntax: "*";
  inherits: false;
}@property --tw-backdrop-saturate{syntax: "*";
  inherits: false;
}@property --tw-backdrop-sepia{syntax: "*";
  inherits: false;
}@property --tw-duration{syntax: "*";
  inherits: false;
}@property --tw-scale-x{syntax: "*";
  inherits: false;
  initial-value: 1;
}@property --tw-scale-y{syntax: "*";
  inherits: false;
  initial-value: 1;
}@property --tw-scale-z{syntax: "*";
  inherits: false;
  initial-value: 1;
}@property --tw-space-x-reverse{syntax: "*";
  inherits: false;
  initial-value: 0;
}@property --tw-outline-style{syntax: "*";
  inherits: false;
  initial-value: solid;
}@property --tw-blur{syntax: "*";
  inherits: false;
}@property --tw-brightness{syntax: "*";
  inherits: false;
}@property --tw-contrast{syntax: "*";
  inherits: false;
}@property --tw-grayscale{syntax: "*";
  inherits: false;
}@property --tw-hue-rotate{syntax: "*";
  inherits: false;
}@property --tw-invert{syntax: "*";
  inherits: false;
}@property --tw-opacity{syntax: "*";
  inherits: false;
}@property --tw-saturate{syntax: "*";
  inherits: false;
}@property --tw-sepia{syntax: "*";
  inherits: false;
}@property --tw-drop-shadow{syntax: "*";
  inherits: false;
}@property --tw-drop-shadow-color{syntax: "*";
  inherits: false;
}@property --tw-drop-shadow-alpha{syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}@property --tw-drop-shadow-size{syntax: "*";
  inherits: false;
}@property --tw-divide-y-reverse{syntax: "*";
  inherits: false;
  initial-value: 0;
}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-border-style: solid;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-space-x-reverse: 0;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-divide-y-reverse: 0;
    }
  }
}