/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', Arial,
    sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
    monospace;
    --spacing: 0.25rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --ease-in: cubic-bezier(0.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --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);
  }
}
@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, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', Arial, 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:where(:not(iframe)) {
    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 {
  .collapse {
    visibility: collapse;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .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;
  }
  .sticky {
    position: sticky;
  }
  .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;
    }
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .h-screen {
    height: 100vh;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .min-w-0 {
    min-width: 0px;
  }
  .shrink {
    flex-shrink: 1;
  }
  .flex-grow {
    flex-grow: 1;
  }
  .grow {
    flex-grow: 1;
  }
  .border-collapse {
    border-collapse: collapse;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .resize {
    resize: both;
  }
  .list-disc {
    list-style-type: disc;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));
    margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-2 > :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)));
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .pl-6 {
    padding-left: calc(var(--spacing) * 6);
  }
  .text-left {
    text-align: left;
  }
  .text-wrap {
    text-wrap: wrap;
  }
  .lowercase {
    text-transform: lowercase;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .oldstyle-nums {
    --tw-numeric-figure: oldstyle-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .underline {
    text-decoration-line: underline;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow\/glow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow\/glow\. {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .blur {
    --tw-blur: blur(8px);
    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,);
  }
  .invert {
    --tw-invert: invert(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,);
  }
  .sepia {
    --tw-sepia: sepia(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,);
  }
  .filter {
    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,);
  }
  .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-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  @media (width >= 48rem) {
    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
}
.site {
  --rx-accent: #f26a1b;
  --rx-accent-hover: #ff7d33;
  --rx-accent-pressed: #d9560b;
  --rx-accent-text: #ff8a4c;
  --rx-on-accent: #0a0807;
  --rx-info: #ff8a4c;
  --rx-focus: rgba(255, 138, 76, 0.45);
  --rx-label: #f5f1ec;
  --rx-secondary-label: #b4aca5;
  --rx-tertiary-label: #8f8780;
  --rx-bg: #0a0807;
  --rx-surface: #151211;
  --rx-surface-raised: #1f1a18;
  --rx-fill: rgba(255, 244, 236, 0.05);
  --rx-fill-strong: rgba(255, 244, 236, 0.1);
  --rx-separator: rgba(255, 244, 236, 0.1);
  --rx-border: rgba(255, 244, 236, 0.2);
  --rx-shadow: none;
  --rx-surface-border: 0;
  --rx-material: rgba(31, 26, 24, 0.97);
  --rx-material-thick: rgba(31, 26, 24, 0.99);
  --rx-scrim: rgba(0, 0, 0, 0.6);
  --rx-shadow-raised: 0 0.75rem 2.5rem rgba(0, 0, 0, 0.6);
  --rx-success: #30d158;
  --rx-warning: #ff9f0a;
  --rx-danger-text: #ff6961;
  --site-field: #151211;
  --site-field-2: #1f1a18;
  --rx-font-display: var(--rx-font);
  --rx-type-display: 700 2.5rem/1.1 var(--rx-font);
  --rx-type-title: 700 2rem/1.15 var(--rx-font);
  --rx-type-heading: 600 1.25rem/1.35 var(--rx-font);
  --rx-type-lead: 400 1.125rem/1.6 var(--rx-font);
  --rx-type-body: 400 1rem/1.6 var(--rx-font);
  --rx-type-label: 600 1rem/1.4 var(--rx-font);
  --rx-type-note: 400 1rem/1.5 var(--rx-font);
  --rx-type-caption: 600 1rem/1.4 var(--rx-font);
  --rx-caption-case: none;
  --rx-caption-tracking: 0;
  --rx-text-body: 1rem;
  --rx-text-callout: 1rem;
  --rx-text-subhead: 1rem;
  --rx-text-footnote: 1rem;
  --rx-text-title: 2rem;
  --rx-button-padding: 0.75rem 1.25rem;
  --rx-button-radius: 0;
  --rx-radius-s: 0;
  --rx-radius: 0;
  --rx-radius-l: 0;
  --rx-badge-radius: 0;
  color-scheme: dark;
  background: var(--rx-bg);
  color: var(--rx-label);
  font-size: 1rem;
  overflow-x: clip;
  padding-inline: env(safe-area-inset-left, 0px) env(safe-area-inset-right, 0px);
}
.site-band {
  margin-inline: calc(50% - 50vw);
  padding-inline: calc(50vw - 50%);
}
.site .rx-button {
  font-weight: 600;
  min-height: 3rem;
  transition: background var(--rx-duration) var(--rx-ease), color var(--rx-duration) var(--rx-ease), transform 0.3s var(--rx-ease);
}
.site .rx-button--primary {
  background: var(--rx-accent);
  color: var(--rx-on-accent);
  box-shadow: none;
}
.site .rx-button--primary:hover {
  background: var(--rx-accent-hover);
  transform: translateY(-0.125rem);
}
.site .rx-button--secondary {
  background: var(--site-field-2);
  color: var(--rx-label);
  box-shadow: none;
}
.site .rx-button--secondary:hover {
  background: var(--rx-fill-strong);
  color: var(--rx-label);
  transform: translateY(-0.125rem);
}
.site .rx-button--small {
  min-height: 2.5rem;
  padding: 0.5rem 1rem;
}
.site .rx-button--plain, .site .rx-button--plain-danger {
  padding-inline: 0.75rem;
}
.site .rx-button:active {
  transform: translateY(0.0625rem);
}
.site .rx-brand-mark {
  width: 2rem;
  height: 2rem;
  border-radius: 0;
  background: none;
  object-fit: contain;
  filter: invert(1);
  transition: transform 0.6s var(--rx-ease);
}
.site .rx-navbar__brand:hover .rx-brand-mark {
  transform: rotate(45deg);
}
.site .rx-nav-badge {
  min-width: 1.5rem;
  padding: 0 0.5rem;
  line-height: 1.5rem;
}
.site .rx-card {
  box-shadow: none;
  background: var(--site-field);
  border: 0;
}
.site .rx-media-card {
  box-shadow: none;
  border: 0;
  background: var(--site-field);
}
.site .rx-media-card__body {
  padding: 0.75rem 1rem 1rem;
  gap: 0.25rem;
}
.site .rx-input, .site .rx-textarea, .site .rx-select {
  background: var(--site-field-2);
  box-shadow: inset 0 0 0 1px var(--rx-separator);
  padding: 0.75rem 1rem;
}
.site .rx-input:focus, .site .rx-textarea:focus, .site .rx-select:focus {
  box-shadow: inset 0 0 0 2px var(--rx-accent);
}
.site .rx-field {
  gap: 0.5rem;
}
.site .rx-page-header__text, .site .rx-page-header__back {
  gap: 0.5rem;
}
.site .rx-stat {
  padding: 1.25rem;
}
.site .rx-stat__value {
  margin: 0.25rem 0 0;
}
.site .rx-alert__icon {
  margin-top: 0.25rem;
}
.site .rx-prose code, .site code {
  font-size: 1rem;
}
.site .rx-prose code {
  padding: 0 0.25rem;
}
.site .rx-navbar {
  position: sticky;
  top: 0;
  z-index: 20;
  padding-top: env(safe-area-inset-top, 0px);
  background: var(--rx-bg);
  border: 0;
  box-shadow: none;
}
.site .rx-skip {
  box-shadow: none;
}
.site .rx-navbar__inner {
  min-height: 4rem;
  gap: 0.25rem 1rem;
  row-gap: 0.25rem;
  column-gap: 1rem;
}
.site .rx-navbar__brand {
  font: 700 1.125rem/1.2 var(--rx-font);
  letter-spacing: -0.02em;
  gap: 0.75rem;
}
.site .rx-navbar__links {
  gap: 0.25rem;
}
.site .rx-navbar__link {
  position: relative;
  padding: 0.5rem 0.75rem;
  padding-inline: 0.75rem;
  gap: 0.5rem;
  color: var(--rx-secondary-label);
  font-weight: 500;
  border-radius: 0;
}
.site .rx-navbar__link:hover {
  color: var(--rx-label);
  background: var(--rx-fill);
}
.site .rx-navbar__link[aria-current="page"] {
  color: var(--rx-label);
  font-weight: 600;
  background: var(--rx-fill);
}
@media (hover: none), (pointer: coarse) {
  .site {
    padding-top: calc(4rem + env(safe-area-inset-top, 0px));
  }
  .site .rx-navbar {
    position: fixed;
    left: 0;
    right: 0;
  }
  .site .rx-navbar::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    height: 100vh;
    background: #0a0807;
    pointer-events: none;
  }
}
html:has(body.site) {
  background: #0a0807;
}
.site-menu {
  display: none;
}
@media (max-width: 68rem) {
  .site .rx-navbar__links {
    display: none;
  }
  .site-menu {
    display: block;
  }
  .site .rx-navbar__inner {
    flex-wrap: nowrap;
  }
}
.site-menu__button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  padding: 0.5rem 1rem;
  background: var(--site-field-2);
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}
.site-menu__button::-webkit-details-marker {
  display: none;
}
.site-menu__button::after {
  content: "+";
  color: var(--rx-accent-text);
  transition: transform 0.3s var(--rx-ease);
}
.site-menu[open] .site-menu__button::after {
  transform: rotate(45deg);
}
.site-menu__panel {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  display: grid;
  padding: 0.5rem 1rem 1rem;
  background: var(--site-field);
  animation: site-rise 0.3s var(--rx-ease) both;
}
.site-menu__panel a {
  padding: 1rem 0;
  font: 600 1.25rem/1.3 var(--rx-font);
  color: var(--rx-label);
  text-decoration: none;
}
.site-menu__panel a:hover {
  color: var(--rx-accent-text);
}
.site-label {
  margin: 0;
  font: 600 1rem/1.4 var(--rx-font);
  color: var(--rx-accent-text);
}
.site-h2 {
  margin: 2.5rem 0 0;
  font: 700 1.75rem/1.2 var(--rx-font);
  letter-spacing: -0.025em;
}
.site-section .site-h2 {
  margin: 0;
  font: 700 clamp(2.25rem, 5vw, 3.75rem)/1.05 var(--rx-font);
  letter-spacing: -0.045em;
  max-width: 48rem;
}
.site-hot, .site-word--hot {
  color: inherit;
}
.site-lede {
  margin: 0;
  font: 400 clamp(1.125rem, 2vw, 1.3125rem)/1.6 var(--rx-font);
  color: var(--rx-label);
  max-width: 40rem;
}
.site-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  margin: 0;
}
.site-actions .rx-button {
  min-height: 3.5rem;
  padding: 1rem 1.75rem;
  font-size: 1.0625rem;
}
.site-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  color: var(--rx-label);
  text-decoration: none;
}
.site-link-arrow span {
  transition: transform 0.3s var(--rx-ease);
  color: var(--rx-accent-text);
}
.site-link-arrow:hover span {
  transform: translateX(0.25rem);
}
.site-link-arrow:hover {
  color: var(--rx-accent-text);
}
.site-glass, .site-card {
  position: relative;
  background: var(--site-field);
}
.site-hero {
  display: grid;
  gap: 3rem;
  padding-block: 4rem 0;
}
.site-hero__title {
  margin: 0;
  font: 700 clamp(1.75rem, 6.4vw, 5.25rem)/1 var(--rx-font);
  letter-spacing: -0.05em;
  max-width: 72rem;
  text-wrap: balance;
}
.site-nowrap {
  white-space: nowrap;
}
.site-hero__body {
  display: grid;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 64rem) {
  .site-hero__body {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: 4rem;
  }
}
.site-hero__copy {
  display: grid;
  gap: 2rem;
  justify-items: start;
}
.site-hero__copy .site-actions {
  display: grid;
  justify-items: start;
  gap: 0.75rem;
}
.site-figure {
  margin: 0;
  display: grid;
  gap: 0.75rem;
}
.site-figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: top left;
  background: var(--site-field);
}
.site-figure figcaption {
  color: var(--rx-secondary-label);
}
.site-figure a {
  color: var(--rx-label);
  font-weight: 600;
  text-decoration: none;
}
.site-figure a:hover {
  color: var(--rx-accent-text);
}
.site-word {
  display: inline-block;
  animation: site-word 0.9s var(--rx-ease) both;
  animation-delay: calc(var(--w) * 90ms);
}
@keyframes site-word {
  from {
    opacity: 0;
    transform: translateY(0.4em);
  }
}
.site-marquee {
  display: flex;
  overflow: hidden;
  background: var(--site-field);
  margin-top: 6rem;
}
.site-marquee__track {
  display: flex;
  flex-shrink: 0;
  gap: 2rem;
  margin: 0;
  padding: 1.25rem 2rem 1.25rem 0;
  font: 500 1.25rem/1.4 var(--rx-font);
  color: var(--rx-label);
  white-space: nowrap;
  animation: site-marquee 45s linear infinite;
}
.site-marquee__track span {
  display: inline-flex;
  align-items: center;
  gap: 2rem;
}
.site-marquee__track span::after {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  background: var(--rx-accent);
}
@keyframes site-marquee {
  to {
    transform: translateX(-100%);
  }
}
.site-section {
  display: grid;
  gap: 3rem;
  padding-top: 8rem;
  scroll-margin-top: 4rem;
}
.site-section__head {
  display: grid;
  gap: 1.25rem;
  justify-items: start;
}
.site-section__head--row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}
.site-section__head--row > div {
  display: grid;
  gap: 1.25rem;
  justify-items: start;
}
.site-cards, .site-grid {
  display: grid;
  gap: 0.5rem;
}
@media (max-width: 52rem) {
  .site-cards {
    gap: 1rem;
  }
}
@media (min-width: 52rem) {
  .site-cards--3, .site-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.site-build {
  display: grid;
  gap: 5rem;
}
.site-build__row {
  display: grid;
  gap: 1.5rem;
  align-items: start;
}
@media (min-width: 52rem) {
  .site-build__row {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 4rem;
  }
}
.site-build__title {
  margin: 0;
  font: 700 clamp(2.25rem, 4.5vw, 3.5rem)/1.05 var(--rx-font);
  letter-spacing: -0.045em;
}
.site-build__body {
  display: grid;
  gap: 1.5rem;
}
.site-card__text {
  margin: 0;
  color: var(--rx-secondary-label);
}
.site-build__body .site-card__text {
  color: var(--rx-label);
  font-size: 1.125rem;
}
.site-checks {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-checks li {
  display: flex;
  gap: 0.75rem;
  align-items: baseline;
  color: var(--rx-secondary-label);
}
.site-checks li::before {
  content: "";
  flex: none;
  width: 0.5rem;
  height: 0.5rem;
  background: var(--rx-accent);
  transform: translateY(-0.0625rem);
}
.site-card {
  display: grid;
  gap: 1rem;
  align-content: start;
  padding: 2rem;
}
.site-offer {
  grid-template-rows: auto auto auto 1fr auto;
  background: var(--site-field);
}
.site-offer:nth-child(3) {
  background: var(--site-field-2);
}
.site-offer__name {
  margin: 0;
  font: 700 clamp(2rem, 3.5vw, 2.5rem)/1.1 var(--rx-font);
  letter-spacing: -0.04em;
}
.site-offer__tag {
  margin: 0;
  font-weight: 600;
  color: var(--rx-accent-text);
}
.site-offer__action {
  margin: 0.5rem 0 0;
}
.site-offer__action .rx-button {
  width: 100%;
  justify-content: center;
}
.site-offer--featured {
  background: var(--rx-accent);
  color: var(--rx-on-accent);
}
.site-offer--featured .site-offer__tag, .site-offer--featured .site-card__text, .site-offer--featured .site-checks li {
  color: var(--rx-on-accent);
}
.site-offer--featured .site-checks li::before {
  background: var(--rx-on-accent);
}
.site-offer--featured .rx-button--primary {
  background: var(--rx-on-accent);
  color: var(--rx-label);
}
.site-offer--featured .rx-button--primary:hover {
  background: #000;
}
.site-addons {
  display: grid;
  gap: 1rem 2rem;
  padding: 1.5rem 2rem;
  background: var(--site-field-2);
}
@media (min-width: 52rem) {
  .site-addons {
    grid-template-columns: 12rem 1fr 1fr;
    align-items: baseline;
  }
}
.site-addons p {
  margin: 0;
  color: var(--rx-secondary-label);
}
.site-addons strong {
  color: var(--rx-label);
}
.site-addons .site-addons__title {
  font-weight: 700;
  color: var(--rx-label);
}
.site-numbers {
  padding-block: 5rem;
  background: var(--site-field);
}
.site-numbers__list {
  display: grid;
  gap: 3rem 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 40rem) {
  .site-numbers__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 64rem) {
  .site-numbers__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.site-numbers__list li {
  display: grid;
  gap: 0.75rem;
  align-content: start;
}
.site-number {
  margin: 0;
  font: 700 clamp(3rem, 5.5vw, 4.5rem)/1 var(--rx-font);
  letter-spacing: -0.05em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.site-number__unit {
  margin-left: 0.25rem;
  font-size: 0.5em;
  letter-spacing: -0.02em;
  color: var(--rx-accent-text);
}
.site-number__label {
  margin: 0;
  color: var(--rx-secondary-label);
  max-width: 16rem;
}
@property --site-n {
  syntax: "<integer>";
  inherits: true;
  initial-value: 0;
}
.site-count {
  position: relative;
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .site-count {
      --site-n: var(--to);
      animation: site-count linear both;
      animation-timeline: view();
      animation-range: entry 25% cover 50%;
    }
    .site-count__value {
      position: absolute;
      left: 0;
      opacity: 0;
    }
    .site-count::after {
      content: counter(site-n);
      content: counter(site-n) / "";
      counter-reset: site-n var(--site-n);
    }
  }
}
@keyframes site-count {
  from {
    --site-n: 0;
  }
  to {
    --site-n: var(--to);
  }
}
.site-shipped {
  display: grid;
  gap: 0.5rem;
}
@media (min-width: 52rem) {
  .site-shipped {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  }
  .site-tile--wide {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
  }
}
.site-tile--wide .site-tile__copy {
  display: grid;
  gap: 0.75rem;
}
.site-tile--wide .site-tile__links {
  margin: 0;
}
.site-tile {
  position: relative;
  display: grid;
  gap: 0.75rem;
  align-content: start;
  padding: 2rem;
  background: var(--site-field);
  transition: transform 0.5s var(--rx-ease);
}
.site-tile:hover {
  transform: translateY(-0.25rem);
}
.site-tile--shot {
  padding: 0;
  gap: 0;
}
.site-tile--shot .site-tile__copy {
  display: grid;
  gap: 0.75rem;
  padding: 2rem;
}
.site-tile--shot img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: top left;
}
.site-tile__kind {
  margin: 0;
  color: var(--rx-secondary-label);
}
.site-tile__name {
  margin: 0;
  font: 700 clamp(1.75rem, 3vw, 2.25rem)/1.1 var(--rx-font);
  letter-spacing: -0.035em;
}
.site-tile__text {
  margin: 0;
  color: var(--rx-secondary-label);
  max-width: 32rem;
}
.site-tile__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin: 0.5rem 0 0;
}
.site-tile--ember {
  background: var(--rx-accent);
  color: var(--rx-on-accent);
}
.site-tile--ember .site-tile__kind, .site-tile--ember .site-tile__text {
  color: var(--rx-on-accent);
}
.site-tile--ember .site-link-arrow, .site-tile--ember .site-link-arrow span {
  color: var(--rx-on-accent);
}
.site-tile--ember .site-link-arrow:hover {
  text-decoration: underline;
}
.site-screens {
  display: grid;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 52rem) {
  .site-screens {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.site-screens figure {
  margin: 0;
  display: grid;
  gap: 0.75rem;
}
.site-screens img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: top left;
  background: var(--site-field);
}
.site-screens figcaption {
  color: var(--rx-secondary-label);
}
.site-screens a {
  color: var(--rx-label);
  font-weight: 600;
  text-decoration: none;
}
.site-screens a:hover {
  color: var(--rx-accent-text);
}
@media (max-width: 64rem) {
  .site .rx-container {
    padding-inline: 1.25rem;
  }
  .site .rx-navbar__inner--wide {
    width: min(100% - 2.5rem, 72rem);
  }
  .site-portrait {
    order: -1;
  }
}
.site-apps {
  display: grid;
  gap: 3rem 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 48rem) {
  .site-apps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.site-apps li {
  display: grid;
  gap: 0.75rem;
  align-content: start;
}
.site-apps__shot {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--site-field);
}
.site-apps__shot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top left;
  transition: transform 0.5s var(--rx-ease);
}
.site-apps li:hover .site-apps__shot img {
  transform: scale(1.02);
}
.site-apps__empty {
  display: grid;
  place-items: center;
  height: 100%;
  padding: 2rem;
  color: var(--rx-secondary-label);
  text-align: center;
}
.site-apps__name {
  margin: 0.5rem 0 0;
  font: 700 1.5rem/1.2 var(--rx-font);
  letter-spacing: -0.02em;
}
.site-apps__name a {
  color: inherit;
  text-decoration: none;
}
.site-apps__name a:hover {
  color: var(--rx-accent-text);
}
.site-apps__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin: 0;
}
.site-addons h2 {
  margin: 0;
  font: 700 1.25rem/1.3 var(--rx-font);
  letter-spacing: -0.02em;
}
.site-offer__name, .site-apps__name, .site-apps__empty {
  text-wrap: balance;
}
@media (prefers-reduced-motion: reduce) {
  .site-apps__shot img {
    transition: none;
  }
}
.site-architect {
  align-items: center;
}
@media (min-width: 64rem) {
  .site-architect {
    grid-template-columns: 1.2fr 1fr;
    gap: 4rem;
  }
}
.site-architect__text {
  display: grid;
  gap: 1.5rem;
  justify-items: start;
}
.site-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
  margin: 0.5rem 0 0;
}
.site-facts div {
  display: grid;
  gap: 0.25rem;
  padding: 1rem 1.25rem;
  background: var(--site-field);
}
.site-facts dt {
  color: var(--rx-tertiary-label);
}
.site-facts dd {
  margin: 0;
  font: 700 1.25rem/1.3 var(--rx-font);
}
.site-portrait {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 5;
  width: 100%;
  max-width: 28rem;
  justify-self: center;
  overflow: hidden;
  background: var(--rx-accent);
}
.site-portrait__mono {
  font: 700 clamp(5rem, 12vw, 8rem)/1 var(--rx-font);
  letter-spacing: -0.06em;
  color: var(--rx-on-accent);
}
.site-index {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.25rem;
}
.site-index li {
  background: var(--site-field);
  transition: background 0.3s var(--rx-ease);
}
.site-index li:hover {
  background: var(--site-field-2);
}
.site-index__row {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr) 1.5rem;
  gap: 1rem;
  align-items: baseline;
  padding: 1.25rem 1.5rem;
  color: inherit;
  text-decoration: none;
}
.site-index__date {
  font: 400 1rem/1.4 var(--rx-font);
  font-variant-numeric: tabular-nums;
  color: var(--rx-tertiary-label);
}
.site-index__title {
  font: 600 1.125rem/1.4 var(--rx-font);
}
.site-index__arrow {
  color: var(--rx-accent-text);
  transition: transform 0.3s var(--rx-ease);
}
.site-index li:hover .site-index__arrow {
  transform: translateX(0.25rem);
}
@media (max-width: 40rem) {
  .site-index__row {
    grid-template-columns: minmax(0, 1fr) 1.5rem;
  }
  .site-index__date {
    grid-column: 1 / -1;
  }
}
.site-footer {
  margin-top: 8rem;
}
.site-footer__cta {
  padding-block: 6rem;
  background: var(--rx-accent);
  color: var(--rx-on-accent);
}
.site-footer__cta .rx-container {
  display: grid;
  gap: 2rem;
  justify-items: start;
  padding-block: 0;
}
.site-footer__title {
  margin: 0;
  font: 700 clamp(2.5rem, 7vw, 5.5rem)/1.02 var(--rx-font);
  letter-spacing: -0.05em;
  max-width: 60rem;
  text-wrap: balance;
}
.site-footer__cta .rx-button--primary {
  background: var(--rx-on-accent);
  color: var(--rx-label);
}
.site-footer__cta .rx-button--primary:hover {
  background: #000;
}
.site-footer__grid {
  display: grid;
  gap: 2.5rem 2rem;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  padding-block: 4rem calc(4rem + env(safe-area-inset-bottom, 0px));
}
.site-footer__brand {
  grid-column: 1 / -1;
  max-width: 26rem;
}
@media (min-width: 56rem) {
  .site-footer__grid {
    grid-template-columns: 2fr repeat(3, 1fr);
  }
  .site-footer__brand {
    grid-column: auto;
  }
}
.site-footer__brand p {
  margin: 1rem 0 0;
  color: var(--rx-secondary-label);
}
.site-footer__logo {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font: 700 1.125rem/1.2 var(--rx-font);
  color: var(--rx-label);
  text-decoration: none;
}
.site-footer__col {
  display: grid;
  gap: 0.75rem;
  align-content: start;
}
.site-footer__col a {
  color: var(--rx-secondary-label);
  text-decoration: none;
  width: fit-content;
  transition: color var(--rx-duration) var(--rx-ease);
}
.site-footer__col a:hover {
  color: var(--rx-accent-text);
}
.site-footer__address {
  margin: 1rem 0 0;
  font-style: normal;
  color: var(--rx-tertiary-label);
}
.site-footer__legal {
  grid-column: 1 / -1;
  margin: 0;
  padding: 1.5rem 0 0;
  color: var(--rx-tertiary-label);
}
.site-footer__build {
  grid-column: 1 / -1;
  margin: 0;
  font: 400 1rem/1.4 var(--rx-font);
  font-variant-numeric: tabular-nums;
}
.site-footer__build a {
  color: var(--rx-tertiary-label);
  text-decoration: none;
}
.site-footer__build a:hover {
  color: var(--rx-accent-text);
}
.site-footer__heading {
  margin: 0 0 0.25rem;
  font: 700 1rem/1.4 var(--rx-font);
  color: var(--rx-label);
}
.site-page-hero {
  display: grid;
  gap: 1.5rem;
  justify-items: start;
  padding-block: 5rem 1rem;
}
.site-page-hero__title, .site-contact__title {
  margin: 0;
  font: 700 clamp(2.75rem, 7vw, 5rem)/1.02 var(--rx-font);
  letter-spacing: -0.05em;
  max-width: 56rem;
  text-wrap: balance;
}
.site-about {
  align-items: start;
}
@media (min-width: 64rem) {
  .site-about {
    grid-template-columns: 1.4fr 1fr;
    gap: 4rem;
  }
}
.site-about__text {
  display: grid;
  gap: 1.5rem;
}
.site-about__text .site-h2, .site-about__follow .site-h2 {
  margin: 0;
}
.site-about__facts {
  display: grid;
  gap: 1.25rem;
  margin: 0;
  padding: 2rem;
}
.site-about__facts div {
  display: grid;
  gap: 0.25rem;
}
.site-about__facts dt {
  color: var(--rx-tertiary-label);
  font: 500 1rem/1.4 var(--rx-font);
}
.site-about__facts dd {
  margin: 0;
  font: 700 1.375rem/1.3 var(--rx-font);
}
.site-about__follow {
  display: grid;
  align-items: center;
  gap: 2rem;
  padding: 2.5rem;
  background: var(--site-field-2);
}
@media (min-width: 52rem) {
  .site-about__follow {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4rem;
  }
}
.site-about__follow > div {
  display: grid;
  gap: 1rem;
  max-width: 40rem;
}
.site-contact {
  display: grid;
  gap: 3rem;
  align-items: start;
  padding-block: 5rem 2rem;
}
@media (min-width: 64rem) {
  .site-contact {
    grid-template-columns: 1fr minmax(0, 36rem);
    gap: 4rem;
  }
  .site-contact__intro {
    position: sticky;
    top: 7rem;
  }
}
.site-contact__intro {
  display: grid;
  gap: 1.5rem;
  justify-items: start;
}
.site-contact__title {
  font-size: clamp(2.5rem, 6vw, 4.5rem);
}
.site-steps {
  display: grid;
  gap: 0.5rem;
  width: 100%;
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
}
.site-steps li {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  padding: 1.25rem 1.5rem;
  animation: site-rise 0.8s var(--rx-ease) both;
  animation-delay: calc(300ms + var(--i) * 120ms);
}
.site-steps__n {
  font: 500 1rem/1.6 var(--rx-font);
  font-variant-numeric: tabular-nums;
  color: var(--rx-accent-text);
}
.site-steps__title {
  margin: 0;
  font: 700 1.125rem/1.4 var(--rx-font);
}
.site-steps__text {
  margin: 0.25rem 0 0;
  color: var(--rx-secondary-label);
}
.site-contact__note {
  margin: 0;
  color: var(--rx-secondary-label);
  max-width: 36rem;
}
.site-office {
  display: grid;
  gap: 1rem;
  justify-items: start;
  padding: 1.5rem;
  width: 100%;
  max-width: 36rem;
}
.site-office__label {
  margin: 0;
  font: 700 1rem/1.4 var(--rx-font);
  color: var(--rx-label);
}
.site-office__address {
  margin: 0;
  font-style: normal;
  line-height: 1.6;
  color: var(--rx-secondary-label);
}
.site-office__address strong {
  color: var(--rx-label);
}
.site-contact__form .rx-card {
  padding: 2rem;
  background: var(--site-field);
}
.site-contact__form .rx-card__footer .rx-button {
  width: 100%;
  justify-content: center;
  min-height: 3.5rem;
}
.site .rx-toggles {
  gap: 0.5rem;
}
.site .rx-toggle__label {
  border-radius: 0;
  gap: 0.5rem;
}
.site .rx-fieldset > legend {
  margin-bottom: 0.5rem;
}
.site .rx-toggle__input:checked + .rx-toggle__label {
  background: var(--rx-accent);
  color: var(--rx-on-accent);
}
.site main > section > .rx-page-header, .site main > article > .rx-page-header {
  padding-block: 2.5rem 0.75rem;
}
.site .rx-page-header h1 {
  font: 700 clamp(2.5rem, 6vw, 3.75rem)/1.05 var(--rx-font);
  letter-spacing: -0.045em;
}
.site .rx-page-header .rx-subtitle {
  font: var(--rx-type-lead);
  max-width: 40rem;
}
.showcase-shots {
  --rx-card-min: 18rem;
}
.showcase-shots .rx-media-card__image {
  aspect-ratio: 16 / 10;
  object-position: top;
}
.site .rx-stats {
  gap: 1rem;
}
.site-progress {
  position: fixed;
  inset: env(safe-area-inset-top, 0px) 0 auto;
  height: 0.25rem;
  z-index: 30;
  transform-origin: 0 50%;
  transform: scaleX(0);
  background: var(--rx-accent);
}
@supports (animation-timeline: scroll()) {
  .site-progress {
    animation: site-grow linear both;
    animation-timeline: scroll(root);
  }
}
@keyframes site-grow {
  to {
    transform: scaleX(1);
  }
}
.site-enter {
  animation: site-rise 0.8s var(--rx-ease) both;
  animation-delay: calc(var(--i, 0) * 100ms);
}
@keyframes site-rise {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
}
@supports (animation-timeline: view()) {
  .site-reveal {
    animation: site-rise linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 50%;
  }
}
@media (hover: none), (pointer: coarse) {
  .site *, .site *::before, .site *::after {
    animation: none !important;
    transition: none !important;
  }
  .site-count__value {
    position: static;
    opacity: 1;
  }
  .site-count::after {
    content: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .site *, .site *::before, .site *::after {
    animation: none !important;
    transition: none !important;
  }
  .site-progress {
    display: none;
  }
}
.post-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.25rem;
}
.post-list__item {
  background: var(--site-field);
}
.post-list__link {
  display: grid;
  gap: 0.5rem;
  padding: 1.5rem;
  color: inherit;
  text-decoration: none;
  transition: background 0.3s var(--rx-ease);
}
.post-list__link:hover {
  background: var(--site-field-2);
}
.post-list__meta {
  font: 400 1rem/1.4 var(--rx-font);
  font-variant-numeric: tabular-nums;
  color: var(--rx-tertiary-label);
}
.post-list__title {
  font: 700 1.375rem/1.3 var(--rx-font);
  letter-spacing: -0.02em;
}
.post-list__link:hover .post-list__title {
  color: var(--rx-accent-text);
}
.post-list__text {
  color: var(--rx-secondary-label);
  max-width: 44rem;
}
.post-tag {
  font: 500 1rem/1.4 var(--rx-font);
  color: var(--rx-secondary-label);
  background: var(--site-field-2);
  padding: 0.25rem 0.75rem;
  text-decoration: none;
  transition: color 0.3s var(--rx-ease);
}
.post-tag:hover {
  color: var(--rx-accent-text);
}
.post__header {
  max-width: 46rem;
  margin-bottom: 2rem;
}
.post__header .site-hero__title {
  max-width: none;
  font-size: clamp(1.75rem, 6vw, 3.75rem);
}
.post__layout {
  display: grid;
  gap: 2rem;
}
.post__main {
  max-width: 46rem;
  min-width: 0;
}
@media (min-width: 70rem) {
  .post__layout:has(.post__toc) {
    grid-template-columns: minmax(0, 46rem) 15rem;
    gap: 4rem;
  }
  .post__toc {
    order: 2;
    position: sticky;
    top: 6rem;
    align-self: start;
  }
}
.post__toc-title {
  font: 700 1rem/1.4 var(--rx-font);
  color: var(--rx-tertiary-label);
  margin: 0 0 0.75rem;
}
.post__toc ol {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.5rem;
}
.post__toc a {
  color: var(--rx-secondary-label);
  text-decoration: none;
}
.post__toc a:hover {
  color: var(--rx-accent-text);
}
.post__toc-3 {
  padding-inline-start: 0.75rem;
}
.post__series {
  background: var(--site-field);
  padding: 1rem 1.25rem;
  margin-bottom: 2rem;
}
.post__series p, .post__series ol {
  margin: 0;
}
.post__series ol {
  padding-inline-start: 1.25rem;
  margin-top: 0.5rem;
  list-style: decimal;
}
.post__related {
  margin-top: 4rem;
  display: grid;
  gap: 1.5rem;
}
.post-body {
  font-size: 1.125rem;
  line-height: 1.75;
}
.post-body > * {
  margin: 0 0 1.25rem;
}
.post-body h2 {
  font: 700 1.75rem/1.25 var(--rx-font);
  letter-spacing: -0.025em;
  margin-top: 3rem;
  scroll-margin-top: 5rem;
}
.post-body h3 {
  font: 700 1.3125rem/1.3 var(--rx-font);
  margin-top: 2rem;
  scroll-margin-top: 5rem;
}
.post-body a {
  color: var(--rx-accent-text);
}
.post-body ul, .post-body ol {
  padding-inline-start: 1.5rem;
}
.post-body ul {
  list-style: disc;
}
.post-body ol {
  list-style: decimal;
}
.post-body li + li {
  margin-top: 0.25rem;
}
.post-body blockquote {
  background: var(--site-field);
  padding: 1rem 1.25rem;
  color: var(--rx-secondary-label);
}
.post-body :not(pre) > code {
  font-family: var(--rx-mono);
  font-size: 1rem;
  background: var(--rx-fill);
  border-radius: 0.25rem;
  padding: 0 0.25rem;
  overflow-wrap: anywhere;
}
.post-body pre.code .hl-comment {
  color: var(--rx-secondary-label);
}
.post-body pre.code {
  font-family: var(--rx-mono);
  font-size: 1rem;
  line-height: 1.6;
  background: var(--site-field);
  border-radius: var(--rx-radius);
  padding: 1rem 1.25rem;
  overflow-x: auto;
}
.post-body table {
  border-collapse: collapse;
  width: 100%;
  display: block;
  overflow-x: auto;
}
.post-body th, .post-body td {
  border-bottom: 1px solid var(--rx-separator);
  padding: 0.5rem 0.75rem 0.5rem 0;
  text-align: left;
}
.post-body img {
  max-width: 100%;
  height: auto;
  border-radius: var(--rx-radius);
}
.post-body hr {
  border: 0;
  height: 0.25rem;
  background: var(--site-field-2);
}
.post-body .footnote-definition {
  font: var(--rx-type-note);
  color: var(--rx-secondary-label);
}
.site-read {
  max-width: 46rem;
  margin-inline: auto;
}
@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-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-ordinal {
  syntax: "*";
  inherits: false;
}
@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@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-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-ease {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    :root, :host {
      --site-n: 0;
    }
    *, ::before, ::after, ::backdrop {
      --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-border-style: solid;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --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-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-ease: initial;
    }
  }
}
