@font-face{font-family:sora;src:url(/assets/sora-latin-400-600-HHbI8v9O.woff2)format("woff2");font-display:optional;font-weight:400 600}@font-face{font-family:sora Fallback;src:local(Arial);ascent-override:85.11%;descent-override:25.44%;line-gap-override:0%;size-adjust:113.97%}@font-face{font-family:jetBrainsMono;src:url(/assets/jetbrains-mono-latin-400-B1Vpzvcx.woff2)format("woff2");font-display:optional;font-weight:400}@font-face{font-family:jetBrainsMono Fallback;src:local(Arial);ascent-override:77.57%;descent-override:22.82%;line-gap-override:0%;size-adjust:131.49%}@layer base{:root{--color-paper:#0a0a0a;--color-ink:#ededed;--color-ink-dim:#a3a3a3;--color-ink-faint:#7d7d7d;--color-line:#ffffff14;--color-white:#fff;--font-sans:sora, "sora Fallback", system-ui, sans-serif;--font-mono:jetBrainsMono, "jetBrainsMono Fallback", ui-monospace, "SF Mono", monospace;--ease-out-quart:cubic-bezier(.23, 1, .32, 1)}*,:before,:after{box-sizing:border-box;border:0 solid;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;line-height:1.5;overflow-x:clip}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}ol,ul{list-style:none}img,svg,video{vertical-align:middle;max-width:100%;display:block}body{background-color:var(--color-paper);color:var(--color-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}::selection{background-color:var(--color-ink);color:var(--color-paper)}:focus-visible{outline:2px solid var(--color-ink);outline-offset:4px;border-radius:1px}}@supports (animation-timeline:view()){.reveal{animation:linear both reveal;animation-timeline:view();animation-range:entry entry 48%}}@keyframes reveal{0%{transform:translateY(18px)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.reveal{animation:none}}.prose-quiet p+p{margin-top:.75em}.link-quiet{text-decoration:underline;-webkit-text-decoration-color:var(--color-line);text-decoration-color:var(--color-line);text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}@media (hover:hover) and (pointer:fine){.link-quiet:hover{color:var(--color-ink);-webkit-text-decoration-color:var(--color-ink-faint);text-decoration-color:var(--color-ink-faint)}}.link-quiet:active{opacity:.7}.project-link{transition:transform .16s var(--ease-out-quart), color .2s ease}.project-link:active{transform:scale(.99)}.project-arrow{transition:transform .2s var(--ease-out-quart)}@media (hover:hover) and (pointer:fine){.project-link:hover{color:var(--color-white)}.project-link:hover .project-arrow{transform:translate(3px,-3px)}}

@layer priority1;

@layer priority2 {
  .x845mor {
    flex: 1;
  }

  .x13z6uf9 {
    gap: .5rem;
  }

  .xru8eyw {
    gap: 1.5rem;
  }

  .x8fetqu {
    gap: 1rem;
  }

  .xvueqy4 {
    margin-inline: auto;
  }

  .x1yb22fu {
    padding-block: 1.5rem;
  }

  .xo1w8sn {
    padding-block: 2.25rem;
  }

  .x1j6fjeo {
    padding-block: 2.5rem;
  }

  .xic3azd {
    padding-block: 3rem;
  }

  .xzsmjar {
    padding-inline: 1.5rem;
  }

  @media (width >= 640px) {
    .xehph39.xehph39 {
      gap: 0;
    }
  }
}

@layer priority3 {
  .x1pha0wt {
    align-items: baseline;
  }

  .x6s0dn4 {
    align-items: center;
  }

  .xvo38ju {
    animation-delay: var(--x-animationDelay);
  }

  .xegkacw {
    animation-duration: .9s;
  }

  .x1u6ievf {
    animation-fill-mode: both;
  }

  .xs27vgh {
    animation-name: xm5l8rt-B;
  }

  .xfl9z6j {
    animation-name: xn6vz5e-B;
  }

  .x1ytli57 {
    animation-timing-function: cubic-bezier(.23, 1, .32, 1);
  }

  .xa9j65a {
    background-color: #ffffff14;
  }

  .x1gy7zji {
    color: #fff;
  }

  .xapc9gf {
    color: #ededed;
  }

  .xhpkkvc {
    color: #7d7d7d;
  }

  .xfbo0af {
    color: #a3a3a3;
  }

  .xgvynzx {
    column-gap: 1.5rem;
  }

  .x78zum5 {
    display: flex;
  }

  .xrvj5dj {
    display: grid;
  }

  .x3nfvp2 {
    display: inline-flex;
  }

  .x1s85apg {
    display: none;
  }

  .xdt5ytf {
    flex-direction: column;
  }

  .x2lah0s {
    flex-shrink: 0;
  }

  .x1a02dak {
    flex-wrap: wrap;
  }

  .x13rpl20 {
    font-family: jetBrainsMono, jetBrainsMono Fallback, ui-monospace, SF Mono, monospace;
  }

  .xkpwil5 {
    font-size: .875rem;
  }

  .x1c3i2sq {
    font-size: 1.125rem;
  }

  .x1603h9y {
    font-size: 1.25rem;
  }

  .xngnso2 {
    font-size: 1.5rem;
  }

  .x1j6dyjg {
    font-size: 11px;
  }

  .x4z9k3i {
    font-size: 13px;
  }

  .x1jvydc1 {
    font-size: 15px;
  }

  .x19d36u7 {
    font-size: 17px;
  }

  .x1jchvi3 {
    font-size: 1rem;
  }

  .x8cw2a4 {
    font-size: 3rem;
  }

  .xk50ysn {
    font-weight: 500;
  }

  .x1s688f {
    font-weight: 600;
  }

  .x1noms9b {
    grid-template-columns: none;
  }

  .x1qughib {
    justify-content: space-between;
  }

  .x1w69ole {
    letter-spacing: -.025em;
  }

  .x6qtydf {
    letter-spacing: .25em;
  }

  .xribhvm {
    letter-spacing: .2em;
  }

  .x8r4c90 {
    line-height: 1.25rem;
  }

  .x1pujyh6 {
    line-height: 1.375;
  }

  .x17mssa0 {
    line-height: 1.5rem;
  }

  .x1ksxc8v {
    line-height: 1.625;
  }

  .xladpa3 {
    line-height: 1.75rem;
  }

  .xo5v014 {
    line-height: 1;
  }

  .xhacrq1 {
    line-height: 2rem;
  }

  .x16d2dfz {
    opacity: .03;
  }

  .x47corl {
    pointer-events: none;
  }

  .x10l6tqk {
    position: absolute;
  }

  .x1n2onr6 {
    position: relative;
  }

  .x5qd032 {
    row-gap: .25rem;
  }

  .xtvhhri {
    text-transform: uppercase;
  }

  .x1w2vvpw {
    text-wrap: balance;
  }

  .x1fzhlzt {
    text-wrap: pretty;
  }

  .x87ps6o {
    -webkit-user-select: none;
    user-select: none;
  }

  @media (prefers-reduced-motion: reduce) {
    .x1aquc0h.x1aquc0h {
      animation-name: none;
    }
  }

  @media (width >= 640px) {
    .x1hgqwjb.x1hgqwjb {
      display: block;
    }

    .xzf0vy0.xzf0vy0 {
      font-size: 3.75rem;
    }

    .xo5t3d5.xo5t3d5 {
      grid-template-columns: 3.5rem 1fr;
    }
  }
}

@layer priority4 {
  .xf4hmxr {
    border-bottom-color: #ffffff14;
  }

  .x1q0q8m5 {
    border-bottom-style: solid;
  }

  .xso031l {
    border-bottom-width: 1px;
  }

  .xq0234p {
    border-top-color: #ffffff14;
  }

  .x13fuv20 {
    border-top-style: solid;
  }

  .x178xt8z {
    border-top-width: 1px;
  }

  .xf08kfj {
    height: .875rem;
  }

  .xb8l8e1 {
    height: 1.75rem;
  }

  .x1qz947n {
    height: 18rem;
  }

  .xjm9jq1 {
    height: 1px;
  }

  .x1l36t39 {
    height: 1rem;
  }

  .x1gr9t9r {
    margin-bottom: .75rem;
  }

  .x1tbvfm1 {
    margin-top: .25rem;
  }

  .x1mjqqkp {
    margin-top: .5rem;
  }

  .xhj8ucd {
    margin-top: .75rem;
  }

  .xwg69jb {
    margin-top: 1.25rem;
  }

  .xj1urod {
    margin-top: 1rem;
  }

  .xi81crv {
    margin-top: 2.25rem;
  }

  .x1fgj74o {
    margin-top: 6rem;
  }

  .xc0i79g {
    max-width: 36rem;
  }

  .x1jb01v5 {
    max-width: 42rem;
  }

  .x1ov3xa9 {
    min-height: 100dvh;
  }

  .x128v7jw {
    padding-top: 2rem;
  }

  .x117yac4 {
    padding-top: 6rem;
  }

  .xfd2sqk {
    padding-top: 7rem;
  }

  .x1mgwtk2 {
    right: -4rem;
  }

  .xoojcgd {
    top: -1rem;
  }

  .xh8yej3 {
    width: 100%;
  }

  .x1i1rx1s {
    width: 1px;
  }

  .xcdlrvm {
    width: 1rem;
  }

  .x14atkfc {
    width: auto;
  }

  .x1t1lzn6:last-child {
    border-bottom-width: 0;
  }

  @media (width >= 640px) {
    .x82r6q1.x82r6q1 {
      margin-top: 8rem;
    }

    .x1d7voy7.x1d7voy7 {
      padding-top: 10rem;
    }

    .xcjilzu.xcjilzu {
      padding-top: 3rem;
    }

    .x1u2qypu.x1u2qypu {
      padding-top: 8rem;
    }
  }
}

@property --x-animationDelay {
  syntax: "*";
  inherits: false
}

@keyframes xn6vz5e-B {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes xm5l8rt-B {
  from {
    transform: translateY(14px);
  }

  to {
    transform: translateY(0);
  }
}
