@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,dl,dd{margin:0}}@layer theme{:root{color-scheme:light dark;--logo-filter:none;--paper:light-dark(#e9ede5,#0c100d);--project-fill:color-mix(in oklab, var(--ink) 3.5%, var(--paper));--theme-active:color-mix(in oklab, var(--ink) 9%, var(--paper));--ink:light-dark(#222920,#e7ece3);--muted:light-dark(#596353,#9ca796);--rule:color-mix(in oklab, var(--ink) 14%, var(--paper));--section-bleed:clamp(.75rem, 3vw, 1.5rem);--section-space:clamp(3rem, 6vw, 4.5rem);--contact-space:clamp(4.5rem, 9vw, 6rem);--accent:#3ed42a;--button-fill:var(--accent);--button-ink:#0c100d;--button-hover:color-mix(in oklab, var(--accent) 85%, var(--ink));--accent-ink:light-dark(#247719,#3ed42a);--selection:light-dark(#d6f5d1,#254820);--font-display:"Bricolage Grotesque", "Helvetica Neue", sans-serif;--font-sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}@media (prefers-color-scheme:dark){:root{--logo-filter:invert(1)}}:root:has(#theme-light:checked){color-scheme:light;--logo-filter:none}:root:has(#theme-dark:checked){color-scheme:dark;--logo-filter:invert(1)}}@layer base{html{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable;font-size:16px;line-height:1.65}body{-webkit-font-smoothing:antialiased;min-inline-size:280px}::selection{color:var(--ink);background:var(--selection)}a{color:inherit;text-decoration-color:var(--rule);text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--accent-ink);text-decoration-color:currentColor}a:focus-visible{outline:2px solid var(--accent-ink);outline-offset:5px;border-radius:2px}[data-theme-name]{interpolate-size:allow-keywords;white-space:nowrap;opacity:0;inline-size:0;margin-inline-start:0;overflow:hidden}[data-theme-option]:has(:checked){--theme-option-ink:var(--ink);--theme-option-fill:var(--theme-active)}[data-theme-option]:has(:checked) [data-theme-name]{opacity:1;inline-size:auto;margin-inline-start:.375rem}[data-theme-option]:has(:focus-visible){outline:2px solid var(--accent-ink);outline-offset:2px}p{text-wrap:pretty}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}[data-theme-name]{transition:inline-size .24s cubic-bezier(.2,0,0,1),margin-inline-start .24s cubic-bezier(.2,0,0,1),opacity .18s}[data-theme-option]{transition:background-color .18s,color .18s}a{transition:color .18s,text-decoration-color .18s}}}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 700;font-display:swap;src:url(../../../fonts/bricolage-grotesque-latin-variable.woff2)format("woff2")}

@layer priority1;

@layer priority2 {
  .xkdpibf {
    margin: -1px;
  }

  .x1ghz6dp {
    margin: 0;
  }

  .x78pyy4 {
    padding: .25rem;
  }

  .xrqs5gp {
    padding: .5rem 1rem;
  }

  .xb9jsqv {
    padding: .75rem 1.125rem;
  }

  .x1717udv {
    padding: 0;
  }

  .xomzojh {
    padding: 1.25rem;
  }

  .xr6jg0x {
    padding: 2rem;
  }

  @media (width <= 600px) {
    .xxvohzh.xxvohzh {
      padding: 1.5rem;
    }
  }
}

@layer priority3 {
  .x116uinm {
    border-radius: .5rem;
  }

  .xmx9ex2 {
    border-radius: .625rem;
  }

  .xx20hqb {
    border-radius: 2rem;
  }

  .xc342km {
    border-width: 0;
  }

  .x1enigpx {
    gap: .125rem;
  }

  .x13z6uf9 {
    gap: .5rem;
  }

  .x8233eu {
    gap: .75rem;
  }

  .x1fsutb {
    gap: .875rem;
  }

  .x15iy025 {
    gap: 1.25rem;
  }

  .xru8eyw {
    gap: 1.5rem;
  }

  .x8fetqu {
    gap: 1rem;
  }

  .x1h4iudz {
    gap: 2rem;
  }

  .x683xrc {
    gap: var(--section-space);
  }

  .x1osaytk {
    grid-column: 1 / -1;
  }

  .xjej8gk {
    grid-row: span 2;
  }

  .x10im51j {
    margin-block: 0;
  }

  .xvueqy4 {
    margin-inline: auto;
  }

  .x7p8vjf {
    margin-inline: calc(-1 * var(--section-bleed));
  }

  .xb3r6kr {
    overflow: hidden;
  }

  .xvpgqt4 {
    padding-inline: .625rem;
  }

  .xw4edqq {
    padding-inline: 2rem;
  }

  .x1t6c189 {
    padding-inline: var(--section-bleed);
  }

  .x1hl2dhg {
    text-decoration: none;
  }

  @media (width <= 600px) {
    .x18smyuk.x18smyuk {
      grid-row: auto;
    }
  }

  @media (width <= 480px) {
    .x1st141g.x1st141g {
      padding-inline: 1.5rem;
    }
  }

  @media (width <= 600px) {
    .x1i6i2zq.x1i6i2zq {
      padding-inline: 1.5rem;
    }
  }
}

@layer priority4 {
  .x6s0dn4 {
    align-items: center;
  }

  .x12d683b {
    animation-delay: var(--reveal-delay, 0s);
  }

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

  .xskzprw {
    animation-fill-mode: backwards;
  }

  .x1a5igra {
    animation-name: none;
  }

  .x1lfcbla {
    animation-timing-function: cubic-bezier(.22, 1, .36, 1);
  }

  .x1t853zo {
    backdrop-filter: none;
  }

  .xnx8igs {
    background-color: color-mix(in oklab,var(--accent-ink) 9%,var(--paper));
  }

  .xjbqb8w {
    background-color: #0000;
  }

  .xe8lh4o {
    background-color: var(--button-fill);
  }

  .xsh0q14 {
    background-color: var(--paper);
  }

  .xm5mge2 {
    background-color: var(--project-fill);
  }

  .x1bnkf6n {
    background-color: var(--theme-option-fill, transparent);
  }

  .x1hyvwdk {
    clip-path: inset(50%);
  }

  .xa7332p {
    color: var(--accent-ink);
  }

  .x1lfsc2b {
    color: var(--button-ink);
  }

  .x1lk8qxj {
    color: var(--ink);
  }

  .x17j02y5 {
    color: var(--muted);
  }

  .x7sw75y {
    color: var(--theme-option-ink, var(--muted));
  }

  .x1r3dd9g {
    column-gap: 1.25rem;
  }

  .xgvynzx {
    column-gap: 1.5rem;
  }

  .x1ypdohk {
    cursor: pointer;
  }

  .x1lliihq {
    display: block;
  }

  .x78zum5 {
    display: flex;
  }

  .xrvj5dj {
    display: grid;
  }

  .x3nfvp2 {
    display: inline-flex;
  }

  .xq1xjix {
    filter: var(--logo-filter);
  }

  .xdt5ytf {
    flex-direction: column;
  }

  .x2lah0s {
    flex-shrink: 0;
  }

  .x1a02dak {
    flex-wrap: wrap;
  }

  .x1arfh7o {
    font-family: var(--font-display);
  }

  .xpw0y0u {
    font-family: var(--font-mono);
  }

  .xhtk421 {
    font-family: var(--font-sans);
  }

  .xboafo0 {
    font-size: .75rem;
  }

  .x1dcheo9 {
    font-size: .8125rem;
  }

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

  .x6u19be {
    font-size: .9375rem;
  }

  .x1lkfr7t {
    font-size: 1.0625rem;
  }

  .x1603h9y {
    font-size: 1.25rem;
  }

  .xngnso2 {
    font-size: 1.5rem;
  }

  .xe791qr {
    font-size: clamp(2.625rem, 6.5vw, 3.625rem);
  }

  .x1k4tb9n {
    font-style: italic;
  }

  .xo1l8bm {
    font-weight: 400;
  }

  .xk50ysn {
    font-weight: 500;
  }

  .xc5bn84 {
    grid-template-columns: 1fr .7fr 1.4fr;
  }

  .xouvnr4 {
    grid-template-columns: 9rem 1fr;
  }

  .xnby9oq {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .xl56j7k {
    justify-content: center;
  }

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

  .x1lqcxt8 {
    justify-self: start;
  }

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

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

  .x1vsts26 {
    line-height: 1.08;
  }

  .xwn7fz2 {
    line-height: 1.3;
  }

  .xa7kkou {
    line-height: 1.7;
  }

  .x4q1cud {
    line-height: 1.75;
  }

  .xwxc2jc {
    line-height: 1.8;
  }

  .x3ct3a4 {
    list-style-type: none;
  }

  .xvc5jky {
    margin-inline-start: auto;
  }

  .x19kjcj4 {
    object-fit: contain;
  }

  .x115dhu7 {
    object-position: center;
  }

  .x1us6l5c {
    opacity: .8;
  }

  .x47corl {
    pointer-events: none;
  }

  .x10l6tqk {
    position: absolute;
  }

  .xixxii4 {
    position: fixed;
  }

  .x1n2onr6 {
    position: relative;
  }

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

  .x1rnwn48 {
    row-gap: .75rem;
  }

  .xp4054r {
    text-align: end;
  }

  .x1w2vvpw {
    text-wrap: balance;
  }

  .x1bee3ir {
    transform: translateY(-200%);
  }

  .xnn1q72 {
    transform: translateY(0);
  }

  .x9dyr19 {
    transition-duration: .18s;
  }

  .x43t7r1 {
    transition-duration: .24s;
  }

  .x13b0p5u {
    transition-property: none;
  }

  .xuxw1ft {
    white-space: nowrap;
  }

  .x1355qak {
    z-index: 20;
  }

  .x1u8a7rm {
    z-index: 5;
  }

  .xwunzdm:focus-visible {
    transform: translateY(-1px);
  }

  .x67r9br:hover {
    background-color: var(--button-hover);
  }

  .x1wzjvav:hover {
    color: var(--button-ink);
  }

  .x14ow2ja:hover {
    transform: translateY(-1px);
  }

  .x1lz31oe:hover {
    transform: translateY(-2px);
  }

  .x1wfrlr2:focus {
    transform: translateY(0);
  }

  @media (prefers-reduced-motion: no-preference) {
    .xnatsys.xnatsys {
      animation-name: x18txsz1-B;
    }

    .xyx8qzx.xyx8qzx {
      animation-name: x1bzi508-B;
    }
  }

  @media (width <= 600px) {
    .x1ujgws0.x1ujgws0 {
      backdrop-filter: blur(12px);
    }
  }

  @media (width >= 600.01px) and (width <= 1080px) {
    .ximhxbm.ximhxbm {
      background-color: var(--paper);
    }
  }

  @media (width <= 600px) {
    .xp331rp.xp331rp {
      background-color: var(--sticky-paper);
    }

    .x1nc4n6v.x1nc4n6v {
      grid-template-columns: 1fr;
    }
  }

  @media (width <= 1080px) {
    .x18lsh1i.x18lsh1i {
      pointer-events: auto;
    }
  }

  @media (prefers-reduced-motion: no-preference) {
    .x15w9qrm.x15w9qrm {
      transition-property: background-color, transform;
    }

    .x18vmqv2.x18vmqv2 {
      transition-property: color, text-decoration-color, transform;
    }
  }
}

@layer priority5 {
  .xphj0bc {
    border-top-color: var(--rule);
  }

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

  .xt8cgyo {
    border-top-width: .5px;
  }

  .xaylbqo {
    height: 1.125rem;
  }

  .xjm9jq1 {
    height: 1px;
  }

  .x1l36t39 {
    height: 1rem;
  }

  .xettwda {
    height: 2rem;
  }

  .x1pizb70 {
    height: 3rem;
  }

  .x1akn3zk {
    height: var(--site-header-height);
  }

  .xu96u03 {
    left: 0;
  }

  .x1pemb1n {
    left: 1rem;
  }

  .x18jvhmb {
    margin-bottom: .375rem;
  }

  .xhbfen4 {
    margin-bottom: .5rem;
  }

  .xc8tqf8 {
    margin-bottom: 1.75rem;
  }

  .x11n5ivu {
    margin-bottom: calc(var(--section-space) / -2);
  }

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

  .x5y4uik {
    margin-top: .625rem;
  }

  .x1oj292p {
    margin-top: calc(var(--contact-space) - var(--section-space));
  }

  .x1hm9d3a {
    margin-top: var(--section-space);
  }

  .xvshf5z {
    max-width: 2.6875rem;
  }

  .xnayef {
    max-width: 27rem;
  }

  .xu4g937 {
    max-width: 35rem;
  }

  .x14grgdy {
    max-width: 43rem;
  }

  .xr11g0f {
    max-width: 6rem;
  }

  .x1cx6wtl {
    max-width: 9rem;
  }

  .x19wm6jj {
    min-height: 2.25rem;
  }

  .xgbkey0 {
    min-height: 2.75rem;
  }

  .x1iat63c {
    min-height: 2.875rem;
  }

  .xeuugli {
    min-width: 0;
  }

  .x1arx1u8 {
    min-width: 2.25rem;
  }

  .x1fh90og {
    padding-bottom: 2.5rem;
  }

  .x2o2gx1 {
    padding-bottom: calc(var(--contact-space) - var(--section-space));
  }

  .xrhwvvd {
    padding-top: .125rem;
  }

  .x1avz1e6 {
    padding-top: 11rem;
  }

  .x1rdkfm5 {
    padding-top: calc(var(--section-space) / 2);
  }

  .x6vio5b {
    padding-top: env(safe-area-inset-top);
  }

  .x1wnn79c {
    padding-top: var(--contact-space);
  }

  .x9h55v {
    padding-top: var(--section-space);
  }

  .x3m8u43 {
    right: 0;
  }

  .x13vifvy {
    top: 0;
  }

  .x1nwpe0i {
    top: 1rem;
  }

  .xsk17dz {
    width: 1.125rem;
  }

  .xh8yej3 {
    width: 100%;
  }

  .x1i1rx1s {
    width: 1px;
  }

  .xcdlrvm {
    width: 1rem;
  }

  .x188tqju {
    width: 3rem;
  }

  @media (width <= 600px) {
    .x1sv0ez3.x1sv0ez3 {
      padding-top: 8rem;
    }
  }
}

@keyframes x18txsz1-B {
  from {
    border-top-color: #0000;
  }

  to {
    border-top-color: var(--rule);
  }
}

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

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