/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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-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-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --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-duration: initial;
      --tw-ease: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: "Avenir", "Avenir Next", "Geist Variable", ui-sans-serif, system-ui, sans-serif;
    --font-serif: "Instrument Serif", Georgia, Cambria, "Times New Roman", Times, serif;
    --font-mono: "Geist Mono Variable", ui-monospace, monospace;
    --color-green-50: #eef3ee;
    --color-green-100: #dbe6dd;
    --color-green-200: #b6ccbc;
    --color-green-300: #8aae95;
    --color-green-500: #3d6d4d;
    --color-green-600: #2c553b;
    --color-green-700: #234322;
    --color-green-800: #173e28;
    --color-green-900: #0f2b1b;
    --color-green-950: #081a10;
    --spacing: .25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --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);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --tracking-tight: -.025em;
    --tracking-normal: 0em;
    --tracking-wide: .025em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --blur-xs: 4px;
    --blur-md: 12px;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --font-display: "Geist Variable", "Avenir", ui-sans-serif, system-ui, sans-serif;
    --color-mushroom-200: #e3ded2;
    --color-mushroom-300: #d2cbba;
    --color-mushroom-400: #bdb49e;
    --color-mushroom-500: #a2977d;
    --color-mushroom-600: #857a61;
    --color-brass-300: #dccba4;
    --color-brass-400: #c9b182;
    --color-sand: #ede5d4;
    --color-espresso: #240f0a;
    --color-rust-500: #bb5a3e;
    --color-rust-600: #b4553a;
    --color-rust-700: #9a472f;
    --color-rust-800: #7a3622;
    --color-paper-50: #fcfbf8;
    --color-paper-200: #ece8df;
    --color-canvas: #f6f4ef;
    --color-surface: #fcfbf8;
    --color-panel: #ece8df;
    --color-sunken: #e0dbcf;
    --color-contrast: #12291c;
    --color-contrast-deep: #0b1c13;
    --color-text: #14301f;
    --color-text-muted: #4a5b50;
    --color-text-subtle: #4f5f55;
    --color-on-contrast: #efebe1;
    --color-on-contrast-muted: #afbcb0;
    --color-line: #dfdace;
    --color-line-strong: #c6bfb0;
    --color-accent: #2c553b;
    --color-ornament: #a99e8a;
    --color-photo-tint: #c6b69b;
    --ease-out-expo: cubic-bezier(.16, 1, .3, 1);
    --ease-deco: cubic-bezier(.7, 0, .2, 1);
    --dur-base: .32s;
    --dur-slow: .62s;
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    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;
    -webkit-text-decoration: 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 {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.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 {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :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)) {
      ::placeholder {
        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 {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-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"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  :where(h1, h2, h3, h4, h5, h6) {
    -webkit-user-select: none;
    user-select: none;
  }

  :where(h1, h2, h3, h4, h5, h6):where(.selectable), :where(h1, h2, h3, h4, h5, h6) :where(.selectable, address) {
    -webkit-user-select: text;
    user-select: text;
  }

  *, :before, :after {
    box-sizing: border-box;
  }

  html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    color-scheme: light;
    scroll-padding-top: 6rem;
  }

  body {
    background-color: var(--color-canvas);
    color: var(--color-text);
    font-family: var(--font-sans);
    font-synthesis-weight: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizelegibility;
    margin: 0;
    overflow-x: hidden;
  }

  ::selection {
    background: var(--color-mushroom-300);
    color: var(--color-green-900);
  }

  h1, h2, h3, h4 {
    font-family: var(--font-display);
    letter-spacing: -.028em;
    text-wrap: balance;
    margin: 0;
    font-weight: 500;
    line-height: 1.02;
  }

  p {
    text-wrap: pretty;
  }

  a {
    color: inherit;
    text-decoration: none;
  }

  img, svg, video {
    max-width: 100%;
    display: block;
  }

  :focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
  }

  button, input, select, textarea, .card {
    border-radius: 0;
  }
}

@layer components {
  .shell {
    width: 100%;
    max-width: 82rem;
    margin-inline: auto;
    padding-inline: 1.25rem;
  }

  @media (min-width: 768px) {
    .shell {
      padding-inline: 2.5rem;
    }
  }

  @media (min-width: 1280px) {
    .shell {
      padding-inline: 3.5rem;
    }
  }

  .display-2xl {
    letter-spacing: -.035em;
    font-size: clamp(2.5rem, 5.5vw, 4.5rem);
    line-height: 1;
  }

  .display-hero {
    letter-spacing: -.05em;
    text-shadow: 0 0 44px #081a108c, 0 2px 10px #081a1059;
    font-size: clamp(3.25rem, 11.2vw, 13rem);
    line-height: .92;
  }

  .display-xl {
    letter-spacing: -.032em;
    font-size: clamp(2.125rem, 4.4vw, 3.75rem);
    line-height: 1;
  }

  .display-lg {
    letter-spacing: -.028em;
    font-size: clamp(1.75rem, 3.4vw, 2.875rem);
    line-height: 1.04;
  }

  .display-md {
    letter-spacing: -.022em;
    font-size: clamp(1.375rem, 2.2vw, 1.875rem);
    line-height: 1.1;
  }

  .lede {
    color: var(--color-text-muted);
    font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
    line-height: 1.55;
  }

  .measure {
    max-width: 64ch;
  }

  .shell-prose {
    width: 100%;
    max-width: 82rem;
    margin-inline: auto;
    padding-inline: 1.25rem;
  }

  .shell-prose > * {
    max-width: 48rem;
  }

  @media (min-width: 768px) {
    .shell-prose {
      padding-inline: 2.5rem;
    }
  }

  @media (min-width: 1280px) {
    .shell-prose {
      padding-inline: 3.5rem;
    }
  }

  .label {
    font-family: var(--font-display);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-text-subtle);
    font-size: .75rem;
    font-weight: 600;
  }
}

@layer utilities {
  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: 0;
  }

  .top-0 {
    top: 0;
  }

  .top-1\/2 {
    top: 50%;
  }

  .top-\[4\.5rem\] {
    top: 4.5rem;
  }

  .right-0 {
    right: 0;
  }

  .bottom-0 {
    bottom: 0;
  }

  .left-0 {
    left: 0;
  }

  .left-1\/2 {
    left: 50%;
  }

  .left-\[-9999px\] {
    left: -9999px;
  }

  .isolate {
    isolation: isolate;
  }

  .-z-10 {
    z-index: calc(10 * -1);
  }

  .-z-20 {
    z-index: calc(20 * -1);
  }

  .z-10 {
    z-index: 10;
  }

  .z-30 {
    z-index: 30;
  }

  .z-40 {
    z-index: 40;
  }

  .col-span-2 {
    grid-column: span 2 / span 2;
  }

  .col-start-2 {
    grid-column-start: 2;
  }

  .row-span-2 {
    grid-row: span 2 / span 2;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }

  .mx-auto {
    margin-inline: auto;
  }

  .-mt-\[4\.5rem\] {
    margin-top: -4.5rem;
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: var(--spacing);
  }

  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }

  .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-7 {
    margin-top: calc(var(--spacing) * 7);
  }

  .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-11 {
    margin-top: calc(var(--spacing) * 11);
  }

  .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-\[0\.2em\] {
    margin-top: .2em;
  }

  .-mr-1 {
    margin-right: calc(var(--spacing) * -1);
  }

  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }

  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }

  .-ml-8 {
    margin-left: calc(var(--spacing) * -8);
  }

  .line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .line-clamp-3 {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .\!grid {
    display: grid !important;
  }

  .\!inline-flex {
    display: inline-flex !important;
  }

  .block {
    display: block;
  }

  .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;
  }

  .aspect-\[3\/2\] {
    aspect-ratio: 3 / 2;
  }

  .aspect-\[4\/5\] {
    aspect-ratio: 4 / 5;
  }

  .aspect-\[5\/4\] {
    aspect-ratio: 5 / 4;
  }

  .aspect-\[9\/16\] {
    aspect-ratio: 9 / 16;
  }

  .aspect-\[16\/9\] {
    aspect-ratio: 16 / 9;
  }

  .aspect-\[21\/9\] {
    aspect-ratio: 21 / 9;
  }

  .aspect-square {
    aspect-ratio: 1;
  }

  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }

  .h-4 {
    height: calc(var(--spacing) * 4);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-7 {
    height: calc(var(--spacing) * 7);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-9 {
    height: calc(var(--spacing) * 9);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-13 {
    height: calc(var(--spacing) * 13);
  }

  .h-28 {
    height: calc(var(--spacing) * 28);
  }

  .h-30 {
    height: calc(var(--spacing) * 30);
  }

  .h-32 {
    height: calc(var(--spacing) * 32);
  }

  .h-\[4\.5rem\] {
    height: 4.5rem;
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .min-h-\[38rem\] {
    min-height: 38rem;
  }

  .min-h-\[clamp\(26rem\,62vh\,36rem\)\] {
    min-height: clamp(26rem, 62vh, 36rem);
  }

  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }

  .w-4 {
    width: calc(var(--spacing) * 4);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-7 {
    width: calc(var(--spacing) * 7);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-9 {
    width: calc(var(--spacing) * 9);
  }

  .w-10 {
    width: calc(var(--spacing) * 10);
  }

  .w-13 {
    width: calc(var(--spacing) * 13);
  }

  .w-28 {
    width: calc(var(--spacing) * 28);
  }

  .w-32 {
    width: calc(var(--spacing) * 32);
  }

  .w-auto {
    width: auto;
  }

  .w-fit {
    width: fit-content;
  }

  .w-full {
    width: 100%;
  }

  .w-px {
    width: 1px;
  }

  .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-\[20rem\] {
    max-width: 20rem;
  }

  .max-w-\[22ch\] {
    max-width: 22ch;
  }

  .max-w-\[22rem\] {
    max-width: 22rem;
  }

  .max-w-\[60ch\] {
    max-width: 60ch;
  }

  .max-w-\[64ch\] {
    max-width: 64ch;
  }

  .max-w-\[68ch\] {
    max-width: 68ch;
  }

  .max-w-lg {
    max-width: var(--container-lg);
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .max-w-prose {
    max-width: 65ch;
  }

  .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: 0;
  }

  .min-w-\[10rem\] {
    min-width: 10rem;
  }

  .flex-1 {
    flex: 1;
  }

  .flex-none {
    flex: none;
  }

  .flex-shrink, .shrink {
    flex-shrink: 1;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .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);
  }

  .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;
  }

  .scroll-mt-6 {
    scroll-margin-top: calc(var(--spacing) * 6);
  }

  .scroll-mt-24 {
    scroll-margin-top: calc(var(--spacing) * 24);
  }

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

  .grid-cols-\[2\.5rem_minmax\(0\,1fr\)\] {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }

  .grid-cols-\[3\.5rem_minmax\(0\,1fr\)\] {
    grid-template-columns: 3.5rem minmax(0, 1fr);
  }

  .grid-cols-\[3\.25rem_1fr\] {
    grid-template-columns: 3.25rem 1fr;
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-baseline {
    align-items: baseline;
  }

  .items-center {
    align-items: center;
  }

  .items-end {
    align-items: flex-end;
  }

  .items-start {
    align-items: flex-start;
  }

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

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .justify-start {
    justify-content: flex-start;
  }

  .gap-0\.5 {
    gap: calc(var(--spacing) * .5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-3\.5 {
    gap: calc(var(--spacing) * 3.5);
  }

  .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-10 {
    gap: calc(var(--spacing) * 10);
  }

  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }

  .gap-14 {
    gap: calc(var(--spacing) * 14);
  }

  .gap-px {
    gap: 1px;
  }

  :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)));
  }

  :where(.space-y-2\.5 > :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)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :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)));
  }

  :where(.space-y-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  .gap-x-4 {
    column-gap: calc(var(--spacing) * 4);
  }

  .gap-x-5 {
    column-gap: calc(var(--spacing) * 5);
  }

  .gap-x-6 {
    column-gap: calc(var(--spacing) * 6);
  }

  .gap-x-8 {
    column-gap: calc(var(--spacing) * 8);
  }

  .gap-x-10 {
    column-gap: calc(var(--spacing) * 10);
  }

  .gap-x-12 {
    column-gap: calc(var(--spacing) * 12);
  }

  .gap-y-1 {
    row-gap: var(--spacing);
  }

  .gap-y-2 {
    row-gap: calc(var(--spacing) * 2);
  }

  .gap-y-4 {
    row-gap: calc(var(--spacing) * 4);
  }

  .gap-y-5 {
    row-gap: calc(var(--spacing) * 5);
  }

  .gap-y-10 {
    row-gap: calc(var(--spacing) * 10);
  }

  .gap-y-12 {
    row-gap: calc(var(--spacing) * 12);
  }

  .self-end {
    align-self: flex-end;
  }

  .self-start {
    align-self: flex-start;
  }

  .overflow-clip {
    overflow: clip;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .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-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }

  .border-accent {
    border-color: var(--color-accent);
  }

  .border-brass-300 {
    border-color: var(--color-brass-300);
  }

  .border-green-600 {
    border-color: var(--color-green-600);
  }

  .border-green-700 {
    border-color: var(--color-green-700);
  }

  .border-green-800 {
    border-color: var(--color-green-800);
  }

  .border-line {
    border-color: var(--color-line);
  }

  .border-line-strong {
    border-color: var(--color-line-strong);
  }

  .border-on-contrast\/30 {
    border-color: #efebe14d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-on-contrast\/30 {
      border-color: color-mix(in oklab, var(--color-on-contrast) 30%, transparent);
    }
  }

  .border-paper-50\/25 {
    border-color: #fcfbf840;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-paper-50\/25 {
      border-color: color-mix(in oklab, var(--color-paper-50) 25%, transparent);
    }
  }

  .border-rust-500 {
    border-color: var(--color-rust-500);
  }

  .border-text-muted {
    border-color: var(--color-text-muted);
  }

  .bg-brass-300\/10 {
    background-color: #dccba41a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brass-300\/10 {
      background-color: color-mix(in oklab, var(--color-brass-300) 10%, transparent);
    }
  }

  .bg-canvas {
    background-color: var(--color-canvas);
  }

  .bg-canvas\/90 {
    background-color: #f6f4efe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-canvas\/90 {
      background-color: color-mix(in oklab, var(--color-canvas) 90%, transparent);
    }
  }

  .bg-contrast {
    background-color: var(--color-contrast);
  }

  .bg-contrast-deep {
    background-color: var(--color-contrast-deep);
  }

  .bg-contrast\/60 {
    background-color: #12291c99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-contrast\/60 {
      background-color: color-mix(in oklab, var(--color-contrast) 60%, transparent);
    }
  }

  .bg-espresso {
    background-color: var(--color-espresso);
  }

  .bg-green-50 {
    background-color: var(--color-green-50);
  }

  .bg-green-800 {
    background-color: var(--color-green-800);
  }

  .bg-green-900 {
    background-color: var(--color-green-900);
  }

  .bg-line {
    background-color: var(--color-line);
  }

  .bg-line-strong {
    background-color: var(--color-line-strong);
  }

  .bg-panel {
    background-color: var(--color-panel);
  }

  .bg-rust-600 {
    background-color: var(--color-rust-600);
  }

  .bg-rust-700 {
    background-color: var(--color-rust-700);
  }

  .bg-rust-800 {
    background-color: var(--color-rust-800);
  }

  .bg-sand {
    background-color: var(--color-sand);
  }

  .bg-sunken {
    background-color: var(--color-sunken);
  }

  .bg-sunken\/70 {
    background-color: #e0dbcfb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-sunken\/70 {
      background-color: color-mix(in oklab, var(--color-sunken) 70%, transparent);
    }
  }

  .bg-surface {
    background-color: var(--color-surface);
  }

  .object-cover {
    object-fit: cover;
  }

  .object-\[62\%_center\] {
    object-position: 62% center;
  }

  .p-1 {
    padding: var(--spacing);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .\!px-4 {
    padding-inline: calc(var(--spacing) * 4) !important;
  }

  .\!px-5 {
    padding-inline: calc(var(--spacing) * 5) !important;
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }

  .\!py-2 {
    padding-block: calc(var(--spacing) * 2) !important;
  }

  .\!py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5) !important;
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .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-16 {
    padding-block: calc(var(--spacing) * 16);
  }

  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }

  .py-24 {
    padding-block: calc(var(--spacing) * 24);
  }

  .py-32 {
    padding-block: calc(var(--spacing) * 32);
  }

  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }

  .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-10 {
    padding-top: calc(var(--spacing) * 10);
  }

  .pt-12 {
    padding-top: calc(var(--spacing) * 12);
  }

  .pt-14 {
    padding-top: calc(var(--spacing) * 14);
  }

  .pt-16 {
    padding-top: calc(var(--spacing) * 16);
  }

  .pt-20 {
    padding-top: calc(var(--spacing) * 20);
  }

  .pt-24 {
    padding-top: calc(var(--spacing) * 24);
  }

  .pt-32 {
    padding-top: calc(var(--spacing) * 32);
  }

  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }

  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }

  .pb-10 {
    padding-bottom: calc(var(--spacing) * 10);
  }

  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }

  .pb-14 {
    padding-bottom: calc(var(--spacing) * 14);
  }

  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }

  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }

  .text-center {
    text-align: center;
  }

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

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

  .font-serif {
    font-family: var(--font-serif);
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }

  .text-\[0\.75rem\] {
    font-size: .75rem;
  }

  .text-\[0\.875rem\] {
    font-size: .875rem;
  }

  .text-\[0\.6875rem\] {
    font-size: .6875rem;
  }

  .text-\[0\.8125rem\] {
    font-size: .8125rem;
  }

  .text-\[0\.9375rem\] {
    font-size: .9375rem;
  }

  .text-\[1\.25rem\] {
    font-size: 1.25rem;
  }

  .text-\[1\.125rem\] {
    font-size: 1.125rem;
  }

  .text-\[1\.375rem\] {
    font-size: 1.375rem;
  }

  .text-\[1\.0625rem\] {
    font-size: 1.0625rem;
  }

  .text-\[1rem\] {
    font-size: 1rem;
  }

  .text-\[3\.5rem\] {
    font-size: 3.5rem;
  }

  .text-\[clamp\(1\.75rem\,3vw\,2\.5rem\)\] {
    font-size: clamp(1.75rem, 3vw, 2.5rem);
  }

  .text-\[clamp\(1\.875rem\,3\.6vw\,2\.75rem\)\] {
    font-size: clamp(1.875rem, 3.6vw, 2.75rem);
  }

  .leading-\[1\.3\] {
    --tw-leading: 1.3;
    line-height: 1.3;
  }

  .leading-\[1\.75\] {
    --tw-leading: 1.75;
    line-height: 1.75;
  }

  .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);
  }

  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-\[0\.06em\] {
    --tw-tracking: .06em;
    letter-spacing: .06em;
  }

  .tracking-\[0\.08em\] {
    --tw-tracking: .08em;
    letter-spacing: .08em;
  }

  .tracking-normal {
    --tw-tracking: var(--tracking-normal);
    letter-spacing: var(--tracking-normal);
  }

  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .\!text-on-contrast {
    color: var(--color-on-contrast) !important;
  }

  .text-\[color\:var\(--color-state-alert\)\] {
    color: var(--color-state-alert);
  }

  .text-accent {
    color: var(--color-accent);
  }

  .text-brass-300 {
    color: var(--color-brass-300);
  }

  .text-brass-400 {
    color: var(--color-brass-400);
  }

  .text-green-100\/60 {
    color: #dbe6dd99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-green-100\/60 {
      color: color-mix(in oklab, var(--color-green-100) 60%, transparent);
    }
  }

  .text-green-200 {
    color: var(--color-green-200);
  }

  .text-green-300 {
    color: var(--color-green-300);
  }

  .text-green-600 {
    color: var(--color-green-600);
  }

  .text-green-700 {
    color: var(--color-green-700);
  }

  .text-green-900 {
    color: var(--color-green-900);
  }

  .text-mushroom-500 {
    color: var(--color-mushroom-500);
  }

  .text-on-contrast {
    color: var(--color-on-contrast);
  }

  .text-on-contrast-muted {
    color: var(--color-on-contrast-muted);
  }

  .text-on-contrast\/80 {
    color: #efebe1cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-on-contrast\/80 {
      color: color-mix(in oklab, var(--color-on-contrast) 80%, transparent);
    }
  }

  .text-paper-50 {
    color: var(--color-paper-50);
  }

  .text-rust-500 {
    color: var(--color-rust-500);
  }

  .text-rust-700 {
    color: var(--color-rust-700);
  }

  .text-text {
    color: var(--color-text);
  }

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

  .text-text-subtle {
    color: var(--color-text-subtle);
  }

  .lowercase {
    text-transform: lowercase;
  }

  .normal-case {
    text-transform: none;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .not-italic {
    font-style: normal;
  }

  .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;
  }

  .decoration-line-strong {
    -webkit-text-decoration-color: var(--color-line-strong);
    -webkit-text-decoration-color: var(--color-line-strong);
    text-decoration-color: var(--color-line-strong);
  }

  .underline-offset-2 {
    text-underline-offset: 2px;
  }

  .underline-offset-4 {
    text-underline-offset: 4px;
  }

  .underline-offset-8 {
    text-underline-offset: 8px;
  }

  .accent-\[color\:var\(--color-accent\)\], .accent-\[var\(--color-accent\)\] {
    accent-color: var(--color-accent);
  }

  .opacity-90 {
    opacity: .9;
  }

  .ring, .ring-1 {
    --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);
  }

  .ring-brass-300\/40 {
    --tw-ring-color: #dccba466;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-brass-300\/40 {
      --tw-ring-color: color-mix(in oklab, var(--color-brass-300) 40%, transparent);
    }
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .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-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -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, );
  }

  .backdrop-blur-xs {
    --tw-backdrop-blur: blur(var(--blur-xs));
    -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-\[height\,box-shadow\] {
    transition-property: height, box-shadow;
    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: .2s;
    transition-duration: .2s;
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .duration-500 {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  @media (hover: hover) {
    .group-hover\:translate-x-0\.5:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * .5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:-translate-y-0\.5:is(:where(.group):hover *) {
      --tw-translate-y: calc(var(--spacing) * -.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:scale-110:is(:where(.group):hover *) {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:text-green-700:is(:where(.group):hover *) {
      color: var(--color-green-700);
    }

    .group-hover\:underline:is(:where(.group):hover *) {
      text-decoration-line: underline;
    }

    .group-hover\:decoration-accent:is(:where(.group):hover *) {
      -webkit-text-decoration-color: var(--color-accent);
      -webkit-text-decoration-color: var(--color-accent);
      text-decoration-color: var(--color-accent);
    }
  }

  .placeholder\:text-text-subtle::placeholder {
    color: var(--color-text-subtle);
  }

  .first\:border-t:first-child {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .first\:border-t-0:first-child {
    border-top-style: var(--tw-border-style);
    border-top-width: 0;
  }

  @media (hover: hover) {
    .hover\:border-accent:hover {
      border-color: var(--color-accent);
    }

    .hover\:bg-accent:hover {
      background-color: var(--color-accent);
    }

    .hover\:bg-green-800:hover {
      background-color: var(--color-green-800);
    }

    .hover\:bg-surface:hover {
      background-color: var(--color-surface);
    }

    .hover\:text-accent:hover {
      color: var(--color-accent);
    }

    .hover\:text-green-700:hover {
      color: var(--color-green-700);
    }

    .hover\:text-paper-200:hover {
      color: var(--color-paper-200);
    }

    .hover\:text-text:hover {
      color: var(--color-text);
    }
  }

  .focus\:not-sr-only:focus {
    clip-path: none;
    white-space: normal;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    position: static;
    overflow: visible;
  }

  .focus\:fixed:focus {
    position: fixed;
  }

  .focus\:top-4:focus {
    top: calc(var(--spacing) * 4);
  }

  .focus\:left-4:focus {
    left: calc(var(--spacing) * 4);
  }

  .focus\:z-50:focus {
    z-index: 50;
  }

  .focus\:border-accent:focus {
    border-color: var(--color-accent);
  }

  .focus\:bg-contrast:focus {
    background-color: var(--color-contrast);
  }

  .focus\:px-4:focus {
    padding-inline: calc(var(--spacing) * 4);
  }

  .focus\:py-2:focus {
    padding-block: calc(var(--spacing) * 2);
  }

  .focus\:text-on-contrast:focus {
    color: var(--color-on-contrast);
  }

  .focus\:outline:focus {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .focus\:outline-2:focus {
    outline-style: var(--tw-outline-style);
    outline-width: 2px;
  }

  .focus\:outline-accent:focus {
    outline-color: var(--color-accent);
  }

  .focus-visible\:ring-2:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + 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);
  }

  .focus-visible\:ring-accent:focus-visible {
    --tw-ring-color: var(--color-accent);
  }

  .focus-visible\:outline:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .focus-visible\:outline-2:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 2px;
  }

  .focus-visible\:outline-offset-2:focus-visible {
    outline-offset: 2px;
  }

  .focus-visible\:outline-offset-4:focus-visible {
    outline-offset: 4px;
  }

  .focus-visible\:outline-accent:focus-visible {
    outline-color: var(--color-accent);
  }

  .focus-visible\:outline-rust-500:focus-visible {
    outline-color: var(--color-rust-500);
  }

  .focus-visible\:outline-none:focus-visible {
    --tw-outline-style: none;
    outline-style: none;
  }

  .has-\[\:checked\]\:border-accent:has(:checked) {
    border-color: var(--color-accent);
  }

  .has-\[\:focus-visible\]\:ring-2:has(:focus-visible) {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + 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);
  }

  .has-\[\:focus-visible\]\:ring-accent:has(:focus-visible) {
    --tw-ring-color: var(--color-accent);
  }

  @media (min-width: 40rem) {
    .sm\:hidden {
      display: none;
    }

    .sm\:inline {
      display: inline;
    }

    .sm\:inline-block {
      display: inline-block;
    }

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

    .sm\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .sm\:flex-row {
      flex-direction: row;
    }

    .sm\:items-center {
      align-items: center;
    }

    .sm\:justify-between {
      justify-content: space-between;
    }

    .sm\:text-\[0\.75rem\] {
      font-size: .75rem;
    }

    .sm\:text-\[1\.375rem\] {
      font-size: 1.375rem;
    }
  }

  @media (min-width: 48rem) {
    .md\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .md\:col-span-4 {
      grid-column: span 4 / span 4;
    }

    .md\:col-span-5 {
      grid-column: span 5 / span 5;
    }

    .md\:col-span-7 {
      grid-column: span 7 / span 7;
    }

    .md\:col-span-8 {
      grid-column: span 8 / span 8;
    }

    .md\:col-span-12 {
      grid-column: span 12 / span 12;
    }

    .md\:row-span-1 {
      grid-row: span 1 / span 1;
    }

    .md\:mx-0 {
      margin-inline: 0;
    }

    .md\:mt-12 {
      margin-top: calc(var(--spacing) * 12);
    }

    .md\:mt-14 {
      margin-top: calc(var(--spacing) * 14);
    }

    .md\:flex {
      display: flex;
    }

    .md\:aspect-\[21\/9\] {
      aspect-ratio: 21 / 9;
    }

    .md\:h-32 {
      height: calc(var(--spacing) * 32);
    }

    .md\:h-36 {
      height: calc(var(--spacing) * 36);
    }

    .md\:min-h-\[46rem\] {
      min-height: 46rem;
    }

    .md\:w-32 {
      width: calc(var(--spacing) * 32);
    }

    .md\:w-36 {
      width: calc(var(--spacing) * 36);
    }

    .md\:max-w-\[17rem\] {
      max-width: 17rem;
    }

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

    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .md\:grid-cols-12 {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .md\:grid-cols-\[3\.25rem_minmax\(0\,5fr\)_minmax\(0\,7fr\)\] {
      grid-template-columns: 3.25rem minmax(0, 5fr) minmax(0, 7fr);
    }

    .md\:items-center {
      align-items: center;
    }

    .md\:justify-end {
      justify-content: flex-end;
    }

    .md\:gap-10 {
      gap: calc(var(--spacing) * 10);
    }

    .md\:gap-14 {
      gap: calc(var(--spacing) * 14);
    }

    .md\:gap-x-8 {
      column-gap: calc(var(--spacing) * 8);
    }

    .md\:justify-self-end {
      justify-self: flex-end;
    }

    .md\:border-t-0 {
      border-top-style: var(--tw-border-style);
      border-top-width: 0;
    }

    .md\:border-l {
      border-left-style: var(--tw-border-style);
      border-left-width: 1px;
    }

    .md\:px-10 {
      padding-inline: calc(var(--spacing) * 10);
    }

    .md\:py-6 {
      padding-block: calc(var(--spacing) * 6);
    }

    .md\:py-14 {
      padding-block: calc(var(--spacing) * 14);
    }

    .md\:py-16 {
      padding-block: calc(var(--spacing) * 16);
    }

    .md\:py-20 {
      padding-block: calc(var(--spacing) * 20);
    }

    .md\:py-24 {
      padding-block: calc(var(--spacing) * 24);
    }

    .md\:py-28 {
      padding-block: calc(var(--spacing) * 28);
    }

    .md\:py-32 {
      padding-block: calc(var(--spacing) * 32);
    }

    .md\:py-44 {
      padding-block: calc(var(--spacing) * 44);
    }

    .md\:pt-16 {
      padding-top: calc(var(--spacing) * 16);
    }

    .md\:pt-20 {
      padding-top: calc(var(--spacing) * 20);
    }

    .md\:pt-28 {
      padding-top: calc(var(--spacing) * 28);
    }

    .md\:pb-14 {
      padding-bottom: calc(var(--spacing) * 14);
    }

    .md\:pb-16 {
      padding-bottom: calc(var(--spacing) * 16);
    }

    .md\:pb-20 {
      padding-bottom: calc(var(--spacing) * 20);
    }

    .md\:text-base {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }

    .md\:text-\[1\.5rem\] {
      font-size: 1.5rem;
    }

    .md\:text-\[1\.625rem\] {
      font-size: 1.625rem;
    }

    .md\:text-\[1\.1875rem\] {
      font-size: 1.1875rem;
    }

    .md\:first\:border-l-0:first-child {
      border-left-style: var(--tw-border-style);
      border-left-width: 0;
    }
  }

  @media (min-width: 64rem) {
    .lg\:sticky {
      position: sticky;
    }

    .lg\:top-28 {
      top: calc(var(--spacing) * 28);
    }

    .lg\:col-span-4 {
      grid-column: span 4 / span 4;
    }

    .lg\:col-span-5 {
      grid-column: span 5 / span 5;
    }

    .lg\:col-span-6 {
      grid-column: span 6 / span 6;
    }

    .lg\:col-span-7 {
      grid-column: span 7 / span 7;
    }

    .lg\:col-span-8 {
      grid-column: span 8 / span 8;
    }

    .lg\:col-span-9 {
      grid-column: span 9 / span 9;
    }

    .lg\:col-start-8 {
      grid-column-start: 8;
    }

    .lg\:col-start-9 {
      grid-column-start: 9;
    }

    .lg\:mx-0 {
      margin-inline: 0;
    }

    .lg\:mt-16 {
      margin-top: calc(var(--spacing) * 16);
    }

    .lg\:flex {
      display: flex;
    }

    .lg\:hidden {
      display: none;
    }

    .lg\:min-h-\[52rem\] {
      min-height: 52rem;
    }

    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lg\:grid-cols-12 {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .lg\:gap-12 {
      gap: calc(var(--spacing) * 12);
    }

    .lg\:gap-14 {
      gap: calc(var(--spacing) * 14);
    }

    .lg\:gap-16 {
      gap: calc(var(--spacing) * 16);
    }

    .lg\:object-center {
      object-position: center;
    }

    .lg\:px-14 {
      padding-inline: calc(var(--spacing) * 14);
    }

    .lg\:pb-24 {
      padding-bottom: calc(var(--spacing) * 24);
    }

    .lg\:whitespace-nowrap {
      white-space: nowrap;
    }
  }

  @media (min-width: 80rem) {
    .xl\:block {
      display: block;
    }

    .xl\:inline-block {
      display: inline-block;
    }

    .xl\:gap-1 {
      gap: var(--spacing);
    }

    .xl\:gap-5 {
      gap: calc(var(--spacing) * 5);
    }

    .xl\:px-3 {
      padding-inline: calc(var(--spacing) * 3);
    }
  }
}

@font-face {
  font-family: Geist Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2") format("woff2-variations");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Geist Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2") format("woff2-variations");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Geist Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2") format("woff2-variations");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Geist Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2") format("woff2-variations");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Geist Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/geist-latin-wght-normal.BgDaEnEv.woff2") format("woff2-variations");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Geist Mono Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2") format("woff2-variations");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Geist Mono Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2") format("woff2-variations");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Geist Mono Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2") format("woff2-variations");
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}

@font-face {
  font-family: Geist Mono Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2") format("woff2-variations");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Geist Mono Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2") format("woff2-variations");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Geist Mono Variable;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2") format("woff2-variations");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Instrument Serif;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("/_astro/instrument-serif-latin-ext-400-normal.C2je3j2s.woff2") format("woff2"), url("/_astro/instrument-serif-latin-ext-400-normal.CFCUzsTy.woff") format("woff");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Instrument Serif;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2") format("woff2"), url("/_astro/instrument-serif-latin-400-normal.BVbkICAY.woff") format("woff");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Instrument Serif;
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url("/_astro/instrument-serif-latin-ext-400-italic.C9HzH3YL.woff2") format("woff2"), url("/_astro/instrument-serif-latin-ext-400-italic.D7-lnxEk.woff") format("woff");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Instrument Serif;
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url("/_astro/instrument-serif-latin-400-italic.DKMiL14s.woff2") format("woff2"), url("/_astro/instrument-serif-latin-400-italic.u__WvvIK.woff") format("woff");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .reveal {
      animation: both reveal-in;
      animation-timeline: view();
      animation-range: entry entry 46%;
    }
  }

  @supports not (animation-timeline: view()) {
    .reveal {
      opacity: 0;
      transform: translate3d(0, 1.5rem, 0);
    }

    .reveal.is-in {
      animation: reveal-in var(--dur-slow) var(--ease-out-expo) both;
      animation-delay: calc(var(--i, 0) * 70ms);
    }
  }

  .rise {
    animation: reveal-in var(--dur-slow) var(--ease-out-expo) both;
    animation-delay: calc(var(--i, 0) * 90ms);
  }
}

@keyframes reveal-in {
  from {
    opacity: 0;
    transform: translate3d(0, 1.5rem, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.rise-mask {
  padding-bottom: .12em;
  display: block;
  overflow: hidden;
}

.rise-mask > * {
  display: block;
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .rise-mask > * {
      animation: both line-rise;
      animation-timeline: view();
      animation-range: entry entry 42%;
    }
  }

  @supports not (animation-timeline: view()) {
    .rise-mask > * {
      transform: translate3d(0, 105%, 0);
    }

    .rise-mask.is-in > * {
      animation: line-rise .9s var(--ease-deco) both;
    }
  }
}

@keyframes line-rise {
  from {
    transform: translate3d(0, 105%, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.link-sweep {
  padding-bottom: 2px;
  display: inline-block;
  position: relative;
}

.link-sweep:after {
  content: "";
  transform-origin: 100%;
  width: 100%;
  height: 1px;
  transition: transform var(--dur-base) var(--ease-out-expo);
  background: currentColor;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
}

.link-sweep:hover:after, .link-sweep:focus-visible:after {
  transform-origin: 0;
  transform: scaleX(1);
}

.btn {
  isolation: isolate;
  letter-spacing: .01em;
  white-space: nowrap;
  transform: translate3d(calc(var(--mx, 0) * 1px), calc(var(--my, 0) * 1px), 0);
  transition: color var(--dur-base) var(--ease-out-expo), border-color var(--dur-base) var(--ease-out-expo), transform var(--dur-base) var(--ease-out-expo);
  justify-content: center;
  align-items: center;
  gap: .625rem;
  padding: 1rem 1.75rem;
  font-size: .8125rem;
  font-weight: 500;
  display: inline-flex;
  position: relative;
  overflow: hidden;
}

.btn:before {
  content: "";
  z-index: -1;
  transition: transform var(--dur-base) var(--ease-out-expo);
  position: absolute;
  inset: 0;
  transform: translateY(101%);
}

.btn:hover:before, .btn:focus-visible:before {
  transform: translateY(0);
}

.btn:active {
  transform: translate3d(0, 1px, 0);
}

.btn-primary {
  border: 1px solid var(--color-rust-700);
  background: var(--color-rust-700);
  color: var(--color-paper-50);
}

.btn-primary:before {
  background: var(--color-green-800);
}

.btn-primary:hover, .btn-primary:focus-visible {
  color: var(--color-paper-50);
  border-color: var(--color-green-800);
  background-color: var(--color-green-800);
}

.btn-brass {
  border: 1px solid var(--color-brass-400);
  background: var(--color-brass-400);
  color: var(--color-green-950);
}

.btn-brass:before {
  background: var(--color-on-contrast);
}

.btn-brass:hover, .btn-brass:focus-visible {
  color: var(--color-green-950);
  border-color: var(--color-on-contrast);
  background-color: var(--color-on-contrast);
}

.stack-world__drift {
  pointer-events: none;
  background-image: linear-gradient(var(--color-line-strong) 1px, transparent 1px), linear-gradient(90deg, var(--color-line-strong) 1px, transparent 1px);
  opacity: .35;
  background-size: 72px 72px;
  position: absolute;
  inset: 0;
}

.stack-world__drift span {
  filter: blur(60px);
  opacity: .35;
  border-radius: 50%;
  width: 46vw;
  height: 46vw;
  position: absolute;
}

.stack-world__drift span:first-child {
  background: var(--color-rust-500);
  top: 10%;
  left: -10vw;
}

.stack-world__drift span:last-child {
  background: var(--color-green-600);
  bottom: 0;
  right: -12vw;
}

@media (prefers-reduced-motion: no-preference) {
  .stack-world__drift {
    animation: 40s linear infinite grid-drift;
  }

  .stack-world__drift span:first-child {
    animation: 26s ease-in-out infinite alternate bloom-a;
  }

  .stack-world__drift span:last-child {
    animation: 32s ease-in-out infinite alternate bloom-b;
  }
}

@keyframes grid-drift {
  to {
    background-position: 72px 72px;
  }
}

@keyframes bloom-a {
  to {
    transform: translate(18vw, 14vh) scale(1.15);
  }
}

@keyframes bloom-b {
  to {
    transform: translate(-16vw, -12vh) scale(.9);
  }
}

.stack__row {
  gap: 1rem;
  display: grid;
}

@media (min-width: 768px) {
  .stack__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.stack[data-live] {
  height: 380vh;
}

.stack[data-live] .stack__stage {
  align-items: center;
  height: 100vh;
  display: flex;
  position: sticky;
  top: 0;
}

.stack[data-live] .stack__row {
  height: min(64vh, 38rem);
  display: flex;
}

.stack__nudge {
  display: none;
}

@media (min-width: 1360px) {
  .stack[data-live] .stack__nudge {
    z-index: 1;
    writing-mode: vertical-rl;
    font-family: var(--font-display);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--color-rust-700);
    pointer-events: none;
    align-items: center;
    gap: .875rem;
    font-size: .6875rem;
    font-weight: 600;
    transition: opacity .5s;
    display: flex;
    position: absolute;
    top: 50%;
    left: calc(25vw - 18.75rem);
    transform: translate(-50%, -50%) rotate(180deg);
  }

  .stack[data-live] .stack__nudge:before {
    content: "";
    background: linear-gradient(to top, transparent, var(--color-rust-500), transparent) 0 0 / 1px 40% no-repeat, var(--color-line-strong);
    width: 1px;
    height: 3.5rem;
    animation: 2.4s ease-in-out infinite nudge-run;
  }

  .stack[data-live] .stack__nudge span {
    animation: 2.4s ease-in-out infinite nudge-glow;
  }

  .stack[data-live][data-end] .stack__nudge {
    opacity: 0;
  }
}

@keyframes nudge-run {
  from {
    background-position: 0 120%, 0 0;
  }

  to {
    background-position: 0 -60%, 0 0;
  }
}

@keyframes nudge-glow {
  0%, 100% {
    text-shadow: 0 0 #0000;
  }

  50% {
    text-shadow: 0 0 10px #bb5a3e8c;
  }
}

.stack-card {
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
  min-height: 22rem;
  padding: 2rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.stack[data-live] .stack-card {
  flex: 1 1 0;
  min-width: 6.5rem;
  min-height: 0;
  transition: flex-grow .55s cubic-bezier(.2, .7, .2, 1);
}

.stack-card__icon {
  border: 1px solid;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  width: 3.25rem;
  height: 3.25rem;
  display: inline-flex;
}

.stack-card__title {
  font-family: var(--font-display);
  letter-spacing: -.03em;
  white-space: nowrap;
  font-size: clamp(1.75rem, 2.6vw, 2.75rem);
  font-weight: 500;
  line-height: 1.02;
}

.stack-card__trigger {
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-align: inherit;
  cursor: pointer;
}

.stack-card__trigger[hidden] {
  display: none;
}

.stack-card {
  cursor: pointer;
}

.stack-card__link[hidden] {
  display: none;
}

:is(.stack-card__link, .stack-card__trigger):after {
  content: "";
  z-index: 1;
  position: absolute;
  inset: 0;
}

:is(.stack-card__link, .stack-card__trigger):focus-visible {
  outline: none;
}

.stack-card:has(:is(.stack-card__link, .stack-card__trigger):focus-visible) {
  outline: 2px solid var(--color-rust-500);
  outline-offset: 3px;
}

.stack-card__ctas {
  flex-wrap: wrap;
  gap: .625rem;
  margin-top: 1.75rem;
  display: flex;
}

.stack-card__quiz {
  z-index: 2;
  white-space: nowrap;
  border: 1px solid;
  align-items: center;
  gap: .5rem;
  padding: calc(.875rem - 1px) 1.125rem;
  font-size: .8125rem;
  font-weight: 500;
  transition: background-color .2s, color .2s;
  display: inline-flex;
  position: relative;
}

.stack-card__quiz:hover {
  background: #ffffff1f;
}

.stack-card--paper .stack-card__quiz:hover {
  background: var(--color-sand);
}

.stack-card__quiz:focus-visible {
  outline-offset: 3px;
  outline: 2px solid;
}

.stack-card__cta {
  z-index: 2;
  white-space: nowrap;
  align-items: center;
  gap: .625rem;
  padding: .875rem 1.25rem;
  font-size: .8125rem;
  font-weight: 500;
  transition: background-color .2s, color .2s;
  display: inline-flex;
  position: relative;
}

.stack-card__detail {
  transition: opacity .45s;
}

.stack-card__go {
  transition: transform .3s;
}

.stack-card:hover .stack-card__go {
  transform: translate(3px, -3px);
}

.stack[data-live] .stack-card:not([data-active]) .stack-card__detail {
  opacity: 0;
  pointer-events: none;
  width: 26rem;
  position: absolute;
  bottom: 2rem;
  left: 2rem;
}

.stack[data-live] .stack-card:not([data-active]) .stack-card__title {
  writing-mode: vertical-rl;
  font-size: clamp(1.375rem, 3vh, 2.25rem);
  transform: rotate(180deg);
}

@media (prefers-reduced-motion: no-preference) {
  .stack[data-live] .stack-card[data-active] .stack-card__title {
    animation: .5s cubic-bezier(.2, .7, .2, 1) both stack-title-in;
  }

  .stack[data-live] .stack-card:not([data-active]) .stack-card__title {
    animation: .45s both stack-title-turn;
  }

  .stack[data-live] .stack-card[data-active] .stack-card__detail {
    transition-delay: .12s;
  }
}

@keyframes stack-title-in {
  from {
    opacity: 0;
    transform: translateY(.75rem);
  }
}

@keyframes stack-title-turn {
  from {
    opacity: 0;
  }
}

.stack-card__icon {
  flex-shrink: 0;
}

.stack[data-live] .stack-card:last-child:not([data-active]) .stack-card__corner {
  display: none;
}

.stack-card__num {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  opacity: .8;
  font-size: .75rem;
}

.stack-card--green {
  background: var(--color-contrast);
  color: var(--color-on-contrast);
}

.stack-card--green .stack-card__icon, .stack-card--green .stack-card__go {
  color: var(--color-brass-300);
}

.stack-card--green .stack-card__cta {
  background: var(--color-brass-400);
  color: var(--color-green-950);
}

.stack-card--green .stack-card__cta:hover {
  background: var(--color-on-contrast);
}

.stack-card--espresso {
  background: var(--color-espresso);
  color: var(--color-on-contrast);
}

.stack-card--espresso .stack-card__icon, .stack-card--espresso .stack-card__go {
  color: var(--color-brass-300);
}

.stack-card--espresso .stack-card__cta {
  background: var(--color-brass-400);
  color: var(--color-green-950);
}

.stack-card--espresso .stack-card__cta:hover {
  background: var(--color-on-contrast);
}

.stack-card--rust {
  background: var(--color-rust-700);
  color: var(--color-paper-50);
}

.stack-card--rust .stack-card__icon, .stack-card--rust .stack-card__go {
  color: var(--color-paper-50);
}

.stack-card--rust .stack-card__cta {
  background: var(--color-paper-50);
  color: var(--color-rust-700);
}

.stack-card--rust .stack-card__cta:hover {
  background: var(--color-sand);
}

.stack-card--paper {
  background: var(--color-paper-50);
  color: var(--color-text);
  border: 1px solid var(--color-line-strong);
}

.stack-card--paper .stack-card__icon, .stack-card--paper .stack-card__go {
  color: var(--color-rust-700);
}

.stack-card--paper .stack-card__cta {
  background: var(--color-rust-700);
  color: var(--color-paper-50);
}

.stack-card--paper .stack-card__cta:hover {
  background: var(--color-green-800);
}

#site-header {
  transition: background-color .35s, border-color .35s, -webkit-backdrop-filter .35s, backdrop-filter .35s, height .35s, box-shadow .3s;
}

.header-mark-light {
  display: none;
}

#site-header[data-overlay]:not(.is-condensed) {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
  background: none;
  border-color: #0000;
}

#site-header[data-overlay]:before {
  content: "";
  z-index: -1;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(#081a10c7, #081a10a3 42%, #081a1042 74%, #081a1000);
  height: 9.5rem;
  transition: opacity .35s;
  position: absolute;
  inset: 0 0 auto;
}

#site-header[data-overlay]:not(.is-condensed):before {
  opacity: 1;
}

#site-header[data-overlay]:not(.is-condensed) .header-mark {
  display: none;
}

#site-header[data-overlay]:not(.is-condensed) .header-mark-light {
  display: block;
}

#site-header[data-overlay]:not(.is-condensed) :is(.text-text, .text-text-muted, .text-text-subtle) {
  color: var(--color-on-contrast);
}

#site-header[data-overlay]:not(.is-condensed) nav ul.bg-sunken\/70 {
  background: #081a104d;
  box-shadow: inset 0 0 0 1px #efebe12e;
}

#site-header[data-overlay]:not(.is-condensed) nav a:hover {
  background: #efebe129;
}

#site-header[data-overlay]:not(.is-condensed) .bg-line-strong {
  background: #efebe159;
}

#site-header[data-overlay]:not(.is-condensed) #nav-toggle, #site-header[data-overlay]:not(.is-condensed) a[aria-label^="Call"] {
  color: var(--color-on-contrast);
  border-color: #efebe173;
}

#site-header[data-overlay]:not(.is-condensed) .scroll-progress {
  opacity: 0;
}

.cycle-orbit {
  transform-origin: 200px 200px;
  transform-box: view-box;
}

@media (prefers-reduced-motion: no-preference) {
  .cycle-orbit {
    animation: 14s linear infinite cycle-orbit;
  }
}

@keyframes cycle-orbit {
  to {
    transform: rotate(360deg);
  }
}

.btn-sheen:after {
  content: "";
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(105deg, #0000 30%, #fffaeb8c 48%, #0000 66%);
  position: absolute;
  inset: 0;
  transform: translateX(-120%);
}

@media (prefers-reduced-motion: no-preference) {
  .btn-sheen:after {
    animation: 4.2s ease-in-out 1.2s infinite btn-sheen;
  }
}

@keyframes btn-sheen {
  0% {
    transform: translateX(-120%);
  }

  32%, 100% {
    transform: translateX(120%);
  }
}

.btn-on-dark {
  color: var(--color-on-contrast);
  background: none;
  border: 1px solid #efebe199;
}

.btn-on-dark:before {
  background: var(--color-on-contrast);
}

.btn-on-dark:hover, .btn-on-dark:focus-visible {
  color: var(--color-green-950);
  border-color: var(--color-on-contrast);
  background-color: var(--color-on-contrast);
}

.bg-contrast .btn-primary, .bg-espresso .btn-primary, [data-theme="dark"] .btn-primary {
  border: 1px solid var(--color-brass-400);
  background: var(--color-brass-400);
  color: var(--color-green-950);
}

.bg-contrast .btn-primary:before, .bg-espresso .btn-primary:before, [data-theme="dark"] .btn-primary:before {
  background: var(--color-on-contrast);
}

.bg-contrast .btn-primary:hover, .bg-contrast .btn-primary:focus-visible, .bg-espresso .btn-primary:hover, .bg-espresso .btn-primary:focus-visible, [data-theme="dark"] .btn-primary:hover, [data-theme="dark"] .btn-primary:focus-visible {
  color: var(--color-green-950);
  border-color: var(--color-on-contrast);
  background-color: var(--color-on-contrast);
}

.bg-rust-800 .btn-primary, .bg-rust-700 .btn-primary {
  border-color: var(--color-paper-50);
  background: var(--color-paper-50);
  color: var(--color-rust-700);
}

.bg-rust-800 .btn-primary:before, .bg-rust-700 .btn-primary:before {
  background: var(--color-espresso);
}

.bg-rust-800 .btn-primary:hover, .bg-rust-800 .btn-primary:focus-visible, .bg-rust-700 .btn-primary:hover, .bg-rust-700 .btn-primary:focus-visible {
  color: var(--color-paper-50);
  border-color: var(--color-espresso);
  background-color: var(--color-espresso);
}

.btn-secondary {
  border: 1px solid var(--color-line-strong);
  color: var(--color-text);
  background: none;
}

.btn-secondary:before {
  background: var(--color-accent);
}

.btn-secondary:hover, .btn-secondary:focus-visible {
  color: var(--color-paper-50);
  border-color: var(--color-accent);
  background-color: var(--color-accent);
}

.btn .icon-shift, .arrow-parent .icon-shift {
  transition: transform var(--dur-base) var(--ease-out-expo);
}

.btn:hover .icon-shift, .arrow-parent:hover .icon-shift {
  transform: translateX(4px);
}

.zoom-frame {
  overflow: hidden;
}

.zoom-frame img {
  transition: transform .9s var(--ease-out-expo);
  will-change: transform;
}

.zoom-parent:hover .zoom-frame img {
  transform: scale(1.045);
}

.drift img {
  animation: drift 26s var(--ease-out-expo) infinite alternate;
  transform-origin: 58% 42%;
}

@keyframes drift {
  from {
    transform: scale(1.02);
  }

  to {
    transform: scale(1.11);
  }
}

.spotlight {
  position: relative;
}

.spotlight:before {
  content: "";
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--dur-base) var(--ease-out-expo);
  background: radial-gradient(22rem circle at var(--px, 50%) var(--py, 50%), #c6b69b42, transparent 62%);
  position: absolute;
  inset: 0;
}

.spotlight:hover:before {
  opacity: 1;
}

.rule-draw {
  position: relative;
  border-top: 0 !important;
}

.rule-draw:before {
  content: "";
  background: var(--color-line-strong);
  transform-origin: 0;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  transform: scaleX(0);
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .rule-draw:before {
      animation: both draw-x;
      animation-timeline: view();
      animation-range: entry entry 55%;
    }
  }

  @supports not (animation-timeline: view()) {
    .rule-draw.is-in:before {
      animation: draw-x .9s var(--ease-out-expo) both;
    }
  }
}

@keyframes draw-x {
  to {
    transform: scaleX(1);
  }
}

.sheen {
  position: relative;
  overflow: hidden;
}

.sheen:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(105deg, #0000 38%, #c9b1821a 48%, #0000 58%);
  position: absolute;
  inset: 0;
  transform: translateX(-60%);
}

@media (prefers-reduced-motion: no-preference) {
  .sheen:after {
    animation: sheen 9s var(--ease-out-expo) infinite;
  }
}

@keyframes sheen {
  0%, 62% {
    transform: translateX(-60%);
  }

  100% {
    transform: translateX(60%);
  }
}

.state {
  font-family: var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
  align-items: center;
  gap: .4rem;
  padding: .25rem .5rem;
  font-size: .625rem;
  display: inline-flex;
}

.state:before {
  content: "";
  background: currentColor;
  flex: none;
  width: .375rem;
  height: .375rem;
}

.state-open {
  background: var(--color-contrast);
  color: var(--color-on-contrast);
}

.state-hold {
  background: var(--color-brass-400);
  color: var(--color-green-900);
}

.state-done {
  border: 1px solid var(--color-line-strong);
  color: var(--color-text-muted);
}

.meter {
  background: var(--color-sunken);
  height: 2px;
  overflow: hidden;
}

.meter > i {
  background: var(--color-accent);
  width: 0;
  height: 100%;
  display: block;
}

.meter-hold > i {
  background: var(--color-brass-400);
}

.meter-done > i {
  background: var(--color-line-strong);
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .meter > i {
      animation: both meter-fill;
      animation-timeline: view();
      animation-range: entry entry 50%;
    }
  }

  @supports not (animation-timeline: view()) {
    .is-in .meter > i, .reveal.is-in .meter > i {
      animation: meter-fill .9s var(--ease-out-expo) both;
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .meter > i {
    width: var(--share, 0%);
  }
}

@keyframes meter-fill {
  to {
    width: var(--share, 0%);
  }
}

.plate {
  margin: 0;
}

.plate-frame {
  border: 1px solid var(--color-line-strong);
  background: var(--color-surface);
}

.plate svg {
  width: 100%;
  height: auto;
  display: block;
}

.plate .grid {
  stroke: var(--color-line);
  stroke-width: 1px;
}

.plate .tick {
  fill: none;
  stroke: var(--color-line-strong);
  stroke-width: 1.5px;
}

.plate .struct {
  fill: none;
  stroke: var(--color-green-700);
  stroke-width: 2.25px;
  stroke-linejoin: miter;
}

.plate .sub {
  fill: none;
  stroke: var(--color-green-500);
  stroke-width: 1.25px;
}

.plate .hint {
  fill: none;
  stroke: var(--color-green-300);
  stroke-width: 1px;
}

.plate .ground {
  fill: none;
  stroke: var(--color-green-800);
  stroke-width: 3px;
}

.plate .roof {
  fill: none;
  stroke: var(--color-mushroom-600);
  stroke-width: 3px;
}

.plate .dim {
  fill: none;
  stroke: var(--color-mushroom-600);
  stroke-width: 1px;
}

.plate .dim-fill {
  fill: var(--color-mushroom-200);
  stroke: var(--color-mushroom-600);
  stroke-width: 1px;
}

.plate .fill-open {
  fill: var(--color-green-100);
}

.plate .node {
  fill: var(--color-mushroom-400);
  stroke: var(--color-green-800);
  stroke-width: 1.5px;
}

.plate .note {
  font-family: var(--font-mono);
  letter-spacing: .12em;
  fill: var(--color-text-subtle);
  font-size: 11px;
}

.plate-label {
  border-top: 1px solid var(--color-line);
  flex-wrap: wrap;
  align-items: baseline;
  gap: .5rem .75rem;
  padding: .75rem 1rem;
  display: flex;
}

.plate-kind {
  font-family: var(--font-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--color-green-700);
  font-size: .625rem;
}

.plate-caption {
  color: var(--color-text-muted);
  font-size: .8125rem;
}

@media (prefers-reduced-motion: no-preference) {
  .plate .struct, .plate .sub, .plate .hint, .plate .ground, .plate .roof, .plate .dim, .plate .tick {
    stroke-dasharray: 1400;
    stroke-dashoffset: 1400px;
  }

  .plate .fill-open, .plate .dim-fill, .plate .node, .plate .note {
    opacity: 0;
  }

  .plate.is-in .struct, .plate.is-in .sub, .plate.is-in .hint, .plate.is-in .ground, .plate.is-in .roof, .plate.is-in .dim, .plate.is-in .tick {
    animation: plate-draw 1.5s var(--ease-deco) both;
  }

  .plate.is-in .fill-open, .plate.is-in .dim-fill, .plate.is-in .node, .plate.is-in .note {
    animation: plate-in .7s var(--ease-out-expo) .7s both;
  }
}

@keyframes plate-draw {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes plate-in {
  to {
    opacity: 1;
  }
}

.faq summary {
  cursor: pointer;
  transition: color var(--dur-base) var(--ease-out-expo);
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5rem;
  padding: 1.375rem 0;
  list-style: none;
  display: flex;
}

.faq summary::-webkit-details-marker {
  display: none;
}

.faq summary:hover {
  color: var(--color-green-700);
}

.faq summary:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

.faq-q {
  font-family: var(--font-display);
  letter-spacing: -.018em;
  font-size: clamp(1.0625rem, 1.5vw, 1.1875rem);
  font-weight: 500;
  line-height: 1.3;
}

.faq-icon {
  flex: none;
  width: .875rem;
  height: .875rem;
  margin-top: .3rem;
  position: relative;
}

.faq-icon:before, .faq-icon:after {
  content: "";
  background: var(--color-green-600);
  height: 1.5px;
  transition: transform var(--dur-base) var(--ease-out-expo);
  position: absolute;
  inset: 50% 0 auto;
}

.faq-icon:after {
  transform: rotate(90deg);
}

.faq[open] .faq-icon:after {
  transform: rotate(0);
}

.faq-a {
  max-width: 60ch;
  color: var(--color-text-muted);
  padding-bottom: 1.5rem;
  font-size: 1rem;
  line-height: 1.65;
}

@media (prefers-reduced-motion: no-preference) {
  .faq[open] .faq-a {
    animation: faq-open .4s var(--ease-out-expo) both;
  }
}

@keyframes faq-open {
  from {
    opacity: 0;
    transform: translate3d(0, -.375rem, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.hero-scrim {
  background: linear-gradient(45deg, #0b1c13e6 0%, #0b1c13c7 34%, #0b1c13a8 58%, #0b1c1370 78%, #0b1c1324 92%, #0b1c1300 100%);
}

@media (max-width: 767px) {
  .hero-scrim {
    background: linear-gradient(to top, #0b1c13e0 0%, #0b1c138c 55%, #0b1c1333 100%);
  }
}

.photo {
  position: relative;
  overflow: hidden;
}

.photo img {
  filter: sepia(.38) saturate(.8) contrast(1.08) brightness(1.02);
}

.photo--ungraded img {
  filter: none;
}

.photo--ungraded:after {
  content: none;
}

.photo:after {
  content: "";
  pointer-events: none;
  background: var(--color-photo-tint);
  mix-blend-mode: multiply;
  opacity: .12;
  position: absolute;
  inset: 0;
}

.row-shift {
  transition: padding-left var(--dur-base) var(--ease-out-expo), background-color var(--dur-base) var(--ease-out-expo);
}

.row-shift:hover {
  background-color: var(--color-panel);
  padding-left: 1.25rem;
}

.scroll-progress {
  transform-origin: 0;
  background: var(--color-accent);
  transform: scaleX(0);
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: scroll()) {
    .scroll-progress {
      animation: linear both draw-x;
      animation-timeline: scroll(root);
    }
  }
}

.rail-dot {
  font-family: var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--color-text-subtle);
  transition: color var(--dur-base) var(--ease-out-expo);
  padding: .45rem 0;
  font-size: .6875rem;
  display: block;
  position: relative;
}

.rail-dot:before {
  content: "";
  background: var(--color-line-strong);
  transform-origin: 0;
  width: .75rem;
  height: 1px;
  transition: transform var(--dur-base) var(--ease-out-expo), background-color var(--dur-base) var(--ease-out-expo);
  position: absolute;
  top: 50%;
  left: -1.25rem;
  transform: translateY(-50%) scaleX(.45);
}

.rail-dot[aria-current="true"] {
  color: var(--color-text);
}

.rail-dot[aria-current="true"]:before {
  background: var(--color-accent);
  transform: translateY(-50%) scaleX(1);
}

@media (max-width: 767.98px) {
  .swipe-rail {
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    grid-auto-columns: 78%;
    grid-auto-flow: column;
    row-gap: 0;
    margin-inline: -1.25rem;
    padding-inline: 1.25rem;
    scroll-padding-inline: 1.25rem;
    overflow-x: auto;
  }

  .swipe-rail::-webkit-scrollbar {
    display: none;
  }

  .swipe-rail > * {
    scroll-snap-align: start;
  }

  .swipe-rail > :nth-child(n+2) {
    opacity: 1;
    animation: none;
    transform: none;
  }

  .swipe-dots {
    align-items: center;
    gap: .5rem;
    display: flex;
  }
}

@media (min-width: 768px) {
  .swipe-dots {
    display: none;
  }
}

.swipe-dots i {
  background: var(--color-line-strong);
  width: .875rem;
  height: 2px;
  transition: background-color var(--dur-base) var(--ease-out-expo), width var(--dur-base) var(--ease-out-expo);
  display: block;
}

.swipe-dots i[data-current] {
  background: var(--color-accent);
  width: 1.75rem;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .reveal, .rise {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
  }

  .rise-mask > * {
    animation: none !important;
    transform: none !important;
  }

  .rule-draw:before {
    transform: scaleX(1) !important;
  }

  .btn {
    transform: none !important;
  }

  *, :before, :after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.hero-film video, .hero-film-video, video.hero-film-video {
  object-position: 75% center;
}

@media (min-width: 1024px) {
  .hero-film video, .hero-film-video, video.hero-film-video {
    object-position: 80% center;
  }
}

:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

main:focus {
  outline: none;
}

.icards {
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-inline: 1.25rem;
  gap: .875rem;
  margin-inline: -1.25rem;
  padding-bottom: .25rem;
  scroll-padding-inline: 1.25rem;
  display: flex;
  overflow-x: auto;
}

.icards::-webkit-scrollbar {
  display: none;
}

@media (min-width: 768px) {
  .icards {
    margin-inline: -2.5rem;
    padding-inline: 2.5rem;
    scroll-padding-inline: 2.5rem;
  }
}

.icard {
  --tone: var(--color-contrast);
  isolation: isolate;
  scroll-snap-align: start;
  background: var(--tone);
  min-height: 30rem;
  color: var(--color-on-contrast);
  flex: 0 0 min(80vw, 22rem);
  position: relative;
  overflow: hidden;
}

.icard--green {
  --tone: var(--color-contrast);
}

.icard--espresso {
  --tone: var(--color-espresso);
}

.icard--rust {
  --tone: var(--color-rust-700);
}

.icard--classy {
  --tone: var(--color-green-600);
}

.icard--rust .icard__cta, .icard--rust .icard__num {
  color: var(--color-paper-50);
}

.icard__photo {
  z-index: -2;
  height: 100%;
  position: absolute;
  inset: 0;
}

.icard__photo img {
  transition: filter .6s var(--ease-out-expo);
}

.icard .drift img {
  animation-duration: 30s;
  animation-delay: calc(var(--i, 0) * -7s);
}

.icard__shade {
  z-index: -1;
  background: linear-gradient(to top, var(--tone) 0%, var(--tone) 30%, var(--tone) 46%, var(--tone) 72%, transparent 88%), linear-gradient(to bottom, var(--tone), transparent 22%);
  position: absolute;
  inset: 0;
}

@supports (color: color-mix(in lab, red, red)) {
  .icard__shade {
    background: linear-gradient(to top, var(--tone) 0%, color-mix(in oklab, var(--tone) 94%, transparent) 30%, color-mix(in oklab, var(--tone) 78%, transparent) 46%, color-mix(in oklab, var(--tone) 20%, transparent) 72%, transparent 88%), linear-gradient(to bottom, color-mix(in oklab, var(--tone) 55%, transparent), transparent 22%);
  }
}

.icard__shade {
  transition: opacity .6s var(--ease-out-expo);
}

.icard__top {
  justify-content: space-between;
  display: flex;
  position: absolute;
  top: 1.5rem;
  left: 1.75rem;
  right: 1.75rem;
}

.icard__num {
  background: var(--tone);
  font-family: var(--font-mono);
  letter-spacing: .04em;
  color: var(--color-brass-300);
  padding: .3rem .55rem;
  font-size: .75rem;
}

.icard__text {
  padding: 1.75rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.icard__title {
  font-family: var(--font-display);
  letter-spacing: -.03em;
  color: var(--color-on-contrast);
  font-size: clamp(1.625rem, 2.1vw, 2.375rem);
  font-weight: 500;
  line-height: 1.02;
}

.icard__body {
  color: var(--color-on-contrast);
  margin-top: .875rem;
  font-size: .9375rem;
  line-height: 1.6;
}

.icard__cta {
  color: var(--color-brass-300);
  align-items: center;
  gap: .5rem;
  margin-top: 1.25rem;
  font-size: .8125rem;
  font-weight: 500;
  display: inline-flex;
  position: relative;
}

.icard__cta:after {
  content: "";
  transform-origin: 0;
  height: 1px;
  transition: transform .35s var(--ease-out-expo);
  background: currentColor;
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  transform: scaleX(.35);
}

.icard__cta:hover:after, .icard__cta:focus-visible:after {
  transform: scaleX(1);
}

.icard__cta:focus-visible {
  outline: 2px solid var(--color-brass-300);
  outline-offset: 4px;
}

@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  .icards {
    height: clamp(32rem, 70vh, 40rem);
    margin-inline: 0;
    padding-inline: 0;
    overflow: visible;
  }

  .icard {
    flex: 1 1 0;
    min-width: 0;
    min-height: 0;
    transition: flex-grow .7s cubic-bezier(.32, .72, 0, 1);
  }

  .icard__detail {
    opacity: 0;
    grid-template-rows: 0fr;
    transition: grid-template-rows .6s cubic-bezier(.32, .72, 0, 1), opacity .3s;
    display: grid;
  }

  .icard__detail-inner {
    width: min(22rem, 36vw);
    min-height: 0;
    margin: 0 -.5rem -.5rem -.25rem;
    padding: 0 .5rem .5rem .25rem;
    overflow: hidden;
  }

  .icards:not(:has(.icard:hover, .icard:focus-within)) .icard:first-child, .icard:hover, .icard:focus-within {
    flex-grow: 2.3;
  }

  .icards:not(:has(.icard:hover, .icard:focus-within)) .icard:first-child .icard__detail, .icard:hover .icard__detail, .icard:focus-within .icard__detail {
    opacity: 1;
    grid-template-rows: 1fr;
    transition-delay: .1s, .25s;
  }

  .icards:has(.icard:hover, .icard:focus-within) .icard:not(:hover, :focus-within) .icard__shade, .icards:not(:has(.icard:hover, .icard:focus-within)) .icard:not(:first-child) .icard__shade {
    opacity: .72;
  }

  .icard:hover .icard__photo img, .icard:focus-within .icard__photo img {
    filter: sepia(.2) saturate(.95) contrast(1.06);
  }
}

@media (prefers-reduced-motion: reduce) {
  .icard, .icard__detail, .icard__shade {
    transition: none;
  }
}

.pcards {
  --pc-w: min(74vw, 25rem);
  --pc-gutter: 1.25rem;
  --pc-start: calc(max(0px, (100% - 82rem) / 2) + var(--pc-gutter));
}

@media (min-width: 768px) {
  .pcards {
    --pc-gutter: 2.5rem;
  }
}

@media (min-width: 1280px) {
  .pcards {
    --pc-gutter: 3.5rem;
  }
}

.pcards__bar {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.pcards__bar[hidden], .pcards__pause[hidden] {
  display: none;
}

.pcards__count {
  letter-spacing: .04em;
  color: var(--color-text-muted);
  font-size: .8125rem;
}

.pcards__count [data-pc-now] {
  color: var(--color-rust-700);
}

.pcards__pause {
  border: 1px solid var(--color-line-strong);
  min-height: 2.75rem;
  color: var(--color-text);
  cursor: pointer;
  padding-inline: .75rem;
  font-size: .8125rem;
}

.pcards__pause:hover {
  background: var(--color-surface);
}

.pcards__pause:focus-visible {
  outline: 2px solid var(--color-rust-500);
  outline-offset: 2px;
}

.pcards__pause:not(:focus-visible) {
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  min-height: 0;
  margin: 0 -.25rem;
  padding: 0;
  overflow: hidden;
}

.pcards__nav {
  border: 1px solid var(--color-line-strong);
  width: 2.75rem;
  height: 2.75rem;
  color: var(--color-text);
  justify-content: center;
  align-items: center;
  transition: background-color .2s, color .2s, border-color .2s, transform .16s;
  display: inline-flex;
}

@media (hover: hover) and (pointer: fine) {
  .pcards__nav:hover:not(:disabled) {
    background: var(--color-contrast);
    border-color: var(--color-contrast);
    color: var(--color-on-contrast);
  }
}

.pcards__nav:active:not(:disabled) {
  transform: scale(.96);
}

.pcards__nav:disabled {
  opacity: .35;
  cursor: default;
}

.pcards__nav:focus-visible {
  outline: 2px solid var(--color-rust-500);
  outline-offset: 2px;
}

.pcards__track {
  padding: 1.5rem max(1.25rem, calc(100% - var(--pc-w) - var(--pc-start))) 2rem var(--pc-start);
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  cursor: grab;
  outline: none;
  gap: 1.25rem;
  margin-top: 1.5rem;
  scroll-padding-inline-start: var(--pc-start);
  display: flex;
  position: relative;
  overflow-x: auto;
}

.pcards__track::-webkit-scrollbar {
  display: none;
}

.pcards__track.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  -webkit-user-select: none;
  user-select: none;
}

.pcards__track.is-gliding {
  scroll-snap-type: none;
}

.pcards__track:focus-visible {
  box-shadow: inset 0 0 0 2px var(--color-rust-500);
}

.pcard {
  flex: 0 0 var(--pc-w);
  scroll-snap-align: start;
}

.pcard--green {
  --tone: var(--color-contrast);
}

.pcard--espresso {
  --tone: var(--color-espresso);
}

.pcard--rust {
  --tone: var(--color-rust-700);
}

.pcard--classy {
  --tone: var(--color-green-600);
}

.pcard--rust .pcard__index, .pcard--rust .pcard__icon {
  color: var(--color-paper-50);
}

.pcard__inner {
  isolation: isolate;
  background: var(--tone);
  min-height: clamp(24rem, 34vw, 28rem);
  color: var(--color-on-contrast);
  transform-origin: 50%;
  flex-direction: column;
  justify-content: space-between;
  gap: 3rem;
  padding: 2rem;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 48px -28px #171e148c;
}

.pcard__inner:after {
  content: "";
  z-index: 3;
  pointer-events: none;
  background: var(--color-sand);
  opacity: 0;
  position: absolute;
  inset: 0;
}

.pcard__numeral {
  z-index: -1;
  font-family: var(--font-serif);
  color: var(--color-brass-300);
  opacity: .16;
  font-size: 13rem;
  font-style: italic;
  line-height: 1;
  position: absolute;
  top: -2.75rem;
  right: -.5rem;
}

.pcard__icon {
  border: 1px solid #dccba499;
  justify-content: center;
  align-items: center;
  width: 3.75rem;
  height: 3.75rem;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .pcard__icon {
    border: 1px solid color-mix(in oklab, var(--color-brass-300) 60%, transparent);
  }
}

.pcard__icon {
  color: var(--color-brass-300);
  border-radius: 9999px;
}

.pcard__index {
  letter-spacing: .04em;
  color: var(--color-brass-300);
  font-size: .75rem;
}

.pcard__title {
  font-family: var(--font-display);
  letter-spacing: -.03em;
  margin-top: .75rem;
  font-size: clamp(1.75rem, 2.4vw, 2.25rem);
  font-weight: 500;
  line-height: 1.05;
}

.pcard__body {
  color: var(--color-on-contrast);
  margin-top: .875rem;
  font-size: 1rem;
  line-height: 1.6;
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .pcard__inner {
      animation: linear both pc-depth;
      animation-timeline: view(inline);
    }

    .pcard__inner:after {
      animation: linear both pc-recede;
      animation-timeline: view(inline);
    }
  }

  .pcard__numeral {
    animation: 7s ease-in-out infinite alternate pc-float;
  }

  .pcard:nth-child(2n) .pcard__numeral {
    animation-delay: -3.5s;
  }

  @media (hover: hover) and (pointer: fine) {
    .pcard__icon {
      transition: transform .4s var(--ease-out-expo), background-color .3s ease, color .3s ease;
    }

    .pcard__inner:hover .pcard__icon {
      background: var(--color-brass-300);
      color: var(--tone);
      transform: rotate(-8deg) scale(1.06);
    }
  }
}

@keyframes pc-depth {
  entry 0% {
    filter: blur(5px);
    transform: perspective(1400px) rotateY(-26deg) scale(.82);
  }

  contain 72% {
    filter: blur();
    transform: perspective(1400px) rotateY(0) scale(1);
  }

  exit 12% {
    filter: blur();
    transform: perspective(1400px) rotateY(0) scale(1);
  }

  exit 100% {
    filter: blur(6px);
    transform: perspective(1400px) rotateY(28deg) scale(.8);
  }
}

@keyframes pc-recede {
  entry 0% {
    opacity: .45;
  }

  contain 72% {
    opacity: 0;
  }

  exit 12% {
    opacity: 0;
  }

  exit 100% {
    opacity: .5;
  }
}

@keyframes pc-float {
  to {
    transform: translate3d(-.5rem, .75rem, 0);
  }
}

.page-ambient {
  z-index: -1;
  pointer-events: none;
  position: fixed;
  inset: 0;
  overflow: hidden;
}

.page-ambient span {
  border-radius: 50%;
  width: 62vmax;
  height: 62vmax;
  position: absolute;
}

.page-ambient span:first-child {
  background: radial-gradient(closest-side, #bb5a3e1a, #0000);
  top: -14vmax;
  left: -18vmax;
}

.page-ambient span:last-child {
  background: radial-gradient(closest-side, #2c553b1a, #0000);
  bottom: -22vmax;
  right: -20vmax;
}

.ambient {
  --amb-line: #786c5429;
  --amb-bloom: #bb5a3e24;
  isolation: isolate;
  position: relative;
  overflow: clip;
}

.ambient--dark {
  --amb-line: #efebe112;
  --amb-bloom: #c9b18221;
}

.ambient:before {
  content: "";
  z-index: -1;
  pointer-events: none;
  background-image: linear-gradient(var(--amb-line) 1px, transparent 1px), linear-gradient(90deg, var(--amb-line) 1px, transparent 1px);
  -webkit-mask-composite: source-in;
  -webkit-mask-composite: source-in;
  background-size: 72px 72px;
  position: absolute;
  inset: -72px;
  -webkit-mask-image: radial-gradient(60% 70% at 85% 20%, #000, #0000 72%), linear-gradient(#0000 72px, #000 calc(72px + 8rem) calc(100% - 72px - 8rem), #0000 calc(100% - 72px));
  mask-image: radial-gradient(60% 70% at 85% 20%, #000, #0000 72%), linear-gradient(#0000 72px, #000 calc(72px + 8rem) calc(100% - 72px - 8rem), #0000 calc(100% - 72px));
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}

.ambient:after {
  content: "";
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(closest-side, var(--amb-bloom), transparent);
  border-radius: 50%;
  width: 44vmax;
  height: 44vmax;
  position: absolute;
  top: 0;
  right: -14vmax;
}

@media (prefers-reduced-motion: no-preference) {
  .page-ambient span:first-child {
    animation: 48s ease-in-out infinite alternate amb-wander-a;
  }

  .page-ambient span:last-child {
    animation: 56s ease-in-out infinite alternate amb-wander-b;
  }

  .ambient:before {
    animation: 60s linear infinite amb-grid;
  }

  .ambient:after {
    animation: 30s ease-in-out infinite alternate amb-bloom;
  }
}

@keyframes amb-wander-a {
  to {
    transform: translate3d(34vw, 42vh, 0) scale(1.2);
  }
}

@keyframes amb-wander-b {
  to {
    transform: translate3d(-30vw, -38vh, 0) scale(.85);
  }
}

@keyframes amb-grid {
  to {
    transform: translate3d(72px, 72px, 0);
  }
}

@keyframes amb-bloom {
  to {
    transform: translate3d(-22vw, 18vh, 0) scale(1.18);
  }
}

.svc-tile {
  --tone: var(--color-contrast);
  background: var(--tone);
  width: 5rem;
  height: 5rem;
  color: var(--color-brass-300);
  transition: transform .45s var(--ease-out-expo), background-color .3s ease;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.svc-tile svg {
  transition: transform .45s var(--ease-out-expo);
}

.svc:nth-child(4n+2) .svc-tile {
  --tone: var(--color-espresso);
}

.svc:nth-child(4n+3) .svc-tile {
  --tone: var(--color-rust-700);
  color: var(--color-paper-50);
}

.svc:nth-child(4n+4) .svc-tile {
  --tone: var(--color-green-600);
}

@media (hover: hover) and (pointer: fine) {
  .svc:hover .svc-tile {
    transform: translateY(-4px);
  }

  .svc:hover .svc-tile svg {
    transform: rotate(-10deg) scale(1.08);
  }
}

.svc .rule-draw {
  margin-top: 1.5rem;
  display: block;
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .photo {
      animation: linear both photo-open;
      animation-timeline: view();
      animation-range: entry entry 70%;
    }
  }
}

@keyframes photo-open {
  from {
    clip-path: inset(7% 5%);
  }

  to {
    clip-path: inset(0);
  }
}

.about-hero__wash {
  background: linear-gradient(to top, #240f0af0 0%, #240f0ac7 38%, #240f0a85 72%, #240f0a61 100%), linear-gradient(to right, #240f0a8c, #240f0a00 70%);
}

.about-hero img {
  filter: sepia(.25) saturate(.85);
}

.team-sec {
  background: var(--color-paper-50);
}

.team-grid {
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.5rem 1.5rem;
  display: flex;
}

.tcard {
  flex: 0 0 100%;
}

@media (min-width: 640px) {
  .tcard {
    flex-basis: calc(50% - .75rem);
  }
}

@media (min-width: 900px) {
  .tcard {
    flex-basis: calc(33.333% - 1rem);
  }
}

@media (min-width: 1200px) {
  .tcard {
    flex-basis: calc(25% - 1.125rem);
  }
}

.tcard {
  display: flex;
}

.tcard a {
  width: 100%;
  transition: box-shadow .45s var(--ease-out-expo), transform .45s var(--ease-out-expo);
  flex-direction: column;
  display: flex;
  box-shadow: 0 24px 44px -30px #171e148c;
}

.tcard__photo {
  position: relative;
  overflow: hidden;
}

.tcard__initials {
  aspect-ratio: 4 / 5;
  background: radial-gradient(120% 90% at 20% 10%, #c9b18229, transparent 60%), var(--color-espresso);
  justify-content: center;
  align-items: center;
  display: flex;
}

.tcard__initials span {
  font-family: var(--font-serif);
  color: var(--color-brass-300);
  opacity: .85;
  font-size: clamp(3.5rem, 6vw, 5rem);
  font-style: italic;
  line-height: 1;
}

.tcard__plate {
  background: var(--color-contrast);
  color: var(--color-on-contrast);
  flex: 1;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem 1.1rem;
  display: flex;
  position: relative;
}

.tcard__plate:before {
  content: "";
  background: var(--color-rust-500);
  transform-origin: 0;
  height: 3px;
  transition: transform .55s var(--ease-out-expo);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transform: scaleX(.18);
}

.tcard__title {
  font-family: var(--font-display);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-brass-300);
  font-size: .6875rem;
  font-weight: 600;
}

.tcard__name {
  font-family: var(--font-display);
  letter-spacing: -.02em;
  color: var(--color-on-contrast);
  margin-top: .25rem;
  font-size: 1.3125rem;
  font-weight: 500;
  line-height: 1.15;
}

@media (hover: hover) and (pointer: fine) {
  .tcard a:hover {
    transform: translateY(-6px);
    box-shadow: 0 34px 56px -30px #171e14b3;
  }

  .tcard a:hover .tcard__plate:before {
    transform: scaleX(1);
  }
}

.tcard a:focus-visible {
  outline: 2px solid var(--color-rust-500);
  outline-offset: 4px;
}

.legal {
  max-width: 46rem;
  color: var(--color-text-muted);
  font-size: 1rem;
  line-height: 1.75;
}

.legal h2 {
  border-top: 1px solid var(--color-line);
  font-family: var(--font-display);
  letter-spacing: -.02em;
  color: var(--color-text);
  margin-top: 2.75rem;
  padding-top: 1.25rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
}

.legal h2:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

.legal h3 {
  font-family: var(--font-display);
  color: var(--color-text);
  margin-top: 1.5rem;
  font-size: 1.0625rem;
  font-weight: 600;
}

.legal p, .legal ul {
  margin-top: .875rem;
}

.legal ul {
  gap: .6rem;
  padding-left: 0;
  list-style: none;
  display: grid;
}

.legal li {
  padding-left: 1.25rem;
  position: relative;
}

.legal li:before {
  content: "";
  background: var(--color-rust-500);
  width: 6px;
  height: 6px;
  position: absolute;
  top: .72em;
  left: .1rem;
}

.legal b {
  color: var(--color-text);
  font-weight: 600;
}

.legal a {
  color: var(--color-green-600);
  text-underline-offset: 2px;
  text-decoration: underline;
}

.legal a:hover {
  color: var(--color-rust-700);
}

.stack__stage {
  position: relative;
}

.skyline {
  pointer-events: none;
  height: 15rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.skyline svg {
  will-change: transform;
  width: auto;
  max-width: none;
  transition: transform .9s cubic-bezier(.23, 1, .32, 1);
  position: absolute;
  bottom: 0;
  left: 0;
}

.skyline__far {
  height: 11rem;
  fill: var(--color-mushroom-300);
  opacity: .55;
  transform: translate3d(calc(var(--sp, 0) * (100vw - 100%) * .5), 0, 0);
}

.skyline__near {
  height: 14.5rem;
  fill: var(--color-mushroom-400);
  opacity: .42;
  transform: translate3d(calc(var(--sp, 0) * (100vw - 100%)), 0, 0);
}

@media (max-width: 1023px) {
  .skyline {
    height: 9rem;
  }

  .skyline__far {
    height: 6.5rem;
  }

  .skyline__near {
    height: 8.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .skyline svg {
    transition: none;
  }
}

.page-hero {
  --w: 18 41 28;
  background: rgb(var(--w));
}

.page-hero--green {
  --w: 18 41 28;
}

.page-hero--espresso {
  --w: 36 15 10;
}

.page-hero--rust {
  --w: 122 54 34;
}

.page-hero--classy {
  --w: 30 62 42;
}

.page-hero img {
  filter: saturate(.7) contrast(1.06);
}

.page-hero__wash {
  background: linear-gradient(90deg, rgb(var(--w) / .94) 0%, rgb(var(--w) / .82) 40%, rgb(var(--w) / .5) 68%, rgb(var(--w) / .34) 100%), linear-gradient(to top, rgb(var(--w) / .5), rgb(var(--w) / 0) 50%);
}

@media (max-width: 1023px) {
  .page-hero__wash {
    background: linear-gradient(to bottom, rgb(var(--w) / .8), rgb(var(--w) / .92));
  }
}

.page-hero .lede {
  color: #efebe1e6;
}

.page-hero__aside {
  color: var(--color-text);
}

.page-hero__aside .plate-frame {
  border-color: #0000;
  box-shadow: 0 34px 60px -30px #000000a6;
}

.hero-eyebrow {
  font-family: var(--font-display);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-brass-300);
  align-items: center;
  gap: .75rem;
  font-size: .8125rem;
  font-weight: 600;
  display: inline-flex;
}

.hero-eyebrow:before {
  content: "";
  background: currentColor;
  width: 2.25rem;
  height: 1px;
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .aerial img {
      animation: linear both aerial-settle;
      animation-timeline: view();
      animation-range: cover;
    }
  }
}

@keyframes aerial-settle {
  from {
    transform: scale(1.12) translateY(3%);
  }

  to {
    transform: scale(1.02) translateY(-1%);
  }
}

.faq-sec--rust .label, .faq-sec--rust .text-text-muted, .faq-sec--rust .faq-a {
  color: #fcfbf8db;
}

.faq-sec--rust .border-line, .faq-sec--rust .faq {
  border-color: #fcfbf838;
}

.faq-sec--rust .faq summary:hover {
  color: var(--color-paper-50);
}

.faq-sec--rust .faq-icon:before, .faq-sec--rust .faq-icon:after {
  background: var(--color-paper-50);
}

.faq-sec--rust .faq summary:focus-visible {
  outline-color: var(--color-paper-50);
}

.stack[data-live] .stack__stage > .shell {
  padding-top: 4.5rem;
  padding-bottom: 13rem;
}

.stack[data-live] .stack__row {
  height: min(50vh, 32rem);
}

.bac-facts {
  background: var(--color-paper-50);
  gap: 1.375rem;
  padding: 1.75rem;
  display: grid;
  box-shadow: 0 34px 60px -30px #000000a6;
}

.bac-facts > div {
  align-items: flex-start;
  gap: 1rem;
  display: flex;
}

.bac-facts__icon {
  background: var(--color-contrast);
  width: 2.5rem;
  height: 2.5rem;
  color: var(--color-brass-300);
  flex: none;
  place-items: center;
  display: grid;
}

.bac-facts dt {
  font-family: var(--font-display);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-rust-700);
  font-size: .75rem;
  font-weight: 600;
}

.bac-facts dd {
  color: var(--color-text);
  margin-top: .25rem;
  font-size: .9375rem;
  line-height: 1.55;
}

.bac-steps {
  border-top: 1px solid var(--color-line);
  gap: .25rem;
  display: grid;
}

.bac-steps li {
  border-bottom: 1px solid var(--color-line);
  font-family: var(--font-display);
  letter-spacing: -.01em;
  align-items: baseline;
  gap: 1rem;
  padding: .875rem 0;
  font-size: 1.125rem;
  font-weight: 500;
  display: flex;
}

.bac-steps li span {
  font-family: var(--font-mono);
  color: var(--color-rust-700);
  font-size: .75rem;
}

.bac-card {
  background: var(--color-paper-50);
  border-top: 3px solid var(--color-rust-700);
  padding: 1.5rem;
  box-shadow: 0 30px 60px -40px #173e2859;
}

@media (min-width: 768px) {
  .bac-card {
    padding: 2.5rem;
  }
}

.page-hero__aside .plate .fill-open {
  fill: #bb5a3e33;
}

.page-hero__aside .plate .dim, .page-hero__aside .plate .roof {
  stroke: var(--color-rust-500);
}

.page-hero__aside .plate .dim-fill {
  fill: #d7bc7f73;
  stroke: var(--color-rust-500);
}

.page-hero__aside .plate .node {
  fill: var(--color-brass-300);
  stroke: var(--color-rust-700);
}

.page-hero__aside .plate .note {
  fill: var(--color-rust-700);
}

.qz__bar {
  display: none;
}

.qz.is-js .qz__bar {
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.75rem;
  display: flex;
}

.qz__count {
  font-family: var(--font-mono);
  color: var(--color-rust-700);
  white-space: nowrap;
  font-size: .75rem;
}

.qz__track {
  background: var(--color-line);
  flex: 1;
  height: 2px;
  overflow: hidden;
}

.qz__track i {
  background: var(--color-rust-700);
  transform-origin: 0;
  height: 100%;
  transition: transform .5s var(--ease-out-expo);
  display: block;
  transform: scaleX(0);
}

.qz__step {
  border: 0;
  min-width: 0;
  margin: 0 0 2.5rem;
  padding: 0;
}

.qz.is-js .qz__step {
  margin: 0;
  display: none;
}

.qz.is-js .qz__step.is-on {
  animation: qz-in .45s var(--ease-out-expo) both;
  display: block;
}

@keyframes qz-in {
  from {
    opacity: 0;
    transform: translate3d(.75rem, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .qz.is-js .qz__step.is-on {
    animation: none;
  }
}

.qz__q {
  text-wrap: balance;
  font-family: var(--font-display);
  letter-spacing: -.02em;
  outline: none;
  font-size: clamp(1.375rem, 2.2vw, 1.75rem);
  font-weight: 500;
  line-height: 1.2;
}

.qz__q:focus {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

.qz__help {
  color: var(--color-text-muted);
  margin-top: .5rem;
  font-size: .9375rem;
  line-height: 1.6;
}

.qz__opts {
  gap: .625rem;
  margin-top: 1.25rem;
  display: grid;
}

@media (min-width: 640px) {
  .qz__opts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.qz__opt {
  border: 1px solid var(--color-line-strong);
  background: var(--color-canvas);
  cursor: pointer;
  align-items: center;
  gap: .75rem;
  padding: .875rem 1rem;
  font-size: .9375rem;
  transition: border-color .2s, background-color .2s;
  display: flex;
  position: relative;
}

.qz__opt input {
  width: 1rem;
  height: 1rem;
  accent-color: var(--color-rust-700);
  flex: none;
}

.qz__opt:hover {
  border-color: var(--color-rust-500);
}

.qz__opt:has(input:checked) {
  border-color: var(--color-rust-700);
  background: var(--color-sand);
}

.qz__opt:has(input:focus-visible) {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.qz__nav {
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2rem;
  display: flex;
}

.qz__nav [data-qz-back][hidden] + [data-qz-next] {
  margin-left: auto;
}

.qz__summary {
  background: var(--color-sand);
  border-left: 3px solid var(--color-rust-700);
  grid-template-columns: max-content 1fr;
  gap: .5rem 1.25rem;
  margin-top: 1.25rem;
  padding: 1.25rem;
  display: grid;
}

.qz__summary dt {
  font-family: var(--font-display);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-rust-700);
  padding-top: .2rem;
  font-size: .75rem;
  font-weight: 600;
}

.qz__summary dd {
  color: var(--color-text);
  font-size: .9375rem;
}

.carry {
  background: var(--color-paper-50);
  border-top: 3px solid var(--color-rust-700);
  padding: 1.75rem;
  box-shadow: 0 30px 60px -40px #173e2859;
}

@media (min-width: 768px) {
  .carry {
    padding: 2.5rem;
  }
}

.carry__out {
  background: var(--color-contrast);
  color: var(--color-on-contrast);
  margin-top: 1.75rem;
  padding: 1.5rem;
}

.carry__tag {
  font-family: var(--font-display);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-brass-300);
  font-size: .75rem;
  font-weight: 600;
}

.carry__out dl {
  gap: 1rem;
  margin-top: 1rem;
  display: grid;
}

@media (min-width: 640px) {
  .carry__out dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.carry__out dt {
  color: #efebe1d9;
  font-size: .8125rem;
  line-height: 1.4;
}

.carry__out dd {
  font-family: var(--font-mono);
  color: var(--color-paper-50);
  margin-top: .375rem;
  font-size: clamp(1.5rem, 2.6vw, 2rem);
}

.carry__out [hidden] {
  display: none;
}

.qz__verdict {
  font-family: var(--font-display);
  letter-spacing: -.02em;
  color: var(--color-rust-700);
  font-size: clamp(1.375rem, 2.2vw, 1.75rem);
  font-weight: 500;
  line-height: 1.2;
}

.qz__body {
  color: var(--color-text);
  max-width: 60ch;
  margin-top: .75rem;
  font-size: 1rem;
  line-height: 1.65;
}

.qz__listhead {
  font-family: var(--font-display);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-text-subtle);
  margin-top: 1.5rem;
  font-size: .75rem;
  font-weight: 600;
}

.qz__flags {
  gap: .5rem;
  margin-top: .75rem;
  display: grid;
}

.qz__flags li {
  background: var(--color-sand);
  color: var(--color-text);
  padding: .75rem 1rem .75rem 2.25rem;
  font-size: .9375rem;
  line-height: 1.55;
  position: relative;
}

.qz__flags li:before {
  content: "";
  background: var(--color-rust-700);
  width: .5rem;
  height: .5rem;
  position: absolute;
  top: 1.2rem;
  left: 1rem;
}

.qz__flags.is-good li:before {
  background: var(--color-green-600);
  border-radius: 50%;
}

.qz__note {
  color: var(--color-text-subtle);
  margin-top: 1rem;
  font-size: .8125rem;
}

.qz__next {
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.75rem;
  display: flex;
}

.qz__result .carry__out {
  margin-top: 1.25rem;
}

.qz__kicker {
  font-family: var(--font-display);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-text-subtle);
  font-size: .75rem;
  font-weight: 600;
}

.qz__verdict--persona {
  margin-top: .25rem;
  font-size: clamp(1.75rem, 3.4vw, 2.5rem);
  line-height: 1.1;
}

.qz__line {
  font-family: var(--font-serif);
  color: var(--color-text);
  max-width: 52ch;
  margin-top: .75rem;
  font-size: 1.125rem;
  font-style: italic;
  line-height: 1.45;
}

.qz__streak {
  color: var(--color-text-muted);
  margin-top: 1rem;
  font-size: .9375rem;
}

.qz__mix {
  gap: .625rem;
  max-width: 34rem;
  margin-top: .875rem;
  display: grid;
}

.qz__mix li {
  color: var(--color-text);
  grid-template-columns: minmax(0, 11rem) minmax(0, 1fr) 3rem;
  align-items: center;
  gap: .75rem;
  font-size: .875rem;
  display: grid;
}

.qz__mixname {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.qz__mixbar {
  background: var(--color-sunken);
  height: .5rem;
  display: block;
  position: relative;
  overflow: hidden;
}

.qz__mixbar i {
  background: var(--color-rust-700);
  transform-origin: 0;
  transition: transform .6s cubic-bezier(.2, .8, .2, 1);
  position: absolute;
  inset: 0;
}

.qz__mix li:first-child .qz__mixbar i {
  background: var(--color-green-600);
}

.qz__mixpct {
  font-family: var(--font-mono);
  text-align: right;
  color: var(--color-text-muted);
  font-size: .8125rem;
}

@media (max-width: 480px) {
  .qz__mix li {
    grid-template-columns: minmax(0, 1fr) 3rem;
  }

  .qz__mixbar {
    grid-area: 2 / 1 / auto / -1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .qz__mixbar i {
    transition: none;
  }
}

.qcards {
  gap: 1rem;
  display: grid;
}

@media (min-width: 768px) {
  .qcards {
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  }

  .qcards--one {
    grid-template-columns: minmax(0, 36rem);
  }
}

.qcards > li {
  display: flex;
}

.qcard {
  background: var(--color-paper-50);
  border-top: 3px solid var(--color-rust-700);
  width: 100%;
  transition: transform .35s var(--ease-out-expo), box-shadow .35s var(--ease-out-expo);
  flex-direction: column;
  gap: .75rem;
  padding: 1.75rem;
  display: flex;
  box-shadow: 0 24px 48px -36px #173e2873;
}

.qcard:hover {
  transform: translate3d(0, -4px, 0);
  box-shadow: 0 30px 56px -34px #173e288c;
}

.qcard:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

.qcard__meta {
  font-family: var(--font-display);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-rust-700);
  font-size: .75rem;
  font-weight: 600;
}

.qcard__title {
  text-wrap: balance;
  font-family: var(--font-display);
  letter-spacing: -.015em;
  color: var(--color-text);
  font-size: 1.3125rem;
  font-weight: 500;
  line-height: 1.25;
}

.qcard__teaser {
  color: var(--color-text-muted);
  font-size: .9375rem;
  line-height: 1.55;
}

.qcard__go {
  color: var(--color-green-700);
  align-items: center;
  gap: .5rem;
  margin-top: auto;
  padding-top: .75rem;
  font-size: .875rem;
  font-weight: 500;
  display: inline-flex;
}

@media (prefers-reduced-motion: reduce) {
  .qcard, .qcard:hover {
    transition: none;
    transform: none;
  }
}

.pq {
  gap: 1rem;
  display: grid;
}

@media (min-width: 768px) {
  .pq:not(.pq--stack) {
    flex-wrap: wrap;
    justify-content: center;
    display: flex;
  }

  .pq:not(.pq--stack) > li {
    flex: 0 0 calc(50% - .5rem);
  }
}

@media (min-width: 1100px) {
  .pq:not(.pq--stack) > li {
    flex-basis: calc(33.3333% - .666667rem);
  }
}

.pq > li {
  display: flex;
}

.pq__card {
  width: 100%;
  transition: transform .35s var(--ease-out-expo), border-color .35s var(--ease-out-expo), background-color .35s var(--ease-out-expo);
  background: #dccba412;
  border: 1px solid #dccba438;
  flex-direction: column;
  gap: .75rem;
  padding: 1.75rem;
  display: flex;
  position: relative;
}

.pq__card:hover {
  border-color: var(--color-brass-300);
  background: #dccba41c;
  transform: translate3d(0, -4px, 0);
}

.pq__card:focus-visible {
  outline: 2px solid var(--color-brass-300);
  outline-offset: 3px;
}

.pq__meta {
  font-family: var(--font-display);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-brass-300);
  font-size: .75rem;
  font-weight: 600;
}

.pq__title {
  text-wrap: balance;
  font-family: var(--font-display);
  letter-spacing: -.015em;
  color: var(--color-paper-50);
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.2;
}

.pq__teaser {
  color: var(--color-on-contrast-muted);
  font-size: .9375rem;
  line-height: 1.55;
}

.pq__types {
  flex-wrap: wrap;
  gap: .375rem;
  margin-top: .25rem;
  display: flex;
}

.pq__types span {
  color: var(--color-paper-50);
  border: 1px solid #dccba44d;
  padding: .25rem .5rem;
  font-size: .75rem;
  line-height: 1.3;
}

.pq__go {
  color: var(--color-brass-300);
  align-items: center;
  gap: .5rem;
  margin-top: auto;
  padding-top: .75rem;
  font-size: .875rem;
  font-weight: 500;
  display: inline-flex;
}

.pq__card--light {
  background: var(--color-paper-50);
  border: 0;
  border-left: 3px solid var(--color-rust-700);
  padding: 1.25rem 1.25rem 1.25rem 1.375rem;
  box-shadow: 0 20px 40px -34px #173e2880;
}

.pq__card--light:hover {
  background: var(--color-paper-50);
  border-color: var(--color-rust-700);
}

.pq__card--light .pq__meta {
  color: var(--color-rust-700);
}

.pq__card--light .pq__title {
  color: var(--color-text);
  font-size: 1.125rem;
}

.pq__card--light .pq__teaser {
  color: var(--color-text-muted);
  font-size: .875rem;
}

.pq__card--light .pq__go {
  color: var(--color-green-700);
  padding-top: .25rem;
}

@media (prefers-reduced-motion: reduce) {
  .pq__card, .pq__card:hover {
    transition: none;
    transform: none;
  }
}

.bio__col {
  width: 100%;
  max-width: 30rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}

.bio__head {
  background: var(--color-green-900);
  color: var(--color-on-contrast);
  text-align: center;
  padding: 3rem 0 2.25rem;
}

.bio__brand {
  display: inline-block;
}

.bio__mark {
  width: 5.5rem;
  height: auto;
  margin-inline: auto;
}

.bio__name {
  font-family: var(--font-display);
  letter-spacing: -.02em;
  color: var(--color-paper-50);
  margin-top: 1.25rem;
  font-size: 1.75rem;
  font-weight: 500;
}

.bio__line {
  color: var(--color-on-contrast-muted);
  margin-top: .625rem;
  font-size: .9375rem;
  line-height: 1.55;
}

.bio__quick {
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem;
  margin-top: 1.5rem;
  display: flex;
}

.bio__chip {
  min-height: 2.75rem;
  color: var(--color-paper-50);
  border: 1px solid #dccba459;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem;
  font-size: .875rem;
  transition: border-color .25s, background-color .25s;
  display: inline-flex;
}

.bio__chip:hover {
  border-color: var(--color-brass-300);
  background: #dccba414;
}

.bio__chip:focus-visible {
  outline: 2px solid var(--color-brass-300);
  outline-offset: 2px;
}

.bio__body {
  padding: 2rem 0 3rem;
}

.bio__links {
  gap: .625rem;
  display: grid;
}

.bio__link {
  background: var(--color-paper-50);
  border: 1px solid var(--color-line);
  min-height: 4rem;
  color: var(--color-text);
  transition: transform .3s var(--ease-out-expo), border-color .3s;
  align-items: center;
  gap: .875rem;
  padding: .875rem 1rem;
  display: flex;
  box-shadow: 0 16px 32px -30px #173e2880;
}

.bio__link:hover {
  border-color: var(--color-green-700);
  transform: translate3d(0, -2px, 0);
}

.bio__link:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.bio__link-icon {
  background: var(--color-green-900);
  width: 2.5rem;
  height: 2.5rem;
  color: var(--color-brass-300);
  flex-shrink: 0;
  place-items: center;
  display: grid;
}

.bio__link-text {
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
}

.bio__link-label {
  font-family: var(--font-display);
  letter-spacing: -.01em;
  font-size: 1rem;
  font-weight: 500;
}

.bio__link-sub {
  color: var(--color-text-muted);
  font-size: .8125rem;
}

.bio__label {
  font-family: var(--font-display);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-rust-700);
  font-size: .75rem;
  font-weight: 600;
}

.bio__social {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  margin-top: .75rem;
  display: grid;
}

.bio__social-link {
  border: 1px solid var(--color-line-strong);
  min-height: 3rem;
  color: var(--color-text);
  justify-content: center;
  align-items: center;
  gap: .5rem;
  padding: .5rem;
  font-size: .875rem;
  font-weight: 500;
  transition: border-color .25s, color .25s;
  display: flex;
}

.bio__social-link:hover {
  border-color: var(--color-green-700);
  color: var(--color-green-700);
}

.bio__social-link:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.bio__band {
  padding: 2.75rem 0 3rem;
}

.bio__band--sand {
  background: var(--color-sand);
}

.bio__h2 {
  font-family: var(--font-display);
  letter-spacing: -.02em;
  color: var(--color-text);
  margin-top: .625rem;
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.2;
}

.bio__sub {
  color: var(--color-text-muted);
  margin-top: .625rem;
  font-size: .9375rem;
  line-height: 1.55;
}

.bio__card {
  background: var(--color-paper-50);
  margin-top: 1.5rem;
  padding: 1.25rem;
}

.bio__foot {
  background: var(--color-panel);
  text-align: center;
  color: var(--color-text-muted);
  padding: 2rem 0 2.5rem;
  font-size: .8125rem;
}

@media (prefers-reduced-motion: reduce) {
  .bio__link, .bio__link:hover {
    transition: none;
    transform: none;
  }
}

.qz-thanks {
  padding: 1rem 0 .5rem;
}

.qz-thanks__mark {
  background: var(--color-green-700);
  width: 3rem;
  height: 3rem;
  color: var(--color-paper-50);
  place-items: center;
  display: grid;
}

.qz-thanks__title {
  font-family: var(--font-display);
  letter-spacing: -.025em;
  margin-top: 1.5rem;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 500;
  line-height: 1.1;
}

.qz-thanks__body {
  max-width: 52ch;
  color: var(--color-text-muted);
  margin-top: .875rem;
  font-size: 1.0625rem;
  line-height: 1.65;
}

.qz-thanks__next {
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 2rem;
  display: flex;
}

@media (prefers-reduced-motion: no-preference) {
  .qz-thanks__mark {
    animation: qz-pop .6s var(--ease-out-expo) both;
  }

  .qz-thanks__title, .qz-thanks__body, .qz-thanks__next {
    animation: qz-in .6s var(--ease-out-expo) both;
  }

  .qz-thanks__body {
    animation-delay: 80ms;
  }

  .qz-thanks__next {
    animation-delay: .16s;
  }
}

@keyframes qz-pop {
  from {
    opacity: 0;
    transform: scale(.6);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.qz__gate-error {
  border-left: 2px solid var(--color-rust-700);
  background: var(--color-sunken);
  color: var(--color-text);
  margin-top: 1.25rem;
  padding: .75rem 1rem;
  font-size: .9375rem;
}

.qz__gate-error[hidden], .qz__done[hidden] {
  display: none;
}

.qz__done.is-on {
  animation: qz-in .5s var(--ease-out-expo) both;
}

.qz__sent {
  background: var(--color-sand);
  color: var(--color-text);
  align-items: flex-start;
  gap: .75rem;
  margin-top: 2rem;
  padding: 1rem 1.125rem;
  font-size: .9375rem;
  line-height: 1.55;
  display: flex;
}

.qz__sent-mark {
  background: var(--color-green-700);
  width: 1.75rem;
  height: 1.75rem;
  color: var(--color-paper-50);
  flex-shrink: 0;
  place-items: center;
  display: grid;
}

@media (prefers-reduced-motion: reduce) {
  .qz__done.is-on {
    animation: none;
  }
}

.unit-cta {
  border: 1px solid var(--color-green-800);
  font-family: var(--font-display);
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: box-shadow .25s ease, transform .25s var(--ease-out-expo);
  align-items: stretch;
  font-size: .75rem;
  font-weight: 600;
  display: inline-flex;
}

.unit-cta__state {
  background: var(--color-green-800);
  color: var(--color-paper-50);
  align-items: center;
  gap: .5rem;
  padding: .5rem .75rem;
  display: inline-flex;
}

.unit-cta__dot {
  background: var(--color-brass-300);
  border-radius: 50%;
  width: .4375rem;
  height: .4375rem;
  box-shadow: 0 0 #d7bc7fb3;
}

.unit-cta__go {
  color: var(--color-green-800);
  align-items: center;
  gap: .375rem;
  padding: .5rem .75rem;
  transition: background-color .2s, color .2s;
  display: inline-flex;
}

.unit-cta__go svg {
  transition: transform .25s var(--ease-out-expo);
}

.unit-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px -14px #173e2899;
}

.unit-cta:hover .unit-cta__go {
  background: var(--color-green-800);
  color: var(--color-paper-50);
}

.unit-cta:hover .unit-cta__go svg {
  transform: translateX(3px);
}

.unit-cta:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: no-preference) {
  .unit-cta__dot {
    animation: 2.2s ease-out infinite unit-dot;
  }
}

@keyframes unit-dot {
  0% {
    box-shadow: 0 0 #d7bc7fb3;
  }

  70%, 100% {
    box-shadow: 0 0 0 7px #d7bc7f00;
  }
}

@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-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@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: 0;
}

@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-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  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;
}
#site-header[data-astro-cid-nen7h5rs].is-condensed {
  box-shadow: 0 1px #173e280f, 0 8px 24px -16px #173e2838;
}
