/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: "DM Sans", ui-sans-serif, system-ui, sans-serif;
    --font-mono: "DM Sans", ui-sans-serif, system-ui, sans-serif;
    --spacing: 0.25rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --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);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-ink: #05373d;
    --color-ink-2: #042c31;
    --color-ink-3: #07424a;
    --color-navy: #054a52;
    --color-line: #14606a;
    --color-line-2: #2a808a;
    --color-paper: #f3f8f4;
    --color-mute: #bcd8d6;
    --color-dim: #96bcba;
    --color-accent: #a6e4c0;
    --color-leaf: #1f6b4f;
    --color-leaf-line: #3f9a76;
    --color-leaf-2: #8fd9ae;
    --font-display: "Libre Baskerville", Georgia, "Times New Roman", serif;
    --ease-out-soft: cubic-bezier(0.22, 1, 0.36, 1);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .relative {
    position: relative;
  }
  .mx-auto {
    margin-inline: auto;
  }
  .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-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-14 {
    margin-top: calc(var(--spacing) * 14);
  }
  .mt-16 {
    margin-top: calc(var(--spacing) * 16);
  }
  .mt-auto {
    margin-top: auto;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline-block {
    display: inline-block;
  }
  .h-\[72px\] {
    height: 72px;
  }
  .w-full {
    width: 100%;
  }
  .max-w-\[18ch\] {
    max-width: 18ch;
  }
  .max-w-\[22rem\] {
    max-width: 22rem;
  }
  .max-w-\[26rem\] {
    max-width: 26rem;
  }
  .max-w-\[30rem\] {
    max-width: 30rem;
  }
  .max-w-\[34rem\] {
    max-width: 34rem;
  }
  .max-w-\[44rem\] {
    max-width: 44rem;
  }
  .max-w-\[1312px\] {
    max-width: 1312px;
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-baseline {
    align-items: baseline;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-1 {
    gap: var(--spacing);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .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-x-6 {
    column-gap: calc(var(--spacing) * 6);
  }
  .gap-y-3 {
    row-gap: calc(var(--spacing) * 3);
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .bg-ink {
    background-color: var(--color-ink);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .py-14 {
    padding-block: calc(var(--spacing) * 14);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pt-\[112px\] {
    padding-top: 112px;
  }
  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }
  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }
  .text-center {
    text-align: center;
  }
  .font-display {
    font-family: var(--font-display);
  }
  .font-sans {
    font-family: var(--font-sans);
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .text-accent {
    color: var(--color-accent);
  }
  .text-dim {
    color: var(--color-dim);
  }
  .text-mute {
    color: var(--color-mute);
  }
  .text-paper {
    color: var(--color-paper);
  }
  .text-paper\/80 {
    color: color-mix(in srgb, #f3f8f4 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-paper) 80%, transparent);
    }
  }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  @media (width >= 40rem) {
    .sm\:inline-flex {
      display: inline-flex;
    }
    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }
  }
  @media (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-start-7 {
      grid-column-start: 7;
    }
    .md\:grid-cols-12 {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }
    .md\:flex-row {
      flex-direction: row;
    }
    .md\:items-end {
      align-items: flex-end;
    }
    .md\:px-8 {
      padding-inline: calc(var(--spacing) * 8);
    }
    .md\:pt-\[136px\] {
      padding-top: 136px;
    }
    .md\:text-right {
      text-align: right;
    }
    .md\:text-xl {
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
    }
  }
  @media (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-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-start-7 {
      grid-column-start: 7;
    }
    .lg\:col-start-9 {
      grid-column-start: 9;
    }
    .lg\:block {
      display: block;
    }
    .lg\:hidden {
      display: none;
    }
    .lg\:grid-cols-12 {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }
    .lg\:grid-cols-\[minmax\(0\,0\.92fr\)_minmax\(0\,1\.08fr\)\] {
      grid-template-columns: minmax(0,0.92fr) minmax(0,1.08fr);
    }
    .lg\:gap-8 {
      gap: calc(var(--spacing) * 8);
    }
    .lg\:gap-10 {
      gap: calc(var(--spacing) * 10);
    }
    .lg\:gap-14 {
      gap: calc(var(--spacing) * 14);
    }
    .lg\:self-end {
      align-self: flex-end;
    }
    .lg\:self-start {
      align-self: flex-start;
    }
    .lg\:pt-6 {
      padding-top: calc(var(--spacing) * 6);
    }
    .lg\:pb-28 {
      padding-bottom: calc(var(--spacing) * 28);
    }
  }
}
@layer base {
  html {
    scroll-padding-top: 88px;
    color-scheme: dark;
  }
  @media (prefers-reduced-motion: no-preference) {
    html:focus-within {
      scroll-behavior: smooth;
    }
  }
  body {
    overflow-x: clip;
    font-feature-settings: normal;
  }
  ::selection {
    background: var(--color-accent);
    color: var(--color-ink);
  }
  :focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
    border-radius: 6px;
  }
  svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
}
@layer components {
  .skip-link {
    position: absolute;
    left: 1rem;
    top: -4rem;
    z-index: 100;
    padding: 0.6rem 1rem;
    border-radius: 999px;
    background: var(--color-accent);
    color: var(--color-ink);
    font-weight: 600;
    transition: top 200ms var(--ease-out-soft);
  }
  .skip-link:focus {
    top: 1rem;
  }
  .mono-label {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.4;
  }
  .kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-accent);
  }
  .kicker::before {
    content: "";
    width: 1.5rem;
    height: 1px;
    background: currentColor;
  }
  .display-1, .display-2, .display-3 {
    font-family: var(--font-display);
    font-weight: 300;
    color: color-mix(in srgb, #f3f8f4 74%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in srgb, var(--color-paper) 74%, transparent);
    }
    letter-spacing: -0.035em;
    text-wrap: balance;
  }
  .display-1 {
    font-size: clamp(2.6rem, 6.4vw, 5.6rem);
    line-height: 0.98;
  }
  .display-2 {
    font-size: clamp(2.2rem, 4.6vw, 4.1rem);
    line-height: 1.02;
  }
  .display-3 {
    font-size: clamp(2rem, 3.6vw, 3.2rem);
    line-height: 1.04;
  }
  .hl-word {
    display: inline-block;
    position: relative;
    font-weight: 700;
    color: var(--color-accent);
  }
  .hl-word::after {
    content: "";
    position: absolute;
    left: 0.02em;
    right: 0.02em;
    bottom: 0.02em;
    height: 0.07em;
    background: var(--color-accent);
    border-radius: 2px;
    transform-origin: left;
    animation: underline 900ms 700ms var(--ease-out-soft) both;
  }
  .site-header {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 50;
    border-bottom: 1px solid transparent;
    transition: background-color 300ms ease, border-color 300ms ease, backdrop-filter 300ms ease;
  }
  .site-header.is-scrolled, .site-header.is-open {
    background: color-mix(in srgb, #05373d 82%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-ink) 82%, transparent);
    }
    backdrop-filter: blur(14px) saturate(140%);
    border-bottom-color: var(--color-line);
  }
  .site-header.is-open {
    background: color-mix(in srgb, #05373d 97%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-ink) 97%, transparent);
    }
    box-shadow: 0 30px 60px -20px rgb(0 0 0 / 0.9);
  }
  .wordmark {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.45rem;
    letter-spacing: -0.045em;
    color: var(--color-paper);
  }
  .wordmark-lg {
    font-size: 2.2rem;
  }
  .wordmark-mark {
    position: relative;
    width: 1.1em;
    height: 0.62em;
    border-radius: 999px;
    border: 2px solid var(--color-accent);
  }
  .wordmark-mark::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0.12em;
    width: 0.26em;
    height: 0.26em;
    margin-top: -0.13em;
    border-radius: 999px;
    background: var(--color-accent);
    animation: relay 2.8s var(--ease-out-soft) infinite;
  }
  .nav-link {
    display: inline-block;
    padding: 0.5rem 0.85rem;
    border-radius: 999px;
    font-size: 0.94rem;
    color: var(--color-mute);
    transition: color 220ms ease, background-color 220ms ease;
  }
  .nav-link:hover {
    color: var(--color-paper);
    background: color-mix(in srgb, #f3f8f4 6%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-paper) 6%, transparent);
    }
  }
  .menu-btn {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid var(--color-line-2);
    color: var(--color-paper);
    cursor: pointer;
    transition: border-color 220ms ease;
  }
  .menu-btn:hover {
    border-color: var(--color-mute);
  }
  .menu-icon {
    position: relative;
    width: 18px;
    height: 10px;
  }
  .menu-icon span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1.6px;
    border-radius: 2px;
    background: currentColor;
    transition: transform 260ms var(--ease-out-soft), top 260ms var(--ease-out-soft);
  }
  .menu-icon span:first-child {
    top: 0;
  }
  .menu-icon span:last-child {
    top: 8px;
  }
  .menu-btn[aria-expanded="true"] .menu-icon span:first-child {
    top: 4px;
    transform: rotate(45deg);
  }
  .menu-btn[aria-expanded="true"] .menu-icon span:last-child {
    top: 4px;
    transform: rotate(-45deg);
  }
  .mobile-nav {
    display: none;
    border-top: 1px solid var(--color-line);
  }
  .site-header.is-open .mobile-nav {
    display: block;
    animation: drop 260ms var(--ease-out-soft) both;
  }
  .mobile-link {
    display: block;
    padding: 0.95rem 0;
    border-bottom: 1px solid var(--color-line);
    font-size: 1.35rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--color-paper);
  }
  .btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 3rem;
    padding: 0.8rem 1.35rem;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.98rem;
    letter-spacing: -0.01em;
    cursor: pointer;
    transition: transform 240ms var(--ease-out-soft), background-color 240ms ease, border-color 240ms ease, box-shadow 240ms ease, color 240ms ease;
  }
  .btn-sm {
    min-height: 2.5rem;
    padding: 0.5rem 1.05rem;
    font-size: 0.9rem;
  }
  .btn-lg {
    min-height: 3.5rem;
    font-size: 1.05rem;
  }
  .btn-accent {
    background: var(--color-accent);
    color: var(--color-ink);
    box-shadow: 0 0 0 0 color-mix(in srgb, #a6e4c0 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 0 color-mix(in srgb, var(--color-accent) 40%, transparent);
    }
  }
  .btn-accent:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 40px -8px color-mix(in srgb, #a6e4c0 55%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 10px 40px -8px color-mix(in srgb, var(--color-accent) 55%, transparent);
    }
  }
  .btn-ghost {
    border: 1px solid var(--color-line-2);
    color: var(--color-paper);
  }
  .btn-ghost:hover {
    border-color: var(--color-paper);
    transform: translateY(-2px);
  }
  .btn:active {
    transform: translateY(0) scale(0.98);
  }
  .btn-arrow {
    width: 1.1rem;
    height: 1.1rem;
    stroke-width: 2;
    transition: transform 240ms var(--ease-out-soft);
  }
  .btn:hover .btn-arrow {
    transform: translateX(3px);
  }
  .hero-grid {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(to right, rgb(255 255 255 / 0.045) 1px, transparent 1px), linear-gradient(to bottom, rgb(255 255 255 / 0.045) 1px, transparent 1px);
    background-size: 64px 64px;
    background-position: -1px -1px;
    mask-image: radial-gradient(ellipse 70% 65% at 62% 38%, #000 25%, transparent 78%);
  }
  .hero-glow {
    position: absolute;
    pointer-events: none;
    width: 900px;
    height: 700px;
    right: -260px;
    top: -120px;
    background: radial-gradient( closest-side, color-mix(in srgb, #a6e4c0 14%, transparent), transparent );
    @supports (color: color-mix(in lab, red, red)) {
      background: radial-gradient( closest-side, color-mix(in srgb, var(--color-accent) 14%, transparent), transparent );
    }
    animation: breathe 9s ease-in-out infinite;
  }
  .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.45rem 0.9rem 0.45rem 0.75rem;
    border: 1px solid var(--color-line-2);
    border-radius: 999px;
    background: color-mix(in srgb, #042c31 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-ink-2) 80%, transparent);
    }
    font-size: 0.85rem;
    color: var(--color-mute);
  }
  .live-dot {
    position: relative;
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--color-accent);
    vertical-align: middle;
  }
  .live-dot::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: inherit;
    animation: ping 2s ease-out infinite;
  }
  .hero-title {
    font-family: var(--font-display);
    font-size: clamp(4rem, 8.2vw, 7.5rem);
    line-height: 0.9;
    letter-spacing: -0.055em;
  }
  .hero-line {
    display: block;
  }
  .hero-in {
    animation: rise 900ms var(--ease-out-soft) both;
    animation-delay: var(--d, 0ms);
  }
  .hero-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--color-line);
    max-width: 34rem;
  }
  .hero-facts > div {
    padding: 1rem 1rem 0 0;
  }
  .hero-facts > div + div {
    padding-left: 1rem;
    border-left: 1px solid var(--color-line);
  }
  .hero-facts dt {
    font-family: var(--font-mono);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-dim);
  }
  .hero-facts dd {
    margin-top: 0.4rem;
    font-size: 0.95rem;
    line-height: 1.3;
    color: var(--color-paper);
  }
  .runner {
    position: relative;
    border: 1px solid var(--color-line-2);
    border-radius: 22px;
    background: linear-gradient(180deg, rgb(255 255 255 / 0.035), transparent 40%), color-mix(in srgb, #042c31 92%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: linear-gradient(180deg, rgb(255 255 255 / 0.035), transparent 40%), color-mix(in srgb, var(--color-ink-2) 92%, transparent);
    }
    backdrop-filter: blur(10px);
    box-shadow: 0 40px 120px -40px rgb(0 0 0 / 0.8), inset 0 1px 0 rgb(255 255 255 / 0.06);
    overflow: hidden;
  }
  .runner-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1rem;
    border-bottom: 1px solid var(--color-line);
  }
  @media (min-width: 640px) {
    .runner-bar {
      padding: 0.95rem 1.5rem;
    }
  }
  .runner-status {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--color-mute);
  }
  .status-dot {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--color-dim);
    transition: background-color 300ms ease;
  }
  .runner[data-state="running"] .status-dot {
    background: var(--color-accent);
    animation: blink 900ms ease-in-out infinite;
  }
  .runner[data-state="done"] .status-dot {
    background: var(--color-accent);
  }
  .trigger-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.9rem;
    border: 1px solid var(--color-line-2);
    border-radius: 999px;
    font-size: 0.9rem;
    color: var(--color-mute);
    cursor: pointer;
    transition: color 220ms ease, border-color 220ms ease, background-color 220ms ease, transform 220ms var(--ease-out-soft);
  }
  .trigger svg {
    width: 1rem;
    height: 1rem;
  }
  .trigger:hover {
    color: var(--color-paper);
    border-color: var(--color-mute);
    transform: translateY(-1px);
  }
  .trigger[aria-pressed="true"] {
    color: var(--color-ink);
    background: var(--color-accent);
    border-color: var(--color-accent);
  }
  .steps {
    display: grid;
    gap: 0.6rem;
    counter-reset: step;
  }
  @media (min-width: 640px) {
    .steps {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0.75rem;
    }
  }
  .step {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "icon title num" "icon note num";
    column-gap: 0.85rem;
    align-items: center;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--color-line);
    border-radius: 14px;
    background: var(--color-ink-3);
    transition: border-color 400ms ease, background-color 400ms ease, box-shadow 400ms ease;
  }
  @media (min-width: 640px) {
    .step {
      grid-template-columns: 1fr auto;
      grid-template-areas: "icon num" "title title" "note note";
      align-items: start;
      row-gap: 0.2rem;
      padding: 0.9rem 0.85rem 1rem;
      min-height: 9.5rem;
    }
    .step:not(:last-child)::after {
      content: "";
      position: absolute;
      top: 1.85rem;
      left: calc(100% + 1px);
      width: calc(0.75rem - 2px);
      height: 1px;
      background: var(--color-line-2);
      transition: background-color 300ms ease;
    }
    .step.is-done:not(:last-child)::after {
      background: var(--color-accent);
    }
  }
  .step-num {
    grid-area: num;
    font-family: var(--font-mono);
    font-size: 0.68rem;
    color: var(--color-dim);
    letter-spacing: 0.06em;
  }
  .step-icon {
    grid-area: icon;
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    border: 1px solid var(--color-line-2);
    color: var(--color-mute);
    transition: color 300ms ease, border-color 300ms ease, background-color 300ms ease;
  }
  @media (min-width: 640px) {
    .step-icon {
      margin-bottom: 0.9rem;
    }
  }
  .step-icon svg {
    width: 1.1rem;
    height: 1.1rem;
  }
  .step-title {
    grid-area: title;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--color-paper);
  }
  .step-note {
    grid-area: note;
    font-size: 0.8rem;
    line-height: 1.3;
    color: var(--color-dim);
  }
  .step.is-running {
    border-color: color-mix(in srgb, #a6e4c0 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-accent) 70%, transparent);
    }
    box-shadow: 0 0 0 3px color-mix(in srgb, #a6e4c0 12%, transparent), 0 0 40px -6px color-mix(in srgb, #a6e4c0 35%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 12%, transparent), 0 0 40px -6px color-mix(in srgb, var(--color-accent) 35%, transparent);
    }
  }
  .step.is-running .step-icon {
    color: var(--color-accent);
    border-color: var(--color-accent);
    animation: blink 900ms ease-in-out infinite;
  }
  .step.is-done {
    border-color: color-mix(in srgb, #a6e4c0 28%, #14606a);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-accent) 28%, var(--color-line));
    }
  }
  .step.is-done .step-icon {
    color: var(--color-ink);
    background: var(--color-accent);
    border-color: var(--color-accent);
  }
  .step.is-done .step-num {
    color: var(--color-accent);
  }
  .runner-bottom {
    display: grid;
    border-top: 1px solid var(--color-line);
  }
  @media (min-width: 640px) {
    .runner-bottom {
      grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
    }
  }
  .log {
    padding: 1rem 1rem 1.1rem;
    background: rgb(0 0 0 / 0.25);
  }
  @media (min-width: 640px) {
    .log {
      padding: 1.1rem 1.5rem 1.2rem;
      border-right: 1px solid var(--color-line);
    }
  }
  .log-lines {
    height: 9.6rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0.28rem;
    font-family: var(--font-mono);
    font-size: 0.72rem;
    line-height: 1.45;
    color: var(--color-mute);
    mask-image: linear-gradient(to bottom, transparent, #000 30%);
  }
  .log-lines li {
    display: flex;
    gap: 0.6rem;
    min-width: 0;
  }
  .log-lines .ts {
    flex: none;
    color: var(--color-dim);
  }
  .log-lines .tag {
    flex: none;
    width: 4.6rem;
    color: var(--color-paper);
  }
  .log-lines .tag-ok {
    color: var(--color-accent);
  }
  .log-lines .msg {
    min-width: 0;
  }
  .log-lines .caret {
    display: inline-block;
    width: 0.5em;
    height: 1em;
    margin-left: 1px;
    vertical-align: -0.15em;
    background: var(--color-accent);
    animation: blink 700ms steps(2) infinite;
  }
  @media (max-width: 479px) {
    .log-lines .ts {
      display: none;
    }
  }
  .readout {
    padding: 1.1rem 1rem 1.2rem;
  }
  @media (min-width: 640px) {
    .readout {
      padding: 1.1rem 1.5rem 1.2rem;
    }
  }
  .readout-num {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    margin-top: 0.4rem;
    font-size: 3.4rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.05em;
    color: var(--color-accent);
    font-variant-numeric: tabular-nums;
  }
  .readout-unit {
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--color-paper);
  }
  .readout-bar {
    height: 3px;
    margin-top: 0.9rem;
    border-radius: 999px;
    background: var(--color-line-2);
    overflow: hidden;
  }
  .readout-bar span {
    display: block;
    height: 100%;
    width: 100%;
    background: var(--color-accent);
    transform-origin: left;
    transition: transform 900ms var(--ease-out-soft);
  }
  .runner-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    padding: 0.85rem 1rem;
    border-top: 1px solid var(--color-line);
  }
  @media (min-width: 640px) {
    .runner-foot {
      padding: 0.85rem 1.5rem;
    }
  }
  .replay {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-paper);
    cursor: pointer;
    padding: 0.4rem 0.8rem;
    border-radius: 999px;
    border: 1px solid var(--color-line-2);
    transition: border-color 220ms ease, color 220ms ease;
  }
  .replay svg {
    width: 0.95rem;
    height: 0.95rem;
    transition: transform 400ms var(--ease-out-soft);
  }
  .replay:hover {
    border-color: var(--color-accent);
    color: var(--color-accent);
  }
  .replay:hover svg {
    transform: rotate(-200deg);
  }
  .marquee-band {
    border-block: 1px solid var(--color-line);
    background: var(--color-ink-2);
  }
  .marquee {
    display: flex;
    overflow: hidden;
    mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  }
  .marquee-track {
    display: flex;
    flex: none;
    align-items: center;
    animation: marquee 48s linear infinite;
  }
  .marquee-track li {
    display: flex;
    align-items: center;
    gap: 2.25rem;
    padding: 1.35rem 0 1.35rem 2.25rem;
    font-size: clamp(1.1rem, 2vw, 1.5rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    white-space: nowrap;
    color: var(--color-paper);
  }
  .marquee-track li::after {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 2px;
    background: var(--color-accent);
    transform: rotate(45deg);
  }
  .marquee:hover .marquee-track {
    animation-play-state: paused;
  }
  .section {
    padding-block: 6rem;
  }
  @media (min-width: 1024px) {
    .section {
      padding-block: 9rem;
    }
  }
  .section-top-line {
    border-top: 1px solid var(--color-line);
  }
  .chores {
    border-top: 1px solid var(--color-line);
  }
  .chore {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.3rem 0;
    border-bottom: 1px solid var(--color-line);
  }
  .chore-text {
    position: relative;
    font-size: clamp(1.05rem, 1.6vw, 1.3rem);
    letter-spacing: -0.015em;
    color: var(--color-paper);
    transition: color 600ms ease;
  }
  .chore-text::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 55%;
    height: 1.5px;
    background: var(--color-accent);
    transform: scaleX(1);
    transform-origin: left;
    transition: transform 700ms var(--ease-out-soft);
  }
  .chore .chore-text {
    color: var(--color-dim);
  }
  .chore-tag {
    flex: none;
    font-family: var(--font-mono);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-accent);
    padding: 0.3rem 0.55rem;
    border: 1px solid color-mix(in srgb, #a6e4c0 35%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--color-accent) 35%, transparent);
    }
    border-radius: 6px;
    transition: opacity 400ms ease, transform 400ms var(--ease-out-soft);
  }
  .bento {
    display: grid;
    gap: 1rem;
  }
  @media (min-width: 768px) {
    .bento {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .card-lead {
      grid-column: span 2;
    }
  }
  @media (min-width: 1024px) {
    .bento {
      grid-template-columns: repeat(12, minmax(0, 1fr));
      gap: 1.25rem;
    }
    .card-lead {
      grid-column: span 7;
      grid-row: span 2;
    }
    .card-invoice, .card-booking {
      grid-column: span 5;
    }
    .card-report, .card-inbox, .card-onboard {
      grid-column: span 4;
    }
  }
  .card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 1.6rem;
    border: 1px solid var(--color-line);
    border-radius: 20px;
    background: linear-gradient(180deg, var(--color-ink-3), var(--color-ink-2));
    overflow: hidden;
    transition: border-color 260ms ease, transform 260ms var(--ease-out-soft);
  }
  @media (min-width: 1024px) {
    .card {
      padding: 2rem;
    }
  }
  .card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient( 400px circle at var(--mx, 50%) var(--my, 0%), color-mix(in srgb, #a6e4c0 9%, transparent), transparent 60% );
    @supports (color: color-mix(in lab, red, red)) {
      background: radial-gradient( 400px circle at var(--mx, 50%) var(--my, 0%), color-mix(in srgb, var(--color-accent) 9%, transparent), transparent 60% );
    }
    opacity: 0;
    transition: opacity 300ms ease;
  }
  .card:hover {
    border-color: var(--color-line-2);
    transform: translateY(-3px);
  }
  .card:hover::before {
    opacity: 1;
  }
  .card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .card-icon {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 12px;
    border: 1px solid var(--color-line-2);
    color: var(--color-accent);
  }
  .card-icon svg {
    width: 1.3rem;
    height: 1.3rem;
  }
  .card-title {
    margin-top: 2.25rem;
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.15;
  }
  .card-lead .card-title {
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    letter-spacing: -0.04em;
  }
  .card-copy {
    margin-top: 0.75rem;
    color: var(--color-mute);
    line-height: 1.55;
    max-width: 34rem;
  }
  .bubbles {
    display: grid;
    gap: 0.75rem;
    margin-top: 2rem;
  }
  .bubble {
    max-width: 30rem;
    padding: 0.9rem 1.1rem 1rem;
    border: 1px solid var(--color-line-2);
    border-radius: 16px 16px 16px 4px;
    background: var(--color-ink-2);
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--color-paper);
  }
  .bubble-out {
    justify-self: end;
    border-color: color-mix(in srgb, #a6e4c0 35%, #14606a);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-accent) 35%, var(--color-line));
    }
    border-radius: 16px 16px 4px 16px;
    background: color-mix(in srgb, #a6e4c0 6%, #042c31);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-accent) 6%, var(--color-ink-2));
    }
  }
  .bubble-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.4rem;
    font-family: var(--font-mono);
    font-size: 0.66rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-dim);
  }
  .bubble-out .bubble-meta span:first-child {
    color: var(--color-accent);
  }
  .lead-feed {
    margin-top: auto;
    padding-top: 2rem;
    display: grid;
    gap: 0.5rem;
  }
  .feed-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.85rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--color-line);
    border-radius: 12px;
    background: rgb(0 0 0 / 0.3);
    font-size: 0.92rem;
  }
  .feed-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--color-accent);
    box-shadow: 0 0 12px var(--color-accent);
  }
  .feed-text {
    color: var(--color-paper);
  }
  .feed-time {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--color-dim);
  }
  .mini-list, .bars, .ticks, .week-strip {
    margin-top: auto;
    padding-top: 1.75rem;
  }
  .mini-list {
    display: grid;
    gap: 0.4rem;
  }
  .mini-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    background: rgb(0 0 0 / 0.28);
    font-size: 0.85rem;
  }
  .mini-key {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    color: var(--color-dim);
  }
  .mini-text {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: var(--color-paper);
  }
  .chip {
    padding: 0.2rem 0.5rem;
    border: 1px solid var(--color-line-2);
    border-radius: 999px;
    font-family: var(--font-mono);
    font-size: 0.66rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--color-mute);
    white-space: nowrap;
  }
  .chip-on {
    border-color: color-mix(in srgb, #a6e4c0 45%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-accent) 45%, transparent);
    }
    color: var(--color-accent);
  }
  .week-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.4rem;
  }
  .day {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-height: 5.6rem;
    padding: 0.55rem;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    background: rgb(0 0 0 / 0.28);
  }
  .day b {
    font-family: var(--font-mono);
    font-size: 0.66rem;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-dim);
  }
  .day i {
    display: block;
    height: 0.9rem;
    border-radius: 4px;
    background: var(--color-line);
  }
  .day i.on {
    background: color-mix(in srgb, #a6e4c0 22%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-accent) 22%, transparent);
    }
    box-shadow: inset 2px 0 0 var(--color-accent);
  }
  .day-now {
    border-color: color-mix(in srgb, #a6e4c0 40%, #14606a);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-accent) 40%, var(--color-line));
    }
  }
  .day-now b {
    color: var(--color-accent);
  }
  .bars {
    display: grid;
    gap: 0.7rem;
    font-size: 0.85rem;
  }
  .bar-row {
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr) 1.6rem;
    align-items: center;
    gap: 0.75rem;
    color: var(--color-mute);
  }
  .bar {
    height: 6px;
    border-radius: 999px;
    background: var(--color-line);
    overflow: hidden;
  }
  .bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--color-mute);
  }
  .bar i.on {
    background: var(--color-accent);
  }
  .bar-n {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    text-align: right;
    color: var(--color-paper);
  }
  .ticks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4rem;
  }
  .ticks li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.65rem;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    background: rgb(0 0 0 / 0.28);
    font-size: 0.8rem;
    color: var(--color-paper);
  }
  .ticks li::before {
    content: "";
    flex: none;
    width: 0.7rem;
    height: 0.4rem;
    margin-top: -0.2rem;
    border-left: 1.6px solid var(--color-accent);
    border-bottom: 1.6px solid var(--color-accent);
    transform: rotate(-45deg);
  }
  .spark {
    width: 100%;
    height: 56px;
    margin-top: auto;
    padding-top: 1.5rem;
    box-sizing: content-box;
  }
  .spark-line {
    vector-effect: non-scaling-stroke;
    stroke: var(--color-accent);
    stroke-width: 1.8;
  }
  .spark-area {
    fill: color-mix(in srgb, #a6e4c0 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      fill: color-mix(in srgb, var(--color-accent) 10%, transparent);
    }
    stroke: none;
  }
  .timeline {
    position: relative;
  }
  .timeline-track {
    position: absolute;
    left: 7px;
    top: 0.5rem;
    bottom: 0.5rem;
    width: 1px;
    background: var(--color-line-2);
    clip-path: inset(-12px -40px -40px -40px);
  }
  .timeline-pulse {
    position: absolute;
    inset: 0;
    animation: pulse-y 8s linear infinite;
  }
  .timeline-pulse span {
    position: absolute;
    left: -5px;
    top: -5px;
    width: 11px;
    height: 11px;
    border-radius: 999px;
    background: var(--color-accent);
    box-shadow: 0 0 0 4px color-mix(in srgb, #a6e4c0 18%, transparent), 0 0 24px 4px color-mix(in srgb, #a6e4c0 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-accent) 18%, transparent), 0 0 24px 4px color-mix(in srgb, var(--color-accent) 60%, transparent);
    }
  }
  .timeline-pulse span::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 5px;
    width: 1px;
    height: 120px;
    background: linear-gradient(to top, var(--color-accent), transparent);
  }
  .timeline-list {
    display: grid;
    gap: 3rem;
  }
  .week {
    position: relative;
    padding-left: 2.5rem;
  }
  .week-node {
    position: absolute;
    left: 0;
    top: 0.1rem;
    width: 15px;
    height: 15px;
    border-radius: 999px;
    border: 1px solid var(--color-line-2);
    background: var(--color-ink);
    animation: node-glow 8s linear infinite;
    animation-delay: calc(var(--i) * 2s - 0.2s);
  }
  .week-title {
    margin-top: 0.9rem;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.1;
  }
  .week-copy {
    margin-top: 0.8rem;
    color: var(--color-mute);
    line-height: 1.6;
    max-width: 30rem;
  }
  @media (min-width: 1024px) {
    .timeline-track {
      left: 0;
      right: 0;
      top: 7px;
      bottom: auto;
      width: auto;
      height: 1px;
      clip-path: inset(-40px -40px -40px -12px);
    }
    .timeline-pulse {
      animation-name: pulse-x;
    }
    .timeline-pulse span::before {
      bottom: auto;
      top: 5px;
      left: auto;
      right: 100%;
      width: 160px;
      height: 1px;
      background: linear-gradient(to left, var(--color-accent), transparent);
    }
    .timeline-list {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 2.5rem;
    }
    .week {
      padding-left: 0;
      padding-top: 3rem;
    }
    .week-node {
      top: 0;
    }
  }
  .calc {
    display: grid;
    border: 1px solid var(--color-line);
    border-radius: 28px;
    overflow: hidden;
    background: var(--color-ink-2);
  }
  @media (min-width: 1024px) {
    .calc {
      grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    }
  }
  .calc-inputs {
    padding: 2rem 1.4rem;
  }
  .calc-result {
    position: relative;
    padding: 2rem 1.4rem;
    border-top: 1px solid var(--color-line);
    background: radial-gradient( 600px circle at 100% 0%, color-mix(in srgb, #a6e4c0 10%, transparent), transparent 60% ), var(--color-ink-3);
    @supports (color: color-mix(in lab, red, red)) {
      background: radial-gradient( 600px circle at 100% 0%, color-mix(in srgb, var(--color-accent) 10%, transparent), transparent 60% ), var(--color-ink-3);
    }
  }
  @media (min-width: 768px) {
    .calc-inputs, .calc-result {
      padding: 3.25rem;
    }
  }
  @media (min-width: 1024px) {
    .calc-result {
      border-top: 0;
      border-left: 1px solid var(--color-line);
    }
  }
  .preset-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .preset {
    padding: 0.5rem 0.9rem;
    border: 1px solid var(--color-line-2);
    border-radius: 999px;
    font-size: 0.88rem;
    color: var(--color-mute);
    cursor: pointer;
    transition: color 220ms ease, border-color 220ms ease, background-color 220ms ease;
  }
  .preset:hover {
    color: var(--color-paper);
    border-color: var(--color-mute);
  }
  .preset[aria-pressed="true"] {
    color: var(--color-paper);
    border-color: var(--color-accent);
    background: color-mix(in srgb, #a6e4c0 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-accent) 10%, transparent);
    }
  }
  .range-label {
    color: var(--color-paper);
    font-weight: 500;
  }
  .range-value {
    font-family: var(--font-mono);
    font-size: 0.95rem;
    color: var(--color-accent);
    white-space: nowrap;
  }
  .field-range input[type="range"] {
    --p: 20%;
    width: 100%;
    margin-top: 0.9rem;
    height: 28px;
    appearance: none;
    background: transparent;
    cursor: pointer;
  }
  .field-range input[type="range"]::-webkit-slider-runnable-track {
    height: 4px;
    border-radius: 999px;
    background: linear-gradient( to right, var(--color-accent) var(--p), var(--color-line-2) var(--p) );
  }
  .field-range input[type="range"]::-moz-range-track {
    height: 4px;
    border-radius: 999px;
    background: var(--color-line-2);
  }
  .field-range input[type="range"]::-moz-range-progress {
    height: 4px;
    border-radius: 999px;
    background: var(--color-accent);
  }
  .field-range input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    width: 22px;
    height: 22px;
    margin-top: -9px;
    border-radius: 999px;
    background: var(--color-paper);
    border: 5px solid var(--color-accent);
    box-shadow: 0 0 0 6px color-mix(in srgb, #a6e4c0 14%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 6px color-mix(in srgb, var(--color-accent) 14%, transparent);
    }
    transition: transform 200ms var(--ease-out-soft);
  }
  .field-range input[type="range"]::-moz-range-thumb {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: var(--color-paper);
    border: 5px solid var(--color-accent);
  }
  .field-range input[type="range"]:hover::-webkit-slider-thumb {
    transform: scale(1.12);
  }
  .result-big {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.4rem 0.9rem;
    font-size: clamp(4.2rem, 10vw, 7.5rem);
    font-weight: 600;
    line-height: 0.9;
    letter-spacing: -0.06em;
    color: var(--color-accent);
    font-variant-numeric: tabular-nums;
  }
  .result-unit {
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--color-paper);
  }
  .result-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--color-line-2);
  }
  .result-split > div {
    padding-top: 1.1rem;
  }
  .result-split > div + div {
    padding-left: 1.25rem;
    border-left: 1px solid var(--color-line-2);
  }
  .result-mid {
    margin-top: 0.4rem;
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    font-weight: 600;
    letter-spacing: -0.04em;
    font-variant-numeric: tabular-nums;
  }
  .meter {
    height: 6px;
    border-radius: 999px;
    background: var(--color-line-2);
    overflow: hidden;
  }
  .meter span {
    display: block;
    height: 100%;
    width: 100%;
    background: var(--color-accent);
    transform-origin: left;
    transform: scaleX(0.1);
    transition: transform 500ms var(--ease-out-soft);
  }
  .tiers {
    display: grid;
    gap: 1rem;
  }
  @media (min-width: 1024px) {
    .tiers {
      grid-template-columns: 1fr 1.12fr 1fr;
      align-items: stretch;
      gap: 1.25rem;
    }
  }
  .tier {
    display: flex;
    flex-direction: column;
    padding: 2rem 1.6rem;
    border: 1px solid var(--color-line);
    border-radius: 22px;
    background: var(--color-ink-2);
    transition: border-color 260ms ease, transform 260ms var(--ease-out-soft);
  }
  @media (min-width: 768px) {
    .tier {
      padding: 2.4rem 2.2rem;
    }
  }
  .tier:hover {
    border-color: var(--color-line-2);
    transform: translateY(-3px);
  }
  .tier-featured {
    border-color: color-mix(in srgb, #a6e4c0 55%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-accent) 55%, transparent);
    }
    background: radial-gradient( 500px circle at 50% -10%, color-mix(in srgb, #a6e4c0 12%, transparent), transparent 60% ), var(--color-ink-3);
    @supports (color: color-mix(in lab, red, red)) {
      background: radial-gradient( 500px circle at 50% -10%, color-mix(in srgb, var(--color-accent) 12%, transparent), transparent 60% ), var(--color-ink-3);
    }
    box-shadow: 0 30px 90px -40px color-mix(in srgb, #a6e4c0 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 30px 90px -40px color-mix(in srgb, var(--color-accent) 40%, transparent);
    }
  }
  @media (min-width: 1024px) {
    .tier-featured {
      margin-block: -1rem;
    }
  }
  .tier-featured:hover {
    border-color: var(--color-accent);
  }
  .tier-badge {
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    background: var(--color-accent);
    color: var(--color-ink);
    font-size: 0.78rem;
    font-weight: 600;
  }
  .tier-name {
    margin-top: 1rem;
    font-size: 1.55rem;
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.15;
  }
  .tier-price {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    margin-top: 1.6rem;
    padding-top: 1.6rem;
    border-top: 1px solid var(--color-line);
  }
  .tier-price span {
    font-size: 3rem;
    font-weight: 600;
    letter-spacing: -0.05em;
    line-height: 1;
  }
  .tier-price small {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-dim);
  }
  .tier-lede {
    margin-top: 1rem;
    color: var(--color-mute);
    line-height: 1.5;
  }
  .tier-list {
    display: grid;
    gap: 0.8rem;
    margin-top: 1.6rem;
    margin-bottom: 2.2rem;
  }
  .tier-list li {
    display: grid;
    grid-template-columns: 1.1rem 1fr;
    gap: 0.75rem;
    line-height: 1.4;
    color: var(--color-paper);
  }
  .tier-list li::before {
    content: "";
    width: 1.1rem;
    height: 1.1rem;
    margin-top: 0.12rem;
    background: var(--color-accent);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  .guarantee {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.4rem 1.5rem;
    border: 1px dashed var(--color-line-2);
    border-radius: 18px;
    line-height: 1.55;
  }
  @media (min-width: 1024px) {
    .guarantee {
      margin-top: 2.5rem;
      align-items: center;
    }
  }
  .guarantee-icon {
    flex: none;
    display: grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 999px;
    color: var(--color-accent);
    border: 1px solid color-mix(in srgb, #a6e4c0 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);
    }
  }
  .guarantee-icon svg {
    width: 1.25rem;
    height: 1.25rem;
  }
  .faq {
    border-top: 1px solid var(--color-line);
  }
  .faq-item {
    border-bottom: 1px solid var(--color-line);
  }
  .faq-q {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.5rem 0;
    text-align: left;
    font-size: clamp(1.1rem, 1.8vw, 1.35rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--color-paper);
    cursor: pointer;
    transition: color 220ms ease;
  }
  .faq-q:hover {
    color: var(--color-accent);
  }
  .faq-icon {
    position: relative;
    flex: none;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 999px;
    border: 1px solid var(--color-line-2);
    transition: transform 300ms var(--ease-out-soft), border-color 220ms ease, background-color 220ms ease;
  }
  .faq-icon::before, .faq-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 11px;
    height: 1.6px;
    margin: -0.8px 0 0 -5.5px;
    background: currentColor;
    border-radius: 2px;
    transition: transform 300ms var(--ease-out-soft);
  }
  .faq-icon::after {
    transform: rotate(90deg);
  }
  .faq-q[aria-expanded="true"] .faq-icon {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: var(--color-ink);
  }
  .faq-q[aria-expanded="true"] .faq-icon::after {
    transform: rotate(0deg);
  }
  .faq-a {
    display: grid;
    grid-template-rows: 1fr;
    transition: grid-template-rows 320ms var(--ease-out-soft);
  }
  .faq-a > div {
    overflow: hidden;
  }
  .faq-a p {
    padding: 0 3.5rem 1.6rem 0;
    color: var(--color-mute);
    line-height: 1.65;
    max-width: 44rem;
  }
  .cta {
    border-top: 1px solid var(--color-line);
    background: linear-gradient(to right, rgb(255 255 255 / 0.035) 1px, transparent 1px) 0 0 / 64px 64px, linear-gradient(to bottom, rgb(255 255 255 / 0.035) 1px, transparent 1px) 0 0 / 64px 64px;
  }
  .cta-glow {
    position: absolute;
    pointer-events: none;
    left: -20%;
    bottom: -40%;
    width: 900px;
    height: 700px;
    background: radial-gradient( closest-side, color-mix(in srgb, #a6e4c0 12%, transparent), transparent );
    @supports (color: color-mix(in lab, red, red)) {
      background: radial-gradient( closest-side, color-mix(in srgb, var(--color-accent) 12%, transparent), transparent );
    }
  }
  .cta-points {
    display: grid;
    gap: 0.9rem;
    color: var(--color-paper);
  }
  .cta-points li {
    display: flex;
    align-items: baseline;
    gap: 1rem;
  }
  .audit-form, .form-done {
    display: grid;
    gap: 1.25rem;
    padding: 1.6rem;
    border: 1px solid var(--color-line-2);
    border-radius: 24px;
    background: color-mix(in srgb, #042c31 94%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-ink-2) 94%, transparent);
    }
    box-shadow: 0 40px 120px -50px rgb(0 0 0 / 0.9);
  }
  @media (min-width: 768px) {
    .audit-form, .form-done {
      padding: 2.5rem;
    }
  }
  .form-done[hidden], .audit-form[hidden], .form-error[hidden] {
    display: none;
  }
  .form-done {
    display: block;
  }
  .field {
    display: grid;
    gap: 0.5rem;
  }
  .field label {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--color-paper);
  }
  .field input, .field select {
    width: 100%;
    min-height: 3.1rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--color-line-2);
    border-radius: 12px;
    background: var(--color-ink);
    color: var(--color-paper);
    font-size: 1rem;
    transition: border-color 220ms ease, box-shadow 220ms ease;
  }
  .field select {
    appearance: none;
    padding-right: 2.75rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a2a7af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1.1rem;
  }
  .field input::placeholder {
    color: var(--color-dim);
  }
  .field input:hover, .field select:hover {
    border-color: var(--color-dim);
  }
  .field input:focus, .field select:focus {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 4px color-mix(in srgb, #a6e4c0 16%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-accent) 16%, transparent);
    }
  }
  .field input[aria-invalid="true"] {
    border-color: #ff8a7a;
  }
  .form-error {
    padding: 0.8rem 1rem;
    border-radius: 12px;
    border: 1px solid #ff8a7a66;
    color: #ffb4a8;
    font-size: 0.92rem;
  }
  .done-icon {
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 999px;
    background: var(--color-accent);
    color: var(--color-ink);
  }
  .done-icon svg {
    width: 1.6rem;
    height: 1.6rem;
    stroke-width: 2.4;
  }
  .footer {
    border-top: 1px solid var(--color-line);
    background: var(--color-ink-2);
  }
  .foot-link {
    color: var(--color-mute);
    transition: color 220ms ease;
  }
  .foot-link:hover {
    color: var(--color-accent);
  }
  .footer-base {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-block: 1.6rem 2rem;
    border-top: 1px solid var(--color-line);
    font-size: 0.9rem;
    color: var(--color-dim);
  }
  .footer-base .mono-label {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
  }
}
html.js .reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 900ms var(--ease-out-soft), transform 900ms var(--ease-out-soft);
}
html.js .reveal.is-in {
  opacity: 1;
  transform: none;
}
html.js .reveal:not(.is-in).bento > *, html.js .reveal:not(.is-in).tiers > *, html.js .reveal:not(.is-in).chores > *, html.js .reveal:not(.is-in) .timeline-list > *, html.js .reveal:not(.is-in).faq > * {
  opacity: 0;
  transform: translateY(22px);
}
html.js .reveal.is-in:not(.is-settled).bento > *, html.js .reveal.is-in:not(.is-settled).tiers > *, html.js .reveal.is-in:not(.is-settled).chores > *, html.js .reveal.is-in:not(.is-settled) .timeline-list > *, html.js .reveal.is-in:not(.is-settled).faq > * {
  transition: opacity 800ms var(--ease-out-soft), transform 800ms var(--ease-out-soft), border-color 260ms ease;
  transition-delay: calc(var(--stagger, 0) * 90ms);
}
html.js .chores .chore-text::after {
  transform: scaleX(0);
}
html.js .chores .chore-tag {
  opacity: 0;
  transform: translateX(-8px);
}
html.js .chores.is-in .chore-text::after {
  transform: scaleX(1);
  transition-delay: calc(var(--stagger, 0) * 160ms + 450ms);
}
html.js .chores.is-in .chore-tag {
  opacity: 1;
  transform: none;
  transition-delay: calc(var(--stagger, 0) * 160ms + 800ms);
}
html.js .chores .chore .chore-text {
  color: var(--color-paper);
}
html.js .chores.is-in .chore .chore-text {
  color: var(--color-dim);
  transition-delay: calc(var(--stagger, 0) * 160ms + 650ms);
}
html.js .faq-a {
  grid-template-rows: 0fr;
}
html.js .faq-a.is-open {
  grid-template-rows: 1fr;
}
.mono-label {
  font-weight: 600;
  letter-spacing: 0.1em;
}
.kicker {
  font-weight: 600;
  letter-spacing: 0.12em;
}
.chore-tag, .chip {
  font-weight: 600;
}
.hero-title {
  font-size: clamp(2.3rem, 4.4vw, 4rem);
  line-height: 1.1;
  letter-spacing: -0.015em;
  font-weight: 400;
}
.hero-title .font-semibold {
  font-weight: 700;
}
.display-1, .display-2, .display-3 {
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 1.16;
  color: color-mix(in srgb, #f3f8f4 88%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--color-paper) 88%, transparent);
  }
}
.display-1 {
  font-size: clamp(2.2rem, 4.8vw, 4rem);
}
.display-2 {
  font-size: clamp(1.9rem, 3.6vw, 3.1rem);
}
.display-3 {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
}
.display-1 .font-semibold, .display-2 .font-semibold, .display-3 .font-semibold {
  font-weight: 700;
}
.wordmark {
  font-size: 1.35rem;
  letter-spacing: -0.01em;
}
.wordmark-lg {
  font-size: 1.9rem;
}
.card-title, .tier-name, .week-title {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
.card-title {
  font-size: 1.2rem;
  margin-top: 2rem;
}
.card-lead .card-title {
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  letter-spacing: -0.015em;
}
.tier-name {
  font-size: 1.3rem;
}
.week-title {
  font-size: 1.25rem;
}
.faq-q {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
  font-size: clamp(1.02rem, 1.5vw, 1.2rem);
}
.marquee-track li {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
}
.readout-num, .result-big, .result-mid {
  letter-spacing: -0.03em;
}
.result-big {
  font-size: clamp(3.4rem, 9vw, 6rem);
}
.mobile-link, .btn, .step-title {
  letter-spacing: 0;
}
.mobile-link {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 400;
}
.log-lines {
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
}
.tier-list {
  margin-top: 1.4rem;
}
.tier-name {
  margin-bottom: 0.2rem;
}
.audit-form, .form-done {
  background: var(--color-navy);
}
.log-lines .tag-ok {
  color: var(--color-leaf-2);
}
.runner[data-state="done"] .status-dot {
  background: var(--color-leaf-2);
}
.step.is-done {
  border-color: color-mix(in srgb, #8fd9ae 35%, #14606a);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-leaf-2) 35%, var(--color-line));
  }
}
.step.is-done .step-icon {
  background: var(--color-leaf);
  border-color: var(--color-leaf-line);
  color: var(--color-paper);
}
.step.is-done .step-num {
  color: var(--color-leaf-2);
}
.chip-on {
  border-color: color-mix(in srgb, #8fd9ae 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-leaf-2) 50%, transparent);
  }
  color: var(--color-leaf-2);
}
.feed-dot {
  background: var(--color-leaf-2);
  box-shadow: 0 0 12px var(--color-leaf-2);
}
.chore-tag {
  color: var(--color-leaf-2);
  border-color: color-mix(in srgb, #8fd9ae 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-leaf-2) 40%, transparent);
  }
}
.ticks li::before {
  border-left-color: var(--color-leaf-2);
  border-bottom-color: var(--color-leaf-2);
}
.done-icon {
  background: var(--color-leaf);
  color: var(--color-paper);
}
.bubble-out {
  border-color: var(--color-leaf-line);
  background: color-mix(in srgb, #1f6b4f 38%, #042c31);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-leaf) 38%, var(--color-ink-2));
  }
}
.bubble-out .bubble-meta span:first-child {
  color: var(--color-leaf-2);
}
.site-header, .site-header.is-scrolled, .site-header.is-open {
  background: var(--color-paper);
  backdrop-filter: none;
  border-bottom-color: color-mix(in srgb, #054a52 22%, #f3f8f4);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom-color: color-mix(in srgb, var(--color-navy) 22%, var(--color-paper));
  }
}
.site-header .btn-accent {
  background: var(--color-navy);
  color: var(--color-paper);
}
.site-header .btn-accent:hover {
  box-shadow: 0 10px 30px -8px color-mix(in srgb, #054a52 55%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 10px 30px -8px color-mix(in srgb, var(--color-navy) 55%, transparent);
  }
}
.site-header.is-open {
  box-shadow: 0 30px 60px -20px rgb(0 0 0 / 0.5);
}
.site-header :focus-visible {
  outline-color: var(--color-navy);
}
.site-header .nav-link {
  color: var(--color-navy);
}
.site-header .nav-link:hover {
  color: var(--color-ink-2);
  background: color-mix(in srgb, #054a52 9%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-navy) 9%, transparent);
  }
}
.site-header .menu-btn {
  color: var(--color-navy);
  border-color: var(--color-navy);
}
.site-header .menu-btn:hover {
  background: color-mix(in srgb, #054a52 8%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-navy) 8%, transparent);
  }
}
.site-header .mobile-nav {
  border-top-color: color-mix(in srgb, #054a52 22%, #f3f8f4);
  @supports (color: color-mix(in lab, red, red)) {
    border-top-color: color-mix(in srgb, var(--color-navy) 22%, var(--color-paper));
  }
}
.site-header .mobile-link {
  color: var(--color-navy);
  border-bottom-color: color-mix(in srgb, #054a52 22%, #f3f8f4);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom-color: color-mix(in srgb, var(--color-navy) 22%, var(--color-paper));
  }
}
.brand-logo {
  --w: 300px;
  --h: 52px;
  position: relative;
  display: block;
  flex: none;
  width: calc(var(--w) * 0.9);
  height: var(--h);
  overflow: hidden;
}
.brand-logo img {
  position: absolute;
  display: block;
  max-width: none;
  width: var(--w);
  height: auto;
  left: calc(var(--w) * -0.0508);
  top: calc(var(--h) / 2 - var(--w) * 0.498);
  pointer-events: none;
}
.brand-logo-lg {
  --w: 360px;
  --h: 64px;
}
.footer .brand-logo img {
  filter: brightness(0) invert(1);
}
@media (max-width: 400px) {
  .site-header .brand-logo {
    --w: 250px;
    --h: 48px;
  }
}
@keyframes rise {
  from {
    opacity: 0;
    transform: translateY(26px);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: none;
    filter: blur(0);
  }
}
@keyframes underline {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
@keyframes ping {
  0% {
    transform: scale(1);
    opacity: 0.7;
  }
  80%, 100% {
    transform: scale(3);
    opacity: 0;
  }
}
@keyframes blink {
  50% {
    opacity: 0.35;
  }
}
@keyframes breathe {
  0%, 100% {
    opacity: 0.75;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.06);
  }
}
@keyframes relay {
  0%, 10% {
    transform: translateX(0);
  }
  50%, 60% {
    transform: translateX(0.4em);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes marquee {
  to {
    transform: translateX(-100%);
  }
}
@keyframes drop {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
}
@keyframes pulse-x {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100%);
  }
}
@keyframes pulse-y {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(100%);
  }
}
@keyframes node-glow {
  0% {
    border-color: var(--color-accent);
    background: var(--color-accent);
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--color-accent) 18%, transparent);
  }
  14%, 100% {
    border-color: var(--color-line-2);
    background: var(--color-ink);
    box-shadow: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    animation-delay: 0ms !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
  }
  .timeline-pulse, .hero-glow, .marquee-track, .live-dot::after, .wordmark-mark::after {
    animation: none !important;
  }
  .marquee {
    flex-wrap: wrap;
  }
  html.js .reveal, html.js .reveal > * {
    transform: none !important;
  }
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@keyframes ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
@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-leading: initial;
      --tw-font-weight: initial;
    }
  }
}
