
/*! tailwindcss v4.2.1 | 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-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
    }
  }
}
@layer theme {
  :root,:host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --spacing: .25rem;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --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)
  }
}
@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,ui-sans-serif, system-ui, 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;
    -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 {
    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
  }
}
@layer components;
@layer utilities {
  .visible {
    visibility: visible
  }
  .relative {
    position: relative
  }
  .sticky {
    position: sticky
  }
  .start {
    inset-inline-start: var(--spacing)
  }
  .container {
    width: 100%
  }
  @media (width>=40rem) {
    .container {
      max-width: 40rem
    }
  }
  @media (width>=48rem) {
    .container {
      max-width: 48rem
    }
  }
  @media (width>=64rem) {
    .container {
      max-width: 64rem
    }
  }
  @media (width>=80rem) {
    .container {
      max-width: 80rem
    }
  }
  @media (width>=96rem) {
    .container {
      max-width: 96rem
    }
  }
  .grid {
    display: grid
  }
  .hidden {
    display: none
  }
  .table {
    display: table
  }
  .resize {
    resize: both
  }
  .uppercase {
    text-transform: uppercase
  }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
  }
  .grayscale {
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)
  }
  .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))
  }
}
:root {
  --canvas: #08090a;
  --canvas-alt: #0b0c0d;
  --surface-1: #0f1011;
  --surface-2: #151617;
  --surface-3: #1b1c1e;
  --text-primary: #f7f8f8;
  --text-secondary: #b4b6ba;
  --text-tertiary: #969aa2;
  --text-faint: #7f838b;
  --border: #24262a;
  --border-strong: #383b40;
  --status: #f3f4f4;
  --cta-bg: #f4f4f3;
  --cta-fg: #0b0c0d;
  --header-bg: #08090adb;
  --section-title-size: clamp(2.75rem, 4.4vw, 4.5rem);
  --section-space: clamp(4rem, 7vw, 7rem);
  --body-size: 1rem;
  --detail-size: .875rem;
  --caption-size: .75rem;
  --header-offset: 6.5rem;
  --gutter: 3rem;
  --ease-out: cubic-bezier(.16, 1, .3, 1)
}
html[data-theme=dark] {
  --lightningcss-light:  ;
  --lightningcss-dark: initial;
  color-scheme: dark
}
html[data-theme=light] {
  --lightningcss-light: initial;
  --lightningcss-dark:  ;
  color-scheme: light;
  --canvas: #fafafa;
  --canvas-alt: #f4f4f3;
  --surface-1: #fff;
  --surface-2: #f0f0ef;
  --surface-3: #e7e7e5;
  --text-primary: #171719;
  --text-secondary: #4f5054;
  --text-tertiary: #626368;
  --text-faint: #727378;
  --border: #e0e0de;
  --border-strong: #c6c6c3;
  --status: #161718;
  --cta-bg: #111214;
  --cta-fg: #fafafa;
  --header-bg: #fafafae0
}
* {
  box-sizing: border-box
}
html {
  background: var(--canvas);
  scroll-behavior: smooth
}
body {
  background: var(--canvas);
  color: var(--text-primary);
  font-family: var(--font-geist-sans), Arial, sans-serif;
  font-size: var(--body-size);
  -webkit-font-smoothing: antialiased;
  margin: 0
}
a {
  color: inherit;
  text-decoration: none
}
button,input {
  font: inherit
}
button,a,summary {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation
}
button,a {
  -webkit-tap-highlight-color: var(--text-primary)
}
@supports (color:color-mix(in lab, red, red)) {
  button,a {
    -webkit-tap-highlight-color: color-mix(in srgb, var(--text-primary) 12%, transparent)
  }
}
:focus-visible {
  outline: 2px solid var(--text-primary);
  outline-offset: 4px
}
[id] {
  scroll-margin-top: var(--header-offset)
}
main:focus {
  outline: none
}
.container {
  width: min(90rem,100%);
  margin-inline: auto;
  padding-inline-start: max(var(--gutter), env(safe-area-inset-left));
  padding-inline-end: max(var(--gutter), env(safe-area-inset-right))
}
.container>*,.feature-copy,.contractor-copy,.pricing-copy {
  min-width: 0
}
.section-frame {
  border-bottom: 1px solid var(--border);
  width: 100%
}
.section-pad {
  padding-block: var(--section-space)
}
.status-dot {
  background: var(--status);
  border-radius: 50%;
  flex: none;
  width: .42rem;
  height: .42rem;
  display: inline-block
}
.feature-icon {
  flex: none;
  display: block
}
.skip-link {
  z-index: 200;
  background: var(--cta-bg);
  color: var(--cta-fg);
  border-radius: .5rem;
  padding: .75rem 1rem;
  position: fixed;
  top: -5rem;
  left: 1rem
}
.skip-link:focus {
  top: 1rem
}
.site-header {
  z-index: 100;
  background: var(--header-bg);
  border-bottom: 1px solid var(--border);
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
  position: sticky;
  top: 0
}
.nav {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-height: 4.75rem;
  display: flex
}
.brand,.brand-lockup {
  align-items: center;
  display: inline-flex
}
.brand {
  min-height: 2.75rem
}
.brand-lockup {
  height: 2rem
}
.brand-lockup img {
  object-fit: contain;
  width: 6.65rem;
  height: calc(6.65rem * 86 / 320);
  aspect-ratio: 320 / 86
}
html[data-theme=light] .brand-lockup img {
  filter: invert()
}
.nav-links {
  color: var(--text-tertiary);
  font-size: var(--detail-size);
  align-items: center;
  gap: 1.75rem;
  display: flex
}
.nav-links a {
  justify-content: center;
  align-items: center;
  min-height: 2.75rem;
  padding-inline: .2rem;
  transition: color .2s;
  display: inline-flex
}
.nav-links a:hover {
  color: var(--text-primary)
}
.nav-actions {
  align-items: center;
  gap: .65rem;
  display: flex
}
.nav-cta,.theme-toggle {
  border: 1px solid var(--border-strong);
  background: var(--surface-1);
  border-radius: .45rem;
  min-height: 2.75rem;
  transition: background .2s,border-color .2s
}
.nav-cta {
  white-space: nowrap;
  align-items: center;
  padding-inline: 1rem;
  font-size: .8125rem;
  font-weight: 560;
  display: inline-flex
}
.nav-cta:hover,.theme-toggle:hover {
  background: var(--surface-2);
  border-color: var(--text-faint)
}
.nav-cta-mobile {
  display: none
}
.theme-toggle {
  width: 2.75rem;
  color: var(--text-primary);
  cursor: pointer;
  place-items: center;
  padding: 0;
  display: grid
}
.theme-toggle-glyph {
  width: 1.05rem;
  height: 1.05rem;
  transition: transform .35s var(--ease-out);
  background: linear-gradient(90deg,currentColor 0 50%,#0000 50%);
  border: 1px solid;
  border-radius: 50%;
  display: block
}
html[data-theme=light] .theme-toggle-glyph {
  transform: rotate(180deg)
}
.mobile-nav {
  display: none
}
.hero-grid {
  grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);
  align-items: center;
  gap: clamp(2rem,4vw,4rem);
  min-height: min(48rem,100svh - 4.75rem);
  padding-block: clamp(4rem,6vw,6rem);
  display: grid
}
.hero h1 {
  letter-spacing: -.04em;
  text-wrap: balance;
  margin: 0;
  font-size: clamp(3.6rem,5.1vw,5rem);
  font-weight: 520;
  line-height: .98
}
.hero h1 span,.heading-pair h2 span,.contractor-copy h2 span,.pricing-copy h2 span {
  color: var(--text-tertiary)
}
.hero h1,.hero-lede,.hero-actions,.hero-proof {
  animation: hero-in .65s both var(--ease-out)
}
.hero-lede {
  max-width: 42ch;
  color: var(--text-secondary);
  font-size: var(--body-size);
  margin: 2rem 0;
  line-height: 1.75;
  animation-delay: 60ms
}
.hero-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1.3rem;
  animation-delay: .12s;
  display: flex
}
.button {
  border: 1px solid var(--cta-bg);
  min-height: 3.5rem;
  font-size: var(--detail-size);
  text-align: center;
  transition: transform .2s var(--ease-out), opacity .2s ease;
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  padding: .8rem 1.35rem;
  font-weight: 590;
  display: inline-flex
}
.button.primary {
  background: var(--cta-bg);
  color: var(--cta-fg)
}
.button.primary:hover {
  transform: translateY(-2px)
}
.button.primary:active {
  transform: translateY(0)
}
.button.full {
  width: 100%
}
.text-link {
  min-height: 2.75rem;
  color: var(--text-secondary);
  font-size: var(--detail-size);
  align-items: center;
  gap: .7rem;
  padding-inline: .15rem;
  transition: color .2s;
  display: inline-flex
}
.text-link:hover {
  color: var(--text-primary)
}
.text-link svg {
  width: 1rem;
  height: 1rem
}
.text-link-arrow {
  border-bottom: 1px solid;
  border-right: 1px solid;
  width: .55rem;
  height: .55rem;
  display: block;
  transform: rotate(45deg)translateY(-.1rem)
}
.hero-proof {
  border-top: 1px solid var(--border);
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1rem;
  margin-top: 2.75rem;
  padding-top: 1.25rem;
  animation-delay: .18s;
  display: grid
}
.hero-proof span {
  flex-direction: column;
  gap: .35rem;
  display: flex
}
.hero-proof b {
  font-size: var(--detail-size);
  font-weight: 590
}
.hero-proof small {
  max-width: 12rem;
  color: var(--text-tertiary);
  font-size: var(--caption-size);
  line-height: 1.5
}
.hero-asset {
  min-width: 0
}
.lineage-panel {
  border: 1px solid var(--border-strong);
  background: var(--surface-1);
  border-radius: 1rem
}
.lineage-head {
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: .2rem .25rem 1.1rem;
  display: flex
}
.lineage-head div {
  flex-direction: column;
  gap: .5rem;
  min-width: 0;
  display: flex
}
.lineage-head small,.lineage-head span {
  color: var(--text-tertiary);
  font: var(--caption-size)/1.5 var(--font-geist-mono), monospace
}
.lineage-head strong {
  font-size: 1.125rem;
  font-weight: 590
}
.lineage-head>span {
  font-size: var(--caption-size);
  white-space: nowrap;
  align-items: center;
  gap: .5rem;
  display: flex
}
@keyframes hero-in {
  0% {
    opacity: .8;
    transform: translateY(.45rem)
  }
  to {
    opacity: 1;
    transform: translateY(0)
  }
}
.heading-pair {
  grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr);
  align-items: end;
  gap: clamp(3rem,5vw,6rem);
  display: grid
}
.heading-pair h2,.contractor-copy h2,.pricing-copy h2 {
  font-size: var(--section-title-size);
  letter-spacing: -.04em;
  text-wrap: balance;
  margin: 0;
  font-weight: 510;
  line-height: 1.04
}
.heading-pair p,.contractor-copy p,.pricing-copy>p {
  max-width: 65ch;
  color: var(--text-secondary);
  font-size: var(--body-size);
  text-wrap: pretty;
  margin: 0;
  line-height: 1.75
}
.leak-grid {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin-top: 3.5rem;
  display: grid
}
.leak-grid article {
  border-right: 1px solid var(--border);
  padding: 1.75rem
}
.leak-grid article:first-child {
  padding-left: 0
}
.leak-grid article:last-child {
  border-right: 0
}
.leak-grid h3 {
  margin: 0 0 .75rem;
  font-size: 1rem;
  font-weight: 550
}
.leak-grid p {
  max-width: 30ch;
  color: var(--text-secondary);
  font-size: var(--detail-size);
  margin: 0;
  line-height: 1.7
}
.problem-payoff {
  grid-template-columns: .85fr 1.15fr;
  align-items: start;
  gap: 1rem 4rem;
  margin-top: 2.5rem;
  display: grid
}
.problem-payoff h3 {
  letter-spacing: -.025em;
  margin: 0;
  font-size: clamp(1.5rem,2vw,2rem);
  font-weight: 520;
  line-height: 1.15
}
.problem-payoff p {
  max-width: 65ch;
  color: var(--text-secondary);
  margin: 0;
  line-height: 1.75
}
.problem-payoff .text-link {
  grid-column: 2;
  justify-self: start
}
.platform-intro {
  background: var(--canvas-alt)
}
.feature-section {
  border-bottom: 0
}
.feature-row {
  border-bottom: 1px solid var(--border);
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  display: grid
}
.feature-row.reverse {
  grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr)
}
.feature-copy {
  border-right: 1px solid var(--border);
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 5.5rem 3rem 5.5rem 0;
  display: flex
}
.feature-row.reverse .feature-copy {
  border-right: 0;
  border-left: 1px solid var(--border);
  grid-area: 1/2;
  padding: 5.5rem 0 5.5rem 3rem
}
.feature-row.reverse .feature-canvas {
  grid-area: 1/1
}
.feature-copy h3 {
  letter-spacing: -.04em;
  text-wrap: balance;
  margin: 0 0 1.3rem;
  font-size: clamp(2.6rem,3.5vw,3.7rem);
  font-weight: 510;
  line-height: 1.04
}
.feature-copy>p {
  max-width: 50ch;
  color: var(--text-secondary);
  font-size: var(--body-size);
  text-wrap: pretty;
  margin: 0;
  line-height: 1.75
}
.feature-copy ul {
  flex-direction: column;
  gap: .85rem;
  margin: 1.75rem 0 0;
  padding: 0;
  list-style: none;
  display: flex
}
.feature-copy li {
  color: var(--text-secondary);
  font-size: var(--detail-size);
  align-items: flex-start;
  gap: .7rem;
  display: flex
}
.feature-canvas {
  background: var(--canvas-alt);
  min-width: 0
}
.contractor-section {
  background: var(--canvas-alt)
}
.contractor-grid {
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  align-items: start;
  gap: clamp(3rem,6vw,6rem);
  display: grid
}
.contractor-copy h2 {
  max-width: 18ch;
  font-size: clamp(2.5rem,3.5vw,3.7rem)
}
.contractor-copy p {
  margin-top: 1.5rem
}
.contractor-principles {
  border-top: 1px solid var(--border-strong);
  margin: 0
}
.contractor-principles>div {
  border-bottom: 1px solid var(--border);
  padding: 1.5rem 0
}
.contractor-principles dt {
  font-size: 1.125rem;
  font-weight: 550;
  line-height: 1.4
}
.contractor-principles dd {
  max-width: 65ch;
  color: var(--text-secondary);
  font-size: var(--body-size);
  text-wrap: pretty;
  margin: .65rem 0 0;
  line-height: 1.75
}
.service-grid {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-top: 3rem;
  display: grid
}
.service-grid article {
  border-right: 1px solid var(--border);
  padding: 1.75rem
}
.service-grid article:first-child {
  padding-left: 0
}
.service-grid article:last-child {
  border-right: 0
}
.service-grid h3 {
  margin: 0 0 .75rem;
  font-size: 1.25rem;
  font-weight: 520;
  line-height: 1.35
}
.service-grid p {
  max-width: 40ch;
  color: var(--text-secondary);
  font-size: var(--body-size);
  text-wrap: pretty;
  margin: 0;
  line-height: 1.75
}
.pricing-section {
  background: var(--canvas-alt)
}
.pricing-grid {
  padding-block: var(--section-space);
  grid-template-columns: minmax(0,1fr) minmax(0,.9fr);
  align-items: center;
  gap: 4rem;
  display: grid
}
.pricing-copy h2 {
  max-width: 13ch;
  margin-bottom: 1.5rem
}
.trial-journey {
  border-top: 1px solid var(--border);
  margin-top: 2.5rem
}
.trial-journey-head {
  color: var(--text-tertiary);
  font: var(--caption-size)/1.5 var(--font-geist-mono), monospace;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  padding-block: 1.1rem;
  display: flex
}
.trial-journey-head b {
  color: var(--text-primary);
  font-weight: 500
}
.trial-steps {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid
}
.trial-steps li {
  border-right: 1px solid var(--border);
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.25rem 1rem;
  display: flex
}
.trial-steps li:first-child {
  padding-left: 0
}
.trial-steps li:last-child {
  border-right: 0
}
.trial-steps small {
  color: var(--text-tertiary);
  font: var(--caption-size) var(--font-geist-mono), monospace
}
.trial-steps b {
  font-size: var(--detail-size);
  font-weight: 590;
  line-height: 1.5
}
.trial-steps p {
  color: var(--text-secondary);
  font-size: var(--detail-size);
  margin: .5rem 0 0;
  line-height: 1.65
}
.price-card {
  border: 1px solid var(--border-strong);
  background: var(--surface-1);
  border-radius: 1rem;
  min-width: 0;
  padding: 2rem
}
.price-head {
  border-bottom: 1px solid var(--border);
  color: var(--text-tertiary);
  font: var(--caption-size)/1.5 var(--font-geist-mono), monospace;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1rem;
  display: flex
}
.price {
  border-bottom: 1px solid var(--border);
  align-items: end;
  padding: 2rem 0;
  display: flex
}
.price small {
  color: var(--text-tertiary);
  align-self: center;
  font-size: 1.25rem
}
.price strong {
  letter-spacing: -.04em;
  font-variant-numeric: tabular-nums;
  font-size: clamp(4rem,5vw,5rem);
  font-weight: 520;
  line-height: .9
}
.price>span {
  color: var(--text-tertiary);
  font-size: var(--detail-size);
  margin-left: .8rem;
  line-height: 1.5
}
.price-card ul {
  flex-direction: column;
  gap: 1rem;
  margin: 1.8rem 0;
  padding: 0;
  list-style: none;
  display: flex
}
.price-card li {
  color: var(--text-secondary);
  font-size: var(--detail-size);
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  line-height: 1.5;
  display: flex
}
.price-card li i {
  border-bottom: 1px solid var(--text-primary);
  border-left: 1px solid var(--text-primary);
  flex: none;
  width: .55rem;
  height: .32rem;
  transform: rotate(-45deg)
}
.price-foot {
  color: var(--text-tertiary);
  text-align: center;
  font-size: var(--caption-size);
  margin-top: 1rem;
  line-height: 1.6;
  display: block
}
.footer {
  padding-top: 4rem;
  padding-bottom: env(safe-area-inset-bottom)
}
.footer-grid {
  grid-template-columns: minmax(0,1fr) minmax(0,.35fr) minmax(0,.35fr);
  gap: 4rem;
  padding-bottom: 3rem;
  display: grid
}
.footer-grid>div {
  flex-direction: column;
  align-items: flex-start;
  gap: .5rem;
  display: flex
}
.footer-grid p {
  max-width: 45ch;
  color: var(--text-secondary);
  font-size: var(--detail-size);
  margin: .75rem 0 0;
  line-height: 1.75
}
.footer-grid div:not(:first-child)>span {
  color: var(--text-tertiary);
  font: var(--caption-size) var(--font-geist-mono), monospace;
  margin-bottom: .5rem
}
.footer-grid div:not(:first-child) a {
  min-height: 2.75rem;
  color: var(--text-secondary);
  font-size: var(--detail-size);
  align-items: center;
  display: inline-flex
}
.footer-grid div:not(:first-child) a:hover {
  color: var(--text-primary)
}
.footer-bottom {
  border-top: 1px solid var(--border);
  min-height: 4.5rem;
  color: var(--text-tertiary);
  font-size: var(--caption-size);
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  line-height: 1.6;
  display: flex
}
@media (width<=74rem) {
  :root {
    --gutter: 2rem
  }
  .nav-links {
    gap: 1.25rem
  }
  .lineage-head {
    flex-wrap: wrap
  }
  .feature-copy {
    padding-right: 2rem
  }
  .feature-row.reverse .feature-copy {
    padding-left: 2rem
  }
  .pricing-grid {
    gap: 3rem
  }
}
@media (width<=61.99rem) {
  :root {
    --header-offset: 9rem;
    --gutter: 1.5rem
  }
  .nav-links {
    display: none
  }
  .mobile-nav {
    border-top: 1px solid var(--border);
    grid-template-columns: repeat(4,minmax(0,1fr));
    padding-inline-start: max(1rem, env(safe-area-inset-left));
    padding-inline-end: max(1rem, env(safe-area-inset-right));
    display: grid
  }
  .mobile-nav a {
    min-height: 2.75rem;
    color: var(--text-secondary);
    font-size: var(--detail-size);
    place-items: center;
    display: grid
  }
  .mobile-nav a:hover {
    background: var(--surface-1)
  }
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
    min-height: 0
  }
  .hero-copy {
    max-width: 48rem
  }
  .hero h1 {
    font-size: clamp(4rem,10vw,6rem)
  }
  .hero-lede {
    max-width: 55ch
  }
  .heading-pair {
    grid-template-columns: 1fr;
    gap: 1.75rem
  }
  .leak-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))
  }
  .leak-grid article:nth-child(2) {
    border-right: 0
  }
  .leak-grid article:nth-child(-n+2) {
    border-bottom: 1px solid var(--border)
  }
  .leak-grid article:nth-child(3) {
    padding-left: 0
  }
  .feature-row,.feature-row.reverse {
    grid-template-columns: 1fr
  }
  .feature-copy,.feature-row.reverse .feature-copy {
    border: 0;
    grid-area: auto/1;
    padding: 4rem 0 2.5rem
  }
  .feature-canvas,.feature-row.reverse .feature-canvas {
    border-top: 1px solid var(--border);
    grid-area: auto/1
  }
  .contractor-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem
  }
  .contractor-copy {
    max-width: 44rem
  }
  .contractor-copy h2 {
    max-width: 24ch
  }
  .pricing-grid {
    grid-template-columns: 1fr;
    gap: 3rem
  }
  .pricing-copy {
    max-width: 44rem
  }
  .price-card {
    width: min(100%,38rem)
  }
}
@media (width<=47.99rem) {
  :root {
    --section-title-size: clamp(2.25rem, 9.5vw, 3.5rem);
    --section-space: 4rem;
    --header-offset: 8.5rem;
    --gutter: 1rem
  }
  .nav {
    gap: .75rem;
    min-height: 4.5rem
  }
  .brand-lockup img {
    width: 6rem;
    height: calc(6rem * 86 / 320)
  }
  .nav-cta {
    padding-inline: .75rem
  }
  .nav-cta-desktop {
    display: none
  }
  .nav-cta-mobile {
    display: inline
  }
  .hero-grid {
    gap: 2.5rem;
    padding-block: 3.25rem
  }
  .hero h1 {
    font-size: clamp(2.75rem,12vw,5rem)
  }
  .hero-lede {
    margin-block: 1.5rem
  }
  .hero-actions {
    grid-template-columns: 1fr;
    justify-items: start;
    gap: .5rem;
    display: grid
  }
  .hero-actions .button {
    width: 100%
  }
  .hero-proof {
    gap: .75rem;
    margin-top: 1.75rem
  }
  .leak-grid {
    margin-top: 2.5rem
  }
  .leak-grid article {
    padding: 1.25rem
  }
  .leak-grid h3 {
    line-height: 1.4
  }
  .problem-payoff {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 2rem
  }
  .problem-payoff .text-link {
    grid-column: 1
  }
  .contractor-copy h2 {
    font-size: var(--section-title-size)
  }
  .service-grid {
    grid-template-columns: 1fr;
    margin-top: 2rem
  }
  .service-grid article {
    border-right: 0;
    border-bottom: 1px solid var(--border);
    padding: 1.5rem 0
  }
  .service-grid article:last-child {
    border-bottom: 0
  }
  .trial-steps {
    grid-template-columns: 1fr
  }
  .trial-steps li {
    border-right: 0;
    border-bottom: 1px solid var(--border);
    grid-template-columns: 1.5rem minmax(0,1fr);
    gap: .75rem;
    padding: 1.25rem 0;
    display: grid
  }
  .trial-steps li:last-child {
    border-bottom: 0
  }
  .trial-steps small {
    padding-top: .3rem
  }
  .trial-steps p {
    font-size: var(--body-size)
  }
  .price-card {
    padding: 1.5rem
  }
  .footer-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 2.5rem 1rem
  }
  .footer-grid>div:first-child {
    grid-column: 1/-1
  }
  .footer-bottom {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: .5rem;
    padding-block: 1.25rem
  }
}
@media (width<=22rem) {
  .leak-grid {
    grid-template-columns: 1fr
  }
  .leak-grid article {
    border-right: 0;
    border-bottom: 1px solid var(--border);
    padding: 1.25rem 0
  }
  .leak-grid article:last-child {
    border-bottom: 0
  }
  .leak-grid p {
    max-width: none
  }
}
@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto
  }
  .hero h1,.hero-lede,.hero-actions,.hero-proof {
    animation: none
  }
  .button,.nav-cta,.theme-toggle,.theme-toggle-glyph,.nav-links a {
    transition: none
  }
}
::selection {
  background: var(--text-primary);
  color: var(--canvas)
}
button,input {
  caret-color: var(--text-primary)
}
.hero-connected-record {
  box-shadow: none;
  padding: 1.4rem
}
.hero-record-phases {
  grid-template-columns: repeat(2,minmax(0,1fr));
  display: grid
}
.hero-record-phase {
  border-bottom: 1px solid var(--border);
  grid-template-columns: 1.15rem minmax(0,1fr) auto;
  align-items: center;
  gap: .65rem;
  min-width: 0;
  min-height: 6.1rem;
  padding: 1rem .4rem;
  display: grid
}
.hero-record-phase:nth-child(odd) {
  padding-right: 1rem
}
.hero-record-phase:nth-child(2n) {
  border-left: 1px solid var(--border);
  padding-left: 1rem
}
.hero-record-phase>small {
  color: var(--text-tertiary);
  font: var(--caption-size) var(--font-geist-mono), monospace;
  align-self: start;
  margin-top: .25rem
}
.hero-record-phase>span {
  flex-direction: column;
  gap: .35rem;
  display: flex
}
.hero-record-phase strong {
  font-size: var(--detail-size);
  font-weight: 550
}
.hero-record-phase span small {
  color: var(--text-tertiary);
  font-size: var(--caption-size);
  line-height: 1.5
}
.hero-record-phase svg {
  width: .85rem;
  height: .85rem;
  color: var(--text-tertiary)
}
.hero-record-footer {
  font-size: var(--detail-size);
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding-top: .6rem;
  display: flex
}
.hero-record-footer>span,.hero-record-footer a {
  align-items: center;
  gap: .5rem;
  display: inline-flex
}
.hero-record-footer>span {
  color: var(--text-secondary)
}
.hero-record-footer svg {
  width: 1rem;
  height: 1rem
}
.hero-record-footer a {
  white-space: nowrap;
  min-height: 2.75rem
}
.hero-record-footer a:hover {
  text-underline-offset: .25rem;
  text-decoration: underline
}
.lineage-note {
  color: var(--text-tertiary);
  letter-spacing: 0;
  line-height: 1.5;
  font-family: var(--font-geist-sans), sans-serif;
  font-size: var(--caption-size);
  margin: .75rem .15rem 0
}
.walkthrough-invitation {
  color: var(--text-secondary);
  font-size: var(--detail-size);
  align-items: center;
  gap: .65rem;
  margin: 2.75rem 0 1rem;
  display: flex
}
.walkthrough-invitation svg {
  width: 1rem;
  height: 1rem
}
.workflow-experience {
  border: 1px solid var(--border-strong);
  background: var(--surface-1);
  border-radius: 1rem;
  min-width: 0;
  overflow: hidden
}
.experience-header {
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-height: 4rem;
  padding: 1rem 1.5rem;
  display: flex
}
.experience-header>span:last-child {
  color: var(--text-tertiary);
  font-size: var(--detail-size)
}
.example-label {
  font-size: var(--detail-size);
  align-items: center;
  gap: .7rem;
  font-weight: 550;
  display: flex
}
.example-label svg {
  width: 1.15rem;
  height: 1.15rem
}
.experience-stages {
  border-bottom: 1px solid var(--border);
  background: var(--canvas-alt);
  grid-template-columns: repeat(6,minmax(0,1fr));
  display: grid
}
.experience-stages button {
  border: 0;
  border-right: 1px solid var(--border);
  min-width: 0;
  min-height: 5rem;
  color: var(--text-tertiary);
  text-align: left;
  cursor: pointer;
  transition: background .25s var(--ease-out), color .25s var(--ease-out);
  background: 0 0;
  grid-template-columns: 1fr auto;
  align-content: center;
  gap: .5rem;
  padding: .9rem 1.1rem;
  display: grid;
  position: relative
}
.experience-stages button:last-child {
  border-right: 0
}
.experience-stages button small {
  font: var(--caption-size) var(--font-geist-mono), monospace;
  grid-column: 1/-1
}
.experience-stages button span {
  font-size: var(--detail-size);
  font-weight: 550
}
.experience-stages button svg {
  width: 1rem;
  height: 1rem
}
.experience-stages button:hover,.experience-stages button[aria-selected=true] {
  color: var(--text-primary);
  background: var(--surface-2)
}
.experience-stages button:after {
  content: "";
  background: var(--text-primary);
  height: 2px;
  transition: transform .25s var(--ease-out);
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  transform: scaleX(0)
}
.experience-stages button[aria-selected=true]:after {
  transform: scaleX(1)
}
.experience-stages button:focus-visible {
  outline-offset: -5px
}
.experience-body {
  grid-template-columns: minmax(0,.83fr) minmax(0,1.17fr);
  display: grid
}
.stage-story {
  border-right: 1px solid var(--border);
  animation: experience-enter .3s var(--ease-out);
  flex-direction: column;
  align-items: flex-start;
  padding: 2.25rem;
  display: flex
}
.stage-copy {
  display: contents
}
.stage-story h3 {
  letter-spacing: -.03em;
  text-wrap: balance;
  max-width: 18ch;
  margin: 0 0 1.1rem;
  font-size: clamp(1.5rem,2.1vw,2rem);
  font-weight: 520;
  line-height: 1.15
}
.stage-copy>p {
  max-width: 48ch;
  color: var(--text-secondary);
  font-size: var(--body-size);
  text-wrap: pretty;
  margin: 0;
  line-height: 1.75
}
.stage-outputs {
  border-top: 1px solid var(--border);
  width: 100%;
  margin: 1.6rem 0;
  padding: 0;
  list-style: none
}
.stage-outputs li {
  border-bottom: 1px solid var(--border);
  color: var(--text-secondary);
  font-size: var(--detail-size);
  align-items: center;
  gap: .7rem;
  padding: .75rem 0;
  line-height: 1.5;
  display: flex
}
.stage-outputs svg {
  width: 1rem;
  height: 1rem;
  color: var(--text-primary)
}
.stage-copy>p.stage-benefit {
  font-size: var(--detail-size);
  color: var(--text-tertiary)
}
.demo-text-button {
  min-height: 2.75rem;
  color: var(--text-primary);
  font-size: var(--detail-size);
  cursor: pointer;
  background: 0 0;
  border: 0;
  align-items: center;
  gap: .7rem;
  padding: .6rem 0;
  font-weight: 550;
  display: inline-flex
}
.demo-text-button svg {
  width: 1rem;
  height: 1rem;
  transition: transform .2s var(--ease-out)
}
.demo-text-button:hover svg {
  transform: translate(.2rem)
}
.stage-story .demo-text-button {
  margin-top: auto;
  padding-top: 1.5rem
}
.building-explorer {
  background: var(--canvas-alt);
  flex-direction: column;
  min-width: 0;
  display: flex
}
.explorer-building {
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  padding: 1.1rem 1.5rem;
  display: flex
}
.explorer-building strong {
  font-size: var(--detail-size);
  align-items: center;
  gap: .55rem;
  font-weight: 550;
  display: flex
}
.explorer-building svg {
  width: 1rem;
  height: 1rem
}
.explorer-building>span {
  color: var(--text-tertiary);
  font-size: var(--detail-size)
}
.demo-breadcrumb {
  border-bottom: 1px solid var(--border);
  padding: .8rem 1.4rem
}
.demo-breadcrumb ol {
  flex-wrap: wrap;
  gap: 0 .4rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex
}
.demo-breadcrumb li {
  min-width: 0;
  font-size: var(--detail-size);
  animation: crumb-enter .25s var(--ease-out);
  align-items: center;
  gap: .4rem;
  display: flex
}
.demo-breadcrumb li>svg {
  width: .75rem;
  height: .75rem;
  color: var(--text-tertiary)
}
.demo-breadcrumb button {
  overflow-wrap: anywhere;
  min-height: 2.75rem;
  color: var(--text-tertiary);
  text-align: left;
  cursor: pointer;
  background: 0 0;
  border: 0;
  border-radius: .2rem;
  padding: .25rem .15rem
}
.demo-breadcrumb button:hover {
  color: var(--text-primary);
  text-underline-offset: .25rem;
  text-decoration: underline
}
.demo-breadcrumb [aria-current=page] {
  min-height: 2.75rem;
  color: var(--text-primary);
  overflow-wrap: anywhere;
  align-items: center;
  display: flex
}
.explorer-content {
  flex: 1;
  min-height: 18rem;
  padding: 1.5rem
}
.explorer-content h4 {
  margin: 0 0 .5rem;
  font-size: .95rem;
  font-weight: 550;
  line-height: 1.45
}
.explorer-content h4:focus {
  outline: none
}
.explorer-hint {
  max-width: 60ch;
  color: var(--text-tertiary);
  font-size: var(--detail-size);
  margin: 0 0 1rem;
  line-height: 1.65
}
.explorer-rows {
  border-top: 1px solid var(--border)
}
.explorer-row {
  border: 0;
  border-bottom: 1px solid var(--border);
  width: 100%;
  min-height: 4.15rem;
  color: var(--text-primary);
  text-align: left;
  cursor: pointer;
  transition: background .2s var(--ease-out);
  background: 0 0;
  grid-template-columns: 1.2rem minmax(0,1fr) 1rem;
  align-items: center;
  gap: .9rem;
  padding: .8rem .6rem;
  display: grid
}
.explorer-row:hover {
  background: var(--surface-2)
}
.explorer-row>svg {
  width: 1.1rem;
  height: 1.1rem;
  color: var(--text-tertiary)
}
.explorer-row>svg:last-child {
  width: .85rem;
  height: .85rem;
  transition: transform .2s var(--ease-out)
}
.explorer-row:hover>svg:last-child {
  color: var(--text-primary);
  transform: translate(.15rem)
}
.explorer-row>span {
  flex-direction: column;
  gap: .25rem;
  display: flex
}
.explorer-row strong {
  font-size: var(--detail-size);
  font-weight: 550;
  line-height: 1.5
}
.explorer-row small {
  color: var(--text-tertiary);
  font-size: var(--caption-size);
  line-height: 1.5
}
.shared-record {
  border-top: 1px solid var(--border);
  background: var(--surface-1);
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin: 0;
  display: grid
}
.shared-record>div {
  border-right: 1px solid var(--border);
  min-width: 0;
  padding: 1rem
}
.shared-record>div:last-child {
  border-right: 0
}
.shared-record dt {
  color: var(--text-tertiary);
  font-size: var(--caption-size)
}
.shared-record dd {
  font: 500 var(--detail-size) var(--font-geist-mono), monospace;
  font-variant-numeric: tabular-nums;
  animation: experience-enter .3s var(--ease-out);
  margin: .3rem 0 0
}
.explorer-footer {
  border-top: 1px solid var(--border);
  min-height: 3.5rem;
  color: var(--text-secondary);
  font-size: var(--caption-size);
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  padding: .5rem 1.1rem;
  display: flex
}
.explorer-footer>.status-dot {
  width: .3rem;
  height: .3rem
}
.explorer-footer a {
  min-height: 2.75rem;
  color: var(--text-primary);
  align-items: center;
  gap: .4rem;
  margin-left: auto;
  display: flex
}
.explorer-footer a svg {
  width: .9rem;
  height: .9rem
}
.explorer-footer a:hover {
  text-underline-offset: .25rem;
  text-decoration: underline
}
.point-detail {
  padding-top: 1rem
}
.point-properties {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1.2rem;
  display: grid
}
.point-properties>span {
  flex-direction: column;
  gap: .4rem;
  display: flex
}
.point-properties small {
  color: var(--text-tertiary);
  font-size: var(--caption-size)
}
.point-properties b {
  overflow-wrap: anywhere;
  font: 500 var(--detail-size) var(--font-geist-mono), monospace
}
.point-context {
  border-top: 1px solid var(--border);
  animation: experience-enter .25s var(--ease-out);
  align-items: flex-start;
  gap: .75rem;
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  display: flex
}
.point-context>svg {
  width: 1.1rem;
  height: 1.1rem;
  color: var(--text-secondary)
}
.point-context strong {
  font-size: var(--detail-size);
  font-weight: 550
}
.point-context p {
  color: var(--text-secondary);
  font-size: var(--detail-size);
  margin: .4rem 0 0;
  line-height: 1.7
}
.experience-note {
  overflow-wrap: anywhere;
  border-top: 1px solid var(--border);
  color: var(--text-tertiary);
  font-size: var(--caption-size);
  margin: 0;
  padding: 1rem 1.5rem;
  line-height: 1.7
}
.workflow-depth {
  grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  gap: 5rem;
  margin-top: 5rem;
  display: grid
}
.workflow-depth-intro h3 {
  letter-spacing: -.03em;
  margin: 0 0 1rem;
  font-size: clamp(1.75rem,2.5vw,2.75rem);
  font-weight: 520;
  line-height: 1.1
}
.workflow-depth-intro p {
  max-width: 43ch;
  color: var(--text-secondary);
  font-size: var(--body-size);
  margin: 0;
  line-height: 1.8
}
.workflow-details {
  border-top: 1px solid var(--border-strong)
}
.workflow-details details {
  border-bottom: 1px solid var(--border)
}
.workflow-details summary {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
  padding: 1.3rem .1rem;
  list-style: none;
  display: flex
}
.workflow-details summary::-webkit-details-marker {
  display: none
}
.workflow-details summary>span {
  flex-direction: column;
  gap: .4rem;
  display: flex
}
.workflow-details summary strong {
  font-size: var(--detail-size);
  font-weight: 550
}
.workflow-details summary small {
  color: var(--text-tertiary);
  font-size: var(--detail-size);
  line-height: 1.5
}
.workflow-details summary svg {
  width: 1rem;
  height: 1rem;
  transition: transform .25s var(--ease-out)
}
.workflow-details summary:hover {
  color: var(--text-secondary)
}
.workflow-details details[open] summary svg {
  transform: rotate(45deg)
}
.workflow-details details>p {
  max-width: 70ch;
  color: var(--text-secondary);
  font-size: var(--body-size);
  margin: 0;
  padding: 0 2rem 1.5rem .1rem;
  line-height: 1.85
}
.connected-feature-row {
  min-height: 40rem
}
.connected-feature-row h3 span {
  color: var(--text-tertiary)
}
.connected-feature-row .feature-copy {
  padding-block: 5.5rem
}
.connected-feature-row .feature-copy h3 {
  max-width: 14ch;
  font-size: clamp(2.6rem,3.5vw,3.7rem)
}
.connected-feature-row .feature-copy li {
  align-items: flex-start;
  line-height: 1.65
}
.connected-feature-row .feature-copy li svg {
  width: 1rem;
  height: 1rem;
  margin-top: .1rem
}
.connected-feature-row .connected-return {
  font-size: var(--detail-size);
  margin-top: 1.6rem
}
.connected-return svg {
  width: 1rem;
  height: 1rem
}
.feature-row .connected-canvas,.feature-row.reverse .connected-canvas {
  align-items: center;
  min-height: 0;
  padding: 3rem;
  display: flex;
  overflow: visible
}
.change-example,.retrofit-example {
  border: 1px solid var(--border-strong);
  background: var(--surface-1);
  border-radius: 1rem;
  width: 100%;
  min-width: 0;
  overflow: hidden
}
.mini-demo-header {
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  display: flex
}
.mini-demo-header strong {
  font-size: var(--detail-size);
  align-items: center;
  gap: .55rem;
  font-weight: 550;
  line-height: 1.5;
  display: flex
}
.mini-demo-header svg {
  width: 1rem;
  height: 1rem
}
.mini-demo-header>span {
  color: var(--text-tertiary);
  font-size: var(--caption-size);
  text-align: right;
  line-height: 1.5
}
.change-input {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  display: flex
}
.change-input>div {
  min-width: 0
}
.change-input small {
  color: var(--text-tertiary);
  font: var(--caption-size) var(--font-geist-mono), monospace
}
.change-input h4 {
  letter-spacing: -.02em;
  margin: .5rem 0;
  font-size: 1.15rem;
  font-weight: 520
}
.change-input p {
  color: var(--text-tertiary);
  font-size: var(--detail-size);
  margin: 0;
  line-height: 1.6
}
.demo-action {
  border: 1px solid var(--cta-bg);
  background: var(--cta-bg);
  min-height: 2.75rem;
  color: var(--cta-fg);
  font-size: var(--detail-size);
  cursor: pointer;
  transition: transform .2s var(--ease-out), opacity .2s var(--ease-out);
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  padding: .7rem 1rem;
  font-weight: 550;
  display: inline-flex
}
.demo-action svg {
  width: 1rem;
  height: 1rem
}
.demo-action:hover {
  transform: translateY(-1px)
}
.demo-action:active {
  transform: translateY(0)
}
.demo-action.is-added {
  background: var(--surface-2);
  color: var(--text-primary);
  border-color: var(--border-strong)
}
.sync-spine {
  align-items: center;
  gap: .75rem;
  padding: 0 1.5rem 1rem;
  display: flex
}
.sync-spine>span {
  background: var(--border-strong);
  flex: 1;
  height: 1px
}
.sync-spine b {
  font-size: var(--detail-size);
  letter-spacing: -.03em;
  font-weight: 550
}
.change-outputs {
  padding: 0 1.5rem
}
.change-output {
  border-bottom: 1px solid var(--border);
  min-height: 4.25rem;
  animation: sync-update .35s both var(--ease-out);
  grid-template-columns: 1rem minmax(0,1fr) minmax(6rem,.8fr);
  align-items: center;
  gap: .8rem;
  padding-block: .9rem;
  display: grid
}
.change-output svg {
  width: 1rem;
  height: 1rem;
  color: var(--text-tertiary)
}
.change-output>div {
  flex-direction: column;
  gap: .3rem;
  display: flex
}
.change-output strong {
  font-size: var(--detail-size);
  font-weight: 550;
  line-height: 1.5
}
.change-output small {
  color: var(--text-tertiary);
  font-size: var(--caption-size);
  line-height: 1.5
}
.change-output>b {
  font-size: var(--detail-size);
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 550;
  line-height: 1.5
}
.change-review {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .8rem;
  padding: 1.25rem 1.5rem;
  display: flex
}
.change-review>div {
  align-items: center;
  gap: .65rem;
  min-width: 0;
  display: flex
}
.change-review>div>svg {
  width: 1.1rem;
  height: 1.1rem
}
.change-review span {
  flex-direction: column;
  gap: .3rem;
  display: flex
}
.change-review strong {
  font-size: var(--detail-size);
  font-weight: 550
}
.change-review small {
  color: var(--text-tertiary);
  font-size: var(--caption-size);
  line-height: 1.5
}
.demo-secondary {
  border: 1px solid var(--border-strong);
  background: var(--surface-2);
  min-height: 2.75rem;
  color: var(--text-primary);
  font-size: var(--detail-size);
  cursor: pointer;
  border-radius: .4rem;
  padding: .6rem .8rem;
  font-weight: 550;
  transition: background .2s
}
.demo-secondary:hover:not(:disabled) {
  background: var(--surface-3)
}
.demo-secondary:disabled {
  color: var(--text-tertiary);
  cursor: default;
  background: 0 0
}
.mini-demo-foot {
  border-top: 1px solid var(--border);
  background: var(--canvas-alt);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  min-height: 3.7rem;
  padding: .5rem 1.25rem;
  display: flex
}
.mini-demo-foot>span {
  max-width: 33ch;
  color: var(--text-tertiary);
  font-size: var(--caption-size);
  line-height: 1.6
}
.demo-reset {
  min-height: 2.75rem;
  color: var(--text-secondary);
  font-size: var(--detail-size);
  cursor: pointer;
  white-space: nowrap;
  background: 0 0;
  border: 0;
  justify-content: center;
  align-items: center;
  gap: .4rem;
  padding: .5rem 0;
  display: inline-flex
}
.demo-reset svg {
  width: .85rem;
  height: .85rem
}
.demo-reset:hover {
  color: var(--text-primary)
}
.retrofit-tabs {
  border-bottom: 1px solid var(--border);
  background: var(--canvas-alt);
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .3rem;
  padding: .5rem .65rem;
  display: grid
}
.retrofit-tabs button {
  min-width: 0;
  min-height: 2.75rem;
  color: var(--text-secondary);
  font-size: var(--detail-size);
  cursor: pointer;
  transition: background .2s var(--ease-out), color .2s var(--ease-out);
  background: 0 0;
  border: 1px solid #0000;
  border-radius: .4rem;
  padding: .4rem;
  line-height: 1.5
}
.retrofit-tabs button[aria-selected=true] {
  background: var(--surface-2);
  border-color: var(--border);
  color: var(--text-primary)
}
.retrofit-tabs button:hover:not(:disabled) {
  color: var(--text-primary)
}
.retrofit-tabs button:disabled {
  opacity: .5;
  cursor: default
}
.retrofit-content {
  min-height: 23rem;
  padding: 1.5rem
}
.retrofit-view {
  animation: experience-enter .3s var(--ease-out)
}
.retrofit-heading {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  display: flex
}
.retrofit-heading h4 {
  letter-spacing: -.02em;
  margin: 0;
  font-size: 1.1rem;
  font-weight: 520
}
.retrofit-heading>span {
  color: var(--text-tertiary);
  font: var(--caption-size) var(--font-geist-mono), monospace
}
.retrofit-view>p {
  max-width: 58ch;
  color: var(--text-secondary);
  font-size: var(--body-size);
  margin: .7rem 0 1.5rem;
  line-height: 1.75
}
.snapshot-table {
  border-top: 1px solid var(--border)
}
.snapshot-row {
  border-bottom: 1px solid var(--border);
  min-height: 3.5rem;
  font-size: var(--detail-size);
  font-variant-numeric: tabular-nums;
  grid-template-columns: 1.1fr .9fr .4fr;
  align-items: center;
  gap: .75rem;
  display: grid
}
.snapshot-row strong {
  align-items: center;
  gap: .5rem;
  font-weight: 550;
  display: flex
}
.snapshot-row svg {
  width: 1rem;
  height: 1rem;
  color: var(--text-tertiary)
}
.snapshot-row>span {
  color: var(--text-secondary)
}
.snapshot-row>b {
  text-align: right;
  font-weight: 550
}
.snapshot-head {
  min-height: 2.5rem;
  font-size: var(--caption-size);
  color: var(--text-tertiary)
}
.snapshot-head>span:last-child {
  text-align: right
}
.snapshot-summary {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding-top: 1.4rem;
  display: flex
}
.snapshot-summary>span {
  color: var(--text-tertiary);
  font-size: var(--caption-size)
}
.imported-building {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  align-items: center;
  gap: .7rem;
  padding: 1rem 0;
  display: flex
}
.imported-building>div {
  flex-direction: column;
  gap: .4rem;
  display: flex
}
.imported-building strong {
  font-size: var(--detail-size);
  font-weight: 550
}
.imported-building span {
  color: var(--text-secondary);
  font: var(--caption-size) var(--font-geist-mono), monospace
}
.imported-building>svg:last-child {
  width: 1rem;
  height: 1rem;
  margin-left: auto
}
.retrofit-checks {
  color: var(--text-secondary);
  font-size: var(--detail-size);
  gap: .85rem;
  margin: 1.5rem 0;
  padding: 0;
  list-style: none;
  display: grid
}
.retrofit-checks li {
  align-items: flex-start;
  gap: .6rem;
  line-height: 1.5;
  display: flex
}
.retrofit-checks svg {
  width: 1rem;
  height: 1rem
}
.retrofit-design-actions {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .8rem;
  display: flex
}
.retrofit-design-actions .demo-text-button {
  font-size: var(--detail-size)
}
.building-history {
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none
}
.building-history li {
  grid-template-columns: .6rem 1fr;
  gap: .85rem;
  padding-bottom: 1.25rem;
  display: grid;
  position: relative
}
.building-history li:before {
  content: "";
  background: var(--border-strong);
  width: 1px;
  position: absolute;
  top: .35rem;
  bottom: -.35rem;
  left: .21rem
}
.building-history li:last-child:before {
  display: none
}
.history-dot {
  z-index: 1;
  border: 1px solid var(--text-tertiary);
  background: var(--surface-1);
  border-radius: 50%;
  width: .5rem;
  height: .5rem;
  margin-top: .3rem;
  position: relative
}
.building-history strong {
  font-size: var(--detail-size);
  font-weight: 550
}
.building-history p {
  color: var(--text-secondary);
  font-size: var(--caption-size);
  margin: .35rem 0;
  line-height: 1.6
}
.building-history small {
  color: var(--text-tertiary);
  font-size: var(--caption-size);
  line-height: 1.5
}
.retrofit-view p.history-example {
  font-size: var(--caption-size);
  color: var(--text-tertiary);
  margin: .5rem 0 0
}
.workflow-experience,.change-example,.retrofit-example {
  scrollbar-color: var(--border-strong) transparent
}
@keyframes experience-enter {
  0% {
    opacity: .8;
    transform: translateY(.25rem)
  }
  to {
    opacity: 1;
    transform: translateY(0)
  }
}
@keyframes crumb-enter {
  0% {
    opacity: .8;
    filter: blur(2px);
    transform: translate(-.3rem)
  }
  to {
    opacity: 1;
    filter: blur();
    transform: translate(0)
  }
}
@keyframes sync-update {
  0% {
    opacity: .75;
    background: var(--surface-2)
  }
  to {
    opacity: 1;
    background: 0 0
  }
}
@media (width<=74rem) {
  .stage-story {
    padding: 1.6rem
  }
  .experience-body {
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr)
  }
  .experience-stages button {
    padding-inline: .85rem
  }
  .experience-stages button span {
    font-size: var(--detail-size)
  }
  .feature-row .connected-canvas,.feature-row.reverse .connected-canvas {
    padding: 2rem
  }
  .workflow-depth {
    gap: 3rem
  }
  .hero-record-phase {
    grid-template-columns: 1rem minmax(0,1fr)
  }
  .hero-record-phase>svg {
    display: none
  }
}
@media (width<=61.99rem) {
  .hero-grid {
    grid-template-columns: 1fr
  }
  .hero h1 {
    font-size: clamp(4rem,10vw,6rem)
  }
  .hero-connected-record {
    max-width: 48rem
  }
  .experience-body {
    grid-template-columns: 1fr
  }
  .experience-stages button>svg {
    display: none
  }
  .experience-stages button {
    grid-template-columns: 1fr
  }
  .stage-story {
    border-right: 0;
    border-bottom: 1px solid var(--border);
    padding: 1.75rem
  }
  .stage-story h3 {
    max-width: 28ch;
    font-size: 1.75rem
  }
  .stage-copy>p {
    max-width: 70ch
  }
  .stage-outputs {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 1rem;
    display: grid
  }
  .stage-story .demo-text-button {
    padding-top: 1rem
  }
  .explorer-content {
    min-height: 15rem
  }
  .workflow-depth {
    grid-template-columns: 1fr
  }
  .workflow-depth-intro {
    max-width: 40rem
  }
  .workflow-depth-intro p {
    max-width: 65ch
  }
  .connected-feature-row,.connected-feature-row.reverse {
    min-height: 0
  }
  .connected-feature-row .feature-copy,.feature-row.reverse.connected-feature-row .feature-copy {
    padding: 5rem 0 3rem
  }
  .feature-row .connected-canvas,.feature-row.reverse .connected-canvas {
    justify-content: center;
    min-height: 0;
    padding: 2rem
  }
  .change-example,.retrofit-example {
    max-width: 42rem
  }
}
@media (width<=47.99rem) {
  .hero h1 {
    font-size: clamp(2.75rem,12vw,5rem)
  }
  .hero-connected-record {
    padding: 1rem
  }
  .hero-record-phase {
    gap: .4rem;
    min-height: 6rem
  }
  .hero-record-phase:nth-child(odd) {
    padding-right: .6rem
  }
  .hero-record-phase:nth-child(2n) {
    padding-left: .7rem
  }
  .hero-record-phase strong {
    font-size: var(--detail-size)
  }
  .hero-record-phase span small {
    font-size: var(--caption-size)
  }
  .hero-record-footer {
    flex-wrap: wrap;
    gap: .25rem .7rem
  }
  .hero-record-footer>span {
    font-size: var(--caption-size)
  }
  .hero-record-footer a {
    margin-left: auto
  }
  .hero-proof {
    gap: .75rem
  }
  .hero-actions {
    grid-template-columns: 1fr;
    justify-items: start
  }
  .hero-actions .text-link {
    justify-content: flex-start
  }
  .hero-actions .button {
    width: 100%
  }
  .platform-experience-container {
    padding-block: var(--section-space)
  }
  .walkthrough-invitation {
    line-height: 1.6;
    font-size: var(--detail-size);
    align-items: flex-start;
    margin-top: 2rem
  }
  .walkthrough-invitation svg {
    margin-top: .2rem
  }
  .experience-header {
    flex-direction: column;
    align-items: flex-start;
    gap: .4rem;
    padding: 1rem
  }
  .experience-header>span:last-child {
    font-size: var(--caption-size)
  }
  .experience-stages {
    grid-template-columns: repeat(3,minmax(0,1fr))
  }
  .experience-stages button {
    grid-template-columns: 1fr;
    min-height: 4.25rem;
    padding: .65rem .5rem
  }
  .experience-stages button:nth-child(3) {
    border-right: 0
  }
  .experience-stages button:nth-child(-n+3) {
    border-bottom: 1px solid var(--border)
  }
  .experience-stages button span {
    font-size: var(--detail-size)
  }
  .experience-stages button>svg {
    display: none
  }
  .stage-story {
    padding: 1.5rem 1rem
  }
  .stage-story h3 {
    font-size: 1.6rem
  }
  .stage-copy>p {
    font-size: var(--body-size)
  }
  .stage-outputs {
    margin: 1.25rem 0;
    display: block
  }
  .stage-outputs li {
    font-size: var(--detail-size)
  }
  .explorer-building {
    padding: 1rem
  }
  .demo-breadcrumb {
    padding: .5rem .9rem
  }
  .demo-breadcrumb li {
    font-size: var(--detail-size)
  }
  .explorer-content {
    min-height: 13rem;
    padding: 1.25rem 1rem
  }
  .explorer-row {
    gap: .65rem;
    padding-inline: .25rem
  }
  .explorer-row strong {
    font-size: var(--detail-size)
  }
  .shared-record>div {
    padding: .85rem .6rem
  }
  .shared-record dt {
    font-size: var(--caption-size)
  }
  .shared-record dd {
    font-size: var(--detail-size)
  }
  .explorer-footer {
    font-size: var(--caption-size);
    padding-inline: 1rem
  }
  .experience-note {
    font-size: var(--caption-size);
    padding: .9rem 1rem
  }
  .workflow-depth {
    gap: 2rem;
    margin-top: 3.5rem
  }
  .workflow-details summary small {
    font-size: var(--detail-size)
  }
  .workflow-details details>p {
    font-size: var(--body-size);
    padding-right: .1rem
  }
  .feature-row .connected-canvas,.feature-row.reverse .connected-canvas {
    padding: 1.5rem 0
  }
  .connected-feature-row .feature-copy,.feature-row.reverse.connected-feature-row .feature-copy {
    padding: 4rem 0 2.5rem
  }
  .connected-feature-row .feature-copy h3 {
    font-size: var(--section-title-size)
  }
  .mini-demo-header {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: .6rem;
    padding: 1rem
  }
  .mini-demo-header strong {
    font-size: var(--detail-size)
  }
  .mini-demo-header>span {
    font-size: var(--caption-size)
  }
  .change-input {
    padding: 1.25rem 1rem
  }
  .change-input h4 {
    font-size: 1.05rem
  }
  .sync-spine,.change-outputs {
    padding-inline: 1rem
  }
  .change-output {
    grid-template-columns: 1rem minmax(0,1fr);
    gap: .5rem .75rem
  }
  .change-output>b {
    text-align: left;
    grid-column: 2
  }
  .change-output strong {
    font-size: var(--detail-size)
  }
  .change-output small {
    font-size: var(--caption-size)
  }
  .change-output>b {
    font-size: var(--detail-size)
  }
  .change-review {
    padding: 1.1rem 1rem
  }
  .change-review small {
    max-width: 31ch
  }
  .mini-demo-foot {
    padding-inline: 1rem
  }
  .mini-demo-foot>span {
    font-size: var(--caption-size)
  }
  .demo-reset {
    font-size: var(--detail-size)
  }
  .retrofit-content {
    min-height: 0;
    padding: 1.25rem 1rem
  }
  .retrofit-tabs {
    gap: .2rem;
    padding-inline: .4rem
  }
  .retrofit-tabs button {
    font-size: var(--detail-size)
  }
  .retrofit-heading h4 {
    font-size: 1rem
  }
  .snapshot-row {
    font-size: var(--detail-size);
    gap: .5rem
  }
  .snapshot-row strong {
    gap: .35rem
  }
  .snapshot-row svg {
    width: .85rem;
    height: .85rem
  }
  .snapshot-summary .demo-action {
    width: 100%
  }
  .imported-building span {
    font-size: var(--caption-size)
  }
}
@media (width<=35rem) {
  .shared-record {
    grid-template-columns: repeat(2,minmax(0,1fr))
  }
  .shared-record>div:nth-child(-n+2) {
    border-bottom: 1px solid var(--border)
  }
  .shared-record>div:nth-child(2) {
    border-right: 0
  }
  .snapshot-row {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto
  }
  .mini-demo-foot>span {
    flex-basis: 100%;
    max-width: none
  }
  .hero-proof {
    grid-template-columns: 1fr;
    gap: .8rem
  }
  .hero-proof span {
    grid-template-columns: 6.5rem minmax(0,1fr);
    align-items: start;
    gap: .6rem;
    display: grid
  }
}
@media (width<=22rem) {
  .experience-stages button {
    padding-inline: .5rem
  }
  .experience-stages button>svg {
    display: none
  }
  .experience-stages button span {
    font-size: var(--detail-size)
  }
  .mini-demo-header {
    flex-direction: column;
    align-items: flex-start
  }
  .mini-demo-foot {
    flex-direction: column;
    align-items: flex-start;
    gap: .1rem;
    padding-block: .75rem
  }
  .change-output {
    grid-template-columns: .85rem minmax(0,1fr)
  }
  .change-output>b {
    text-align: left;
    grid-column: 2
  }
}
@media (prefers-reduced-motion:reduce) {
  .stage-story,.retrofit-view,.demo-breadcrumb li,.point-context,.shared-record dd,.change-output {
    animation: none
  }
  .experience-stages button,.experience-stages button:after,.demo-text-button svg,.demo-action,.explorer-row,.explorer-row>svg,.workflow-details summary svg,.retrofit-tabs button {
    transition: none
  }
}
@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
}
/* cyrillic-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/geist-ff2310f5.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/geist-875ccdd4.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/geist-52306abf.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/geist-001175b1.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/geist-98bbbccb.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.__font_geist_19mdgy8 {
  font-family: 'Geist', sans-serif;
}
.__variable_geist_19mdgy8 {
  --font-geist-sans: 'Geist', sans-serif;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/geist-mono-f6b33328.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/geist-mono-44e03052.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* symbols2 */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/geist-mono-0638449e.woff2') format('woff2');
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}
/* vietnamese */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/geist-mono-971fb274.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/geist-mono-44745446.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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;
}
/* latin */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/geist-mono-013b2f2f.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.__font_geist_mono_191pss9 {
  font-family: 'Geist Mono', sans-serif;
}
.__variable_geist_mono_191pss9 {
  --font-geist-mono: 'Geist Mono', sans-serif;
}
.legal-page {
  padding-block: clamp(3rem, 6vw, 5rem) clamp(4rem, 8vw, 6rem)
}
.legal-wrap {
  width: min(52rem, 100%)
}
.legal-kicker {
  color: var(--text-tertiary);
  font: var(--caption-size) var(--font-geist-mono), monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0 0 .75rem
}
.legal-page h1 {
  letter-spacing: -.04em;
  margin: 0;
  font-size: clamp(2.25rem, 4vw, 3.25rem);
  font-weight: 520;
  line-height: 1.05
}
.legal-document {
  color: var(--text-secondary);
  font-size: var(--detail-size);
  line-height: 1.75;
  margin-top: 2.5rem;
  overflow-wrap: break-word
}
.legal-document div,
.legal-document p {
  margin: 0 0 .75rem
}
.legal-document div:empty,
.legal-document p:empty {
  display: none;
  margin: 0
}
.legal-document [data-custom-class="heading_1"],
.legal-document div[id]>strong:only-child {
  color: var(--text-primary);
  font-size: 1.125rem;
  font-weight: 560;
  letter-spacing: -.02em;
  line-height: 1.35;
  margin: 2rem 0 .75rem
}
.legal-document [data-custom-class="heading_2"] {
  color: var(--text-primary);
  font-size: 1rem;
  font-weight: 560;
  line-height: 1.4;
  margin: 1.5rem 0 .5rem
}
.legal-document [data-custom-class="subtitle"] {
  color: var(--text-tertiary);
  font-size: var(--caption-size);
  margin-bottom: 1.25rem
}
.legal-document strong {
  color: var(--text-primary);
  font-weight: 560
}
.legal-document a {
  color: var(--text-primary);
  text-decoration: underline;
  text-underline-offset: .15em
}
.legal-document a:hover {
  color: var(--text-secondary)
}
.legal-document ul {
  list-style: disc;
  margin: 0 0 1rem;
  padding-left: 1.25rem
}
.legal-document li {
  margin-bottom: .4rem
}
.legal-document table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: var(--caption-size)
}
.legal-document td,
.legal-document th {
  border: 1px solid var(--border);
  padding: .75rem .85rem;
  vertical-align: top;
  overflow-wrap: normal;
  word-break: normal
}
.legal-document td:last-child,
.legal-document th:last-child {
  white-space: nowrap;
  width: 6.5rem
}
.legal-document td div,
.legal-document th div {
  margin: 0
}
.legal-document .legal-address {
  color: var(--text-primary);
  margin: .5rem 0 .75rem;
  line-height: 1.6
}
@media (width<=47.99rem) {
  .legal-document table {
    display: block;
    max-width: 100%;
    overflow-x: auto
  }
}
.faq-list {
  margin-top: 3rem
}
.faq-list summary h3 {
  margin: 0;
  font-size: var(--body-size);
  font-weight: 550;
  line-height: 1.5
}
.faq-list summary svg {
  flex: none
}
.not-found-page {
  padding-block: clamp(4rem, 10vw, 8rem)
}
.not-found-page h1 {
  letter-spacing: -.04em;
  margin: 0;
  font-size: clamp(2.25rem, 4vw, 3.25rem);
  font-weight: 520;
  line-height: 1.05
}
.not-found-page p:not(.legal-kicker) {
  max-width: 55ch;
  color: var(--text-secondary);
  font-size: var(--body-size);
  line-height: 1.75;
  margin: 1.25rem 0 2rem
}
.not-found-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  align-items: center
}
@media (width<=47.99rem) {
  .faq-list {
    margin-top: 2rem
  }
}

