

:root {
  --paper: #ffffff;
  --ink: #161614;
  --ink-soft: #5f5f5a;
  --font: "Switzer", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --edge: clamp(20px, 3.6vw, 52px);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
  --ease-wipe: cubic-bezier(0.76, 0, 0.24, 1);


  color-scheme: light;
}


:root { --cursor: auto; --cursor-hand: pointer; }
@media (hover: hover) and (pointer: fine) {
  :root {
    --cursor: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2222%22 height=%2222%22 viewBox=%220 0 32 32%22%3E%3Cg fill=%22none%22 stroke=%22%23161614%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4.20 2.60 L4.30 25.40 L9.60 20.10 L13.70 28.60 L17.40 27.00 L13.40 18.40 L21.60 18.30Z%22 fill=%22%23fff%22 stroke=%22none%22/%3E%3Cpath d=%22M5.79 11.15 L9.38 10.35 L9.24 12.78 L5.47 13.64 L5.44 14.27 L8.68 13.20 L9.11 16.08 L5.55 16.19 L6.15 17.61 L9.29 16.34 L9.77 18.13 L6.43 19.09 L5.57 19.62 L8.97 19.60%22 stroke-width=%22.7%22 opacity=%22.45%22/%3E%3Cpath d=%22M4.46 2.58 L4.65 4.92 L4.69 7.25 L4.66 9.59 L4.51 11.93 L4.53 14.26 L4.50 16.60 L4.35 18.94 L4.30 21.27 L4.25 23.61 L4.03 25.95 M3.76 25.86 L5.56 23.74 L7.55 21.82 L9.89 20.25 M9.95 20.00 L11.05 22.16 L11.81 24.49 L12.66 26.77 L13.61 29.01 M12.72 28.69 L15.18 27.87 L17.75 27.33 M17.61 28.03 L16.40 25.59 L15.38 23.05 L14.29 20.55 L13.15 18.07 M13.11 18.36 L16.16 18.58 L19.21 18.49 L22.26 18.35 M21.63 18.19 L19.87 16.63 L18.05 15.14 L16.28 13.60 L14.46 12.12 L12.68 10.58 L10.83 9.12 L9.14 7.48 L7.46 5.84 L5.90 4.06 L4.27 2.37%22 stroke-width=%221.45%22/%3E%3Cpath d=%22M3.51 2.64 L3.47 4.92 L3.70 7.20 L3.94 9.48 L3.84 11.76 L4.02 14.03 L4.09 16.31 L4.05 18.59 L4.38 20.87 L4.64 23.15 L4.73 25.42 M3.21 26.21 L5.79 24.76 L7.79 22.74 L9.31 20.23 M9.58 20.30 L10.49 22.77 L11.41 25.24 L12.73 27.52 L14.08 29.79 M14.03 29.26 L15.48 27.81 L16.92 26.32 M18.15 26.90 L16.86 24.69 L15.17 22.67 L13.81 20.49 L12.37 18.35 M13.58 18.90 L16.40 18.20 L19.23 17.94 L22.06 17.89 M21.82 17.98 L20.11 16.24 L18.36 14.54 L16.47 12.99 L14.74 11.27 L12.85 9.73 L11.21 7.90 L9.21 6.48 L7.37 4.88 L5.25 3.60 L3.25 2.17%22 stroke-width=%22.75%22 opacity=%22.55%22/%3E%3Cpath d=%22M4.67 0.59 L4.48 3.32 L4.53 6.06 L3.98 8.80 L3.80 11.54 L3.81 14.27 L3.71 17.01 L3.56 19.75 L3.74 22.48 L3.70 25.22 L3.85 27.95 M3.57 25.91 L6.70 23.96 L8.84 21.02 L10.58 17.68 M10.03 19.76 L10.34 22.66 L10.94 25.42 L12.84 27.55 L14.41 29.84 M11.12 28.48 L15.45 28.06 L19.47 26.95 M19.02 28.43 L16.85 25.59 L14.49 22.83 L12.76 19.78 L11.48 16.52 M11.11 19.49 L15.27 19.20 L19.42 17.85 L23.59 17.42 M21.43 18.32 L20.14 16.34 L18.40 14.86 L17.08 12.92 L15.46 11.30 L13.50 10.06 L11.78 8.55 L9.99 7.12 L8.11 5.80 L6.38 4.31 L4.31 3.19%22 stroke-width=%22.6%22 opacity=%22.3%22/%3E%3C/g%3E%3C/svg%3E") 3 2, auto;
    --cursor-hand: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2222%22 height=%2222%22 viewBox=%220 0 32 32%22%3E%3Cg fill=%22none%22 stroke=%22%23161614%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M10.20 16.20 L10.10 4.60 L11.00 3.20 L12.10 2.80 L13.20 3.20 L14.10 4.40 L14.10 12.30 L15.10 11.40 L16.40 11.30 L17.40 11.70 L18.00 12.40 L18.10 13.40 L19.00 12.30 L20.40 12.10 L21.40 12.80 L22.00 14.80 L23.00 13.90 L24.60 14.00 L25.60 15.00 L25.90 21.00 L25.20 25.40 L22.80 28.20 L19.60 29.30 L15.60 29.80 L12.60 28.40 L10.20 26.00 L7.60 22.60 L5.40 19.00 L5.60 17.40 L6.80 16.80 L7.90 17.10 L10.20 19.60Z%22 fill=%22%23fff%22 stroke=%22none%22/%3E%3Cpath d=%22M13.94 20.86 L23.71 18.70 L23.21 21.85 L13.62 23.85 L14.16 23.03 L22.71 20.47 L22.71 24.01 L14.23 25.31 L14.58 25.13 L23.38 22.71 L22.79 25.15 L14.03 27.26 L13.63 26.34 L22.64 24.49%22 stroke-width=%22.7%22 opacity=%22.4%22/%3E%3Cpath d=%22M10.16 16.46 L10.00 13.96 L9.85 11.46 L9.85 8.96 L10.17 6.45 L10.35 3.95 M9.94 5.26 L10.41 3.89 L11.09 2.64 M10.88 3.54 L11.61 2.53 L12.73 2.63 M11.48 2.43 L12.34 3.23 L13.41 3.46 M12.88 3.31 L13.89 3.51 L14.07 4.32 M14.37 4.46 L14.25 7.04 L14.09 9.62 L13.78 12.20 M14.21 12.38 L14.91 11.82 L15.41 11.06 M14.47 11.23 L15.53 11.60 L16.56 11.62 M16.33 11.66 L17.25 11.76 L18.23 11.76 M17.55 11.69 L17.95 11.84 L17.99 12.31 M18.14 11.62 L18.29 12.65 L17.74 13.74 M18.00 14.13 L18.34 13.03 L18.91 12.12 M18.32 12.43 L19.56 12.16 L20.76 11.68 M20.16 11.54 L20.67 12.40 L21.31 13.08 M21.51 12.87 L21.97 13.80 L21.65 14.97 M22.10 14.97 L22.37 14.34 L22.67 13.75 M22.59 14.22 L23.60 13.70 L24.56 14.08 M24.20 13.83 L24.72 14.58 L25.33 15.24 M25.62 15.14 L25.94 18.29 L25.89 21.45 M26.08 20.66 L25.18 23.23 L25.01 25.92 M25.46 25.39 L23.62 26.68 L22.48 28.58 M23.09 27.86 L21.29 29.08 L19.22 29.55 M20.42 29.44 L17.66 29.60 L14.89 29.63 M16.07 30.32 L14.36 29.41 L12.69 28.39 M12.78 28.94 L11.32 27.42 L10.15 25.60 M10.74 26.21 L9.03 24.49 L7.45 22.67 M7.99 22.54 L6.60 20.55 L5.00 18.68 M5.64 19.24 L5.60 18.12 L5.47 16.98 M5.26 17.89 L6.31 17.06 L7.34 16.19 M6.55 16.82 L7.49 16.81 L8.37 17.07 M8.08 17.06 L8.98 18.39 L9.94 19.66 M10.31 20.20 L10.49 18.27 L9.93 16.34%22 stroke-width=%221.45%22/%3E%3Cpath d=%22M9.79 16.15 L9.62 13.89 L9.74 11.63 L10.06 9.37 L10.27 7.10 L10.36 4.84 M9.89 5.21 L10.79 4.42 L10.91 3.12 M10.67 3.37 L11.65 2.24 L13.26 2.82 M10.84 1.86 L11.65 3.30 L13.06 3.11 M12.39 1.91 L13.45 3.27 L13.86 5.12 M14.67 3.41 L14.25 6.40 L13.74 9.39 L13.37 12.38 M12.70 13.23 L14.38 11.61 L16.81 10.83 M14.76 11.80 L15.43 10.75 L16.20 10.92 M15.44 10.16 L16.16 11.31 L17.06 11.98 M17.84 11.37 L17.63 12.60 L18.09 13.26 M17.31 10.86 L17.75 12.04 L18.65 13.18 M17.40 13.77 L18.40 12.30 L19.99 11.33 M18.90 12.23 L20.42 12.59 L21.80 12.00 M19.77 11.81 L20.75 12.85 L22.41 12.92 M21.73 11.86 L22.21 13.57 L21.89 15.52 M20.90 15.88 L21.76 14.53 L22.91 13.48 M22.32 14.69 L23.64 13.89 L24.94 13.52 M24.42 14.60 L25.32 14.53 L26.03 14.65 M25.28 15.14 L25.48 18.65 L26.41 22.13 M25.83 20.43 L26.27 23.25 L25.35 25.86 M26.08 24.89 L23.83 26.51 L21.93 28.43 M23.78 27.00 L21.20 29.03 L18.31 30.16 M20.99 28.60 L18.41 29.80 L15.72 30.18 M16.31 29.51 L13.87 28.71 L11.24 28.31 M13.26 29.23 L11.69 26.58 L9.55 24.51 M10.87 26.82 L9.74 24.29 L7.85 22.35 M8.69 22.90 L7.33 20.80 L5.39 19.06 M5.37 18.85 L6.02 18.30 L5.80 17.64 M4.84 17.46 L5.91 16.72 L7.05 16.09 M6.19 16.83 L7.73 16.68 L9.26 16.55 M7.31 15.63 L8.94 18.33 L10.65 20.94 M9.81 20.29 L10.36 17.41 L10.97 14.54%22 stroke-width=%22.75%22 opacity=%22.5%22/%3E%3Cpath d=%22M14.34 11.97 L13.83 14.81 L14.34 17.63 M17.95 13.37 L17.95 15.86 L18.27 18.33 M21.59 14.56 L22.25 16.69 L22.25 18.83%22 stroke-width=%22.9%22 opacity=%22.7%22/%3E%3C/g%3E%3C/svg%3E") 8 2, pointer;
  }
  html { cursor: var(--cursor); }
  a, button, label, summary, [role="button"] { cursor: var(--cursor-hand); }
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font);
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}

body::after {
  content: "";
  position: fixed; inset: 0;
  pointer-events: none;
  z-index: 50;
  opacity: 0.045;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@media (hover: none) {
  body::after { display: none; }
}

a { color: inherit; text-decoration: none; }
:focus-visible { outline: 1.5px solid var(--ink); outline-offset: 4px; border-radius: 2px; }
::selection { background: var(--ink); color: var(--paper); }
em { font-style: normal; }

.mono { font-size: 13px; color: var(--ink-soft); }
.soft { color: var(--ink-soft); }
.brand em { color: var(--ink-soft); }


.u { transition: color 0.5s var(--ease-soft); }
.u:hover, .u:focus-visible { color: var(--ink-soft); }


.sections { display: flex; flex-wrap: wrap; gap: 6px 26px; }
.sections a { color: rgba(22, 22, 20, 0.42); transition: color 0.6s var(--ease-soft); }
.sections a:hover, .sections a:focus-visible, .sections a[aria-current] { color: var(--ink); }


html::before {
  content: "";
  position: fixed; inset: 0;
  z-index: 1000;
  background: var(--ink);
  transform: translateY(100%);
  pointer-events: none;
}
html.wipe-out-up::before   { animation: wipe-from-below 0.7s var(--ease-wipe) forwards; }
html.wipe-out-down::before { animation: wipe-from-above 0.7s var(--ease-wipe) forwards; }
html.wipe-in-up::before    { animation: wipe-off-top 0.8s var(--ease-wipe) 0.1s both; }
html.wipe-in-down::before  { animation: wipe-off-bottom 0.8s var(--ease-wipe) 0.1s both; }
@keyframes wipe-from-below { from { transform: translateY(100%); } to { transform: none; } }
@keyframes wipe-from-above { from { transform: translateY(-100%); } to { transform: none; } }
@keyframes wipe-off-top    { from { transform: none; } to { transform: translateY(-100%); } }
@keyframes wipe-off-bottom { from { transform: none; } to { transform: translateY(100%); } }

html.wipe-ink.wipe-in-up::before, html.wipe-ink.wipe-in-down::before { animation: none; transform: none; }
html.wipe-ink.wipe-ink-ready::before { transform: translateY(100%); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
