@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-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-pan-x: initial;
      --tw-pan-y: initial;
      --tw-pinch-zoom: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-divide-x-reverse: 0;
      --tw-border-style: solid;
      --tw-divide-y-reverse: 0;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
    }
  }
}
@layer theme {
  :root,
  :host {
    --font-serif: var(--font-serif);
    --font-mono: var(--font-mono);
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --text-sm--line-height: calc(1.25/0.875);
    --text-base--line-height: 1.5;
    --text-lg--line-height: calc(1.75/1.125);
    --text-xl--line-height: calc(1.75/1.25);
    --text-2xl--line-height: calc(2/1.5);
    --text-4xl--line-height: calc(2.5/2.25);
    --text-6xl--line-height: 1;
    --text-7xl--line-height: 1;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --tracking-tight: -0.025em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-md: 0.375rem;
    --ease-in: cubic-bezier(0.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --blur-sm: 8px;
    --default-transition-duration: 0.15s;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-body);
    --default-mono-font-family: var(--font-mono);
    --radius-button: var(--radius-button, var(--radius));
    --radius-card: var(--radius-card, var(--radius));
    --radius-input: var(--radius-input, var(--radius));
    --font-heading: var(--font-heading);
    --font-body: var(--font-body);
    --font-eyebrow: var(--font-eyebrow, var(--font-body));
    --font-button: var(--font-button, var(--font-body));
  }
}
@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;
    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: -0.25em;
  }
  sup {
    top: -0.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;
  }
  * {
    border-color: var(--border);
    outline-color: var(--ring);
  }
  @supports (color: color-mix(in lab, red, red)) {
    * {
      outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }
  html {
    scroll-behavior: smooth;
  }
  body {
    background-color: var(--ploy-background-primary);
    color: var(--ploy-text-primary);
    font-family: var(--font-body);
    font-weight: var(--font-body-weight);
    letter-spacing: var(--font-body-letter-spacing);
    line-height: var(--font-body-line-height);
  }
  .typography-heading {
    font-weight: var(--font-heading-weight);
    letter-spacing: var(--font-heading-letter-spacing);
    line-height: var(--font-heading-line-height);
  }
  .typography-body {
    font-weight: var(--font-body-weight);
    letter-spacing: var(--font-body-letter-spacing);
    line-height: var(--font-body-line-height);
  }
  .typography-eyebrow {
    font-weight: var(--font-eyebrow-weight);
    letter-spacing: var(--font-eyebrow-letter-spacing);
    line-height: var(--font-eyebrow-line-height);
  }
  .typography-button {
    font-weight: var(--font-button-weight);
    letter-spacing: var(--font-button-letter-spacing);
    line-height: var(--font-button-line-height);
  }
}
@layer components;
@layer utilities {
  .collapse {
    visibility: collapse;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }
  .not-sr-only {
    clip-path: none;
    white-space: normal;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    position: static;
    overflow: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .-inset-1 {
    inset: calc(var(--spacing) * -1);
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .isolate {
    isolation: isolate;
  }
  .isolation-auto {
    isolation: auto;
  }
  .z-50 {
    z-index: 50;
  }
  .\!container {
    width: 100% !important;
  }
  @media (min-width: 40rem) {
    .\!container {
      max-width: 40rem !important;
    }
  }
  @media (min-width: 48rem) {
    .\!container {
      max-width: 48rem !important;
    }
  }
  @media (min-width: 64rem) {
    .\!container {
      max-width: 64rem !important;
    }
  }
  @media (min-width: 80rem) {
    .\!container {
      max-width: 80rem !important;
    }
  }
  @media (min-width: 96rem) {
    .\!container {
      max-width: 96rem !important;
    }
  }
  .container {
    width: 100%;
  }
  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }
  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }
  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }
  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }
  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }
  .mx-1 {
    margin-inline: calc(var(--spacing) * 1);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .prose {
    color: var(--tw-prose-body);
    max-width: 65ch;
  }
  .prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
  }
  .prose
    :where([class~="lead"]):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    color: var(--tw-prose-lead);
    margin-top: 1.2em;
    margin-bottom: 1.2em;
    font-size: 1.25em;
    line-height: 1.6;
  }
  .prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-links);
    font-weight: 500;
    text-decoration: underline;
  }
  .prose
    :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-bold);
    font-weight: 600;
  }
  .prose
    :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)),
  .prose
    :where(blockquote strong):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ),
  .prose
    :where(thead th strong):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    color: inherit;
  }
  .prose :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    padding-inline-start: 1.625em;
    list-style-type: decimal;
  }
  .prose
    :where(ol[type="A"]):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    list-style-type: upper-alpha;
  }
  .prose
    :where(ol[type="a"]):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    list-style-type: lower-alpha;
  }
  .prose
    :where(ol[type="A" s]):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    list-style-type: upper-alpha;
  }
  .prose
    :where(ol[type="a" s]):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    list-style-type: lower-alpha;
  }
  .prose
    :where(ol[type="I"]):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    list-style-type: upper-roman;
  }
  .prose
    :where(ol[type="i"]):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    list-style-type: lower-roman;
  }
  .prose
    :where(ol[type="I" s]):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    list-style-type: upper-roman;
  }
  .prose
    :where(ol[type="i" s]):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    list-style-type: lower-roman;
  }
  .prose
    :where(ol[type="1"]):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    list-style-type: decimal;
  }
  .prose :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    padding-inline-start: 1.625em;
    list-style-type: disc;
  }
  .prose
    :where(ol > li):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    )::marker {
    color: var(--tw-prose-counters);
    font-weight: 400;
  }
  .prose
    :where(ul > li):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    )::marker {
    color: var(--tw-prose-bullets);
  }
  .prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-headings);
    margin-top: 1.25em;
    font-weight: 600;
  }
  .prose :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    border-color: var(--tw-prose-hr);
    border-top-width: 1px;
    margin-top: 3em;
    margin-bottom: 3em;
  }
  .prose
    :where(blockquote):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    color: var(--tw-prose-quotes);
    border-inline-start-width: 0.25rem;
    border-inline-start-color: var(--tw-prose-quote-borders);
    quotes: "“" "”" "‘" "’";
    margin-top: 1.6em;
    margin-bottom: 1.6em;
    padding-inline-start: 1em;
    font-style: italic;
    font-weight: 500;
  }
  .prose
    :where(blockquote p:first-of-type):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ):before {
    content: open-quote;
  }
  .prose
    :where(blockquote p:last-of-type):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ):after {
    content: close-quote;
  }
  .prose :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-headings);
    margin-top: 0;
    margin-bottom: 0.888889em;
    font-size: 2.25em;
    font-weight: 800;
    line-height: 1.11111;
  }
  .prose
    :where(h1 strong):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    color: inherit;
    font-weight: 900;
  }
  .prose :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-headings);
    margin-top: 2em;
    margin-bottom: 1em;
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.33333;
  }
  .prose
    :where(h2 strong):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    color: inherit;
    font-weight: 800;
  }
  .prose :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-headings);
    margin-top: 1.6em;
    margin-bottom: 0.6em;
    font-size: 1.25em;
    font-weight: 600;
    line-height: 1.6;
  }
  .prose
    :where(h3 strong):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    color: inherit;
    font-weight: 700;
  }
  .prose :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-headings);
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    font-weight: 600;
    line-height: 1.5;
  }
  .prose
    :where(h4 strong):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    color: inherit;
    font-weight: 700;
  }
  .prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 2em;
    margin-bottom: 2em;
  }
  .prose
    :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 2em;
    margin-bottom: 2em;
    display: block;
  }
  .prose
    :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 2em;
    margin-bottom: 2em;
  }
  .prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-kbd);
    box-shadow:
      0 0 0 1px var(--tw-prose-kbd-shadows),
      0 3px 0 var(--tw-prose-kbd-shadows);
    padding-top: 0.1875em;
    padding-inline-end: 0.375em;
    padding-bottom: 0.1875em;
    border-radius: 0.3125rem;
    padding-inline-start: 0.375em;
    font-family: inherit;
    font-size: 0.875em;
    font-weight: 500;
  }
  .prose
    :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-code);
    font-size: 0.875em;
    font-weight: 600;
  }
  .prose
    :where(code):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ):before,
  .prose
    :where(code):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ):after {
    content: "`";
  }
  .prose
    :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)),
  .prose
    :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
  }
  .prose
    :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
    font-size: 0.875em;
  }
  .prose
    :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
    font-size: 0.9em;
  }
  .prose
    :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)),
  .prose
    :where(blockquote code):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ),
  .prose
    :where(thead th code):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    color: inherit;
  }
  .prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-pre-code);
    background-color: var(--tw-prose-pre-bg);
    padding-top: 0.857143em;
    padding-inline-end: 1.14286em;
    padding-bottom: 0.857143em;
    border-radius: 0.375rem;
    margin-top: 1.71429em;
    margin-bottom: 1.71429em;
    padding-inline-start: 1.14286em;
    font-size: 0.875em;
    font-weight: 400;
    line-height: 1.71429;
    overflow-x: auto;
  }
  .prose
    :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-weight: inherit;
    color: inherit;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
    background-color: #0000;
    border-width: 0;
    border-radius: 0;
    padding: 0;
  }
  .prose
    :where(pre code):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ):before,
  .prose
    :where(pre code):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ):after {
    content: none;
  }
  .prose
    :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    table-layout: auto;
    width: 100%;
    margin-top: 2em;
    margin-bottom: 2em;
    font-size: 0.875em;
    line-height: 1.71429;
  }
  .prose
    :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    border-bottom-width: 1px;
    border-bottom-color: var(--tw-prose-th-borders);
  }
  .prose
    :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-headings);
    vertical-align: bottom;
    padding-inline-end: 0.571429em;
    padding-bottom: 0.571429em;
    padding-inline-start: 0.571429em;
    font-weight: 600;
  }
  .prose
    :where(tbody tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    border-bottom-width: 1px;
    border-bottom-color: var(--tw-prose-td-borders);
  }
  .prose
    :where(tbody tr:last-child):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    border-bottom-width: 0;
  }
  .prose
    :where(tbody td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    vertical-align: baseline;
  }
  .prose
    :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    border-top-width: 1px;
    border-top-color: var(--tw-prose-th-borders);
  }
  .prose
    :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    vertical-align: top;
  }
  .prose
    :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    text-align: start;
  }
  .prose
    :where(figure > *):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    margin-top: 0;
    margin-bottom: 0;
  }
  .prose
    :where(figcaption):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    color: var(--tw-prose-captions);
    margin-top: 0.857143em;
    font-size: 0.875em;
    line-height: 1.42857;
  }
  .prose {
    --tw-prose-body: oklch(37.3% 0.034 259.733);
    --tw-prose-headings: oklch(21% 0.034 264.665);
    --tw-prose-lead: oklch(44.6% 0.03 256.802);
    --tw-prose-links: oklch(21% 0.034 264.665);
    --tw-prose-bold: oklch(21% 0.034 264.665);
    --tw-prose-counters: oklch(55.1% 0.027 264.364);
    --tw-prose-bullets: oklch(87.2% 0.01 258.338);
    --tw-prose-hr: oklch(92.8% 0.006 264.531);
    --tw-prose-quotes: oklch(21% 0.034 264.665);
    --tw-prose-quote-borders: oklch(92.8% 0.006 264.531);
    --tw-prose-captions: oklch(55.1% 0.027 264.364);
    --tw-prose-kbd: oklch(21% 0.034 264.665);
    --tw-prose-kbd-shadows: oklab(21% -0.00316127 -0.0338527/.1);
    --tw-prose-code: oklch(21% 0.034 264.665);
    --tw-prose-pre-code: oklch(92.8% 0.006 264.531);
    --tw-prose-pre-bg: oklch(27.8% 0.033 256.848);
    --tw-prose-th-borders: oklch(87.2% 0.01 258.338);
    --tw-prose-td-borders: oklch(92.8% 0.006 264.531);
    --tw-prose-invert-body: oklch(87.2% 0.01 258.338);
    --tw-prose-invert-headings: #fff;
    --tw-prose-invert-lead: oklch(70.7% 0.022 261.325);
    --tw-prose-invert-links: #fff;
    --tw-prose-invert-bold: #fff;
    --tw-prose-invert-counters: oklch(70.7% 0.022 261.325);
    --tw-prose-invert-bullets: oklch(44.6% 0.03 256.802);
    --tw-prose-invert-hr: oklch(37.3% 0.034 259.733);
    --tw-prose-invert-quotes: oklch(96.7% 0.003 264.542);
    --tw-prose-invert-quote-borders: oklch(37.3% 0.034 259.733);
    --tw-prose-invert-captions: oklch(70.7% 0.022 261.325);
    --tw-prose-invert-kbd: #fff;
    --tw-prose-invert-kbd-shadows: #ffffff1a;
    --tw-prose-invert-code: #fff;
    --tw-prose-invert-pre-code: oklch(87.2% 0.01 258.338);
    --tw-prose-invert-pre-bg: #00000080;
    --tw-prose-invert-th-borders: oklch(44.6% 0.03 256.802);
    --tw-prose-invert-td-borders: oklch(37.3% 0.034 259.733);
    font-size: 1rem;
    line-height: 1.75;
  }
  .prose
    :where(picture > img):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    margin-top: 0;
    margin-bottom: 0;
  }
  .prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }
  .prose
    :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)),
  .prose
    :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-start: 0.375em;
  }
  .prose
    :where(.prose > ul > li p):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    margin-top: 0.75em;
    margin-bottom: 0.75em;
  }
  .prose
    :where(.prose > ul > li > p:first-child):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    margin-top: 1.25em;
  }
  .prose
    :where(.prose > ul > li > p:last-child):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    margin-bottom: 1.25em;
  }
  .prose
    :where(.prose > ol > li > p:first-child):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    margin-top: 1.25em;
  }
  .prose
    :where(.prose > ol > li > p:last-child):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    margin-bottom: 1.25em;
  }
  .prose
    :where(ul ul, ul ol, ol ul, ol ol):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    margin-top: 0.75em;
    margin-bottom: 0.75em;
  }
  .prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
  }
  .prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0.5em;
    padding-inline-start: 1.625em;
  }
  .prose
    :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)),
  .prose
    :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)),
  .prose
    :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)),
  .prose
    :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
  }
  .prose
    :where(thead th:first-child):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    padding-inline-start: 0;
  }
  .prose
    :where(thead th:last-child):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    padding-inline-end: 0;
  }
  .prose
    :where(tbody td, tfoot td):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    padding-top: 0.571429em;
    padding-inline-end: 0.571429em;
    padding-bottom: 0.571429em;
    padding-inline-start: 0.571429em;
  }
  .prose
    :where(tbody td:first-child, tfoot td:first-child):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    padding-inline-start: 0;
  }
  .prose
    :where(tbody td:last-child, tfoot td:last-child):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    padding-inline-end: 0;
  }
  .prose
    :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 2em;
    margin-bottom: 2em;
  }
  .prose
    :where(.prose > :first-child):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    margin-top: 0;
  }
  .prose
    :where(.prose > :last-child):not(
      :where([class~="not-prose"], [class~="not-prose"] *)
    ) {
    margin-bottom: 0;
  }
  .-mt-5 {
    margin-top: calc(var(--spacing) * -5);
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-2\.5 {
    margin-top: calc(var(--spacing) * 2.5);
  }
  .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-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;
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .flow-root {
    display: flow-root;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .inline-grid {
    display: inline-grid;
  }
  .inline-table {
    display: inline-table;
  }
  .list-item {
    display: list-item;
  }
  .table {
    display: table;
  }
  .table-caption {
    display: table-caption;
  }
  .table-cell {
    display: table-cell;
  }
  .table-column {
    display: table-column;
  }
  .table-column-group {
    display: table-column-group;
  }
  .table-footer-group {
    display: table-footer-group;
  }
  .table-header-group {
    display: table-header-group;
  }
  .table-row {
    display: table-row;
  }
  .table-row-group {
    display: table-row-group;
  }
  .aspect-\[16\/10\] {
    aspect-ratio: 16/10;
  }
  .size-3 {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }
  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .size-10 {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }
  .size-12 {
    width: calc(var(--spacing) * 12);
    height: calc(var(--spacing) * 12);
  }
  .size-\[1\.05em\] {
    width: 1.05em;
    height: 1.05em;
  }
  .size-full {
    width: 100%;
    height: 100%;
  }
  .h-\[72px\] {
    height: 72px;
  }
  .h-full {
    height: 100%;
  }
  .h-px {
    height: 1px;
  }
  .min-h-\[320px\] {
    min-height: 320px;
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-full {
    width: 100%;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-\[1240px\] {
    max-width: 1240px;
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-sm {
    max-width: var(--container-sm);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .max-w-xs {
    max-width: var(--container-xs);
  }
  .flex-1 {
    flex: 1;
  }
  .shrink {
    flex-shrink: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .grow {
    flex-grow: 1;
  }
  .border-collapse {
    border-collapse: collapse;
  }
  .translate-none {
    translate: none;
  }
  .scale-3d {
    scale: var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z);
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,)
      var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .touch-pinch-zoom {
    --tw-pinch-zoom: pinch-zoom;
    touch-action: var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,);
  }
  .resize {
    resize: both;
  }
  .scroll-mt-20 {
    scroll-margin-top: calc(var(--spacing) * 20);
  }
  .columns-2 {
    columns: 2;
  }
  .columns-3 {
    columns: 3;
  }
  .columns-4 {
    columns: 4;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-rows-\[0fr\] {
    grid-template-rows: 0fr;
  }
  .grid-rows-\[1fr\] {
    grid-template-rows: 1fr;
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .items-stretch {
    align-items: stretch;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-0 {
    gap: calc(var(--spacing) * 0);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-7 {
    gap: calc(var(--spacing) * 7);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }
  .gap-px {
    gap: 1px;
  }
  :where(.space-y-2\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(
      calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse)
    );
    margin-block-end: calc(
      calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse))
    );
  }
  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(
      calc(var(--spacing) * 3) * var(--tw-space-y-reverse)
    );
    margin-block-end: calc(
      calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse))
    );
  }
  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(
      calc(var(--spacing) * 4) * var(--tw-space-y-reverse)
    );
    margin-block-end: calc(
      calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))
    );
  }
  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(
      calc(var(--spacing) * 6) * var(--tw-space-y-reverse)
    );
    margin-block-end: calc(
      calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse))
    );
  }
  :where(.space-y-reverse > :not(:last-child)) {
    --tw-space-y-reverse: 1;
  }
  .gap-x-10 {
    column-gap: calc(var(--spacing) * 10);
  }
  :where(.space-x-reverse > :not(:last-child)) {
    --tw-space-x-reverse: 1;
  }
  .gap-y-12 {
    row-gap: calc(var(--spacing) * 12);
  }
  :where(.divide-x > :not(:last-child)) {
    --tw-divide-x-reverse: 0;
    border-inline-style: var(--tw-border-style);
    border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
    border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }
  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }
  :where(.divide-y-reverse > :not(:last-child)) {
    --tw-divide-y-reverse: 1;
  }
  :where(.divide-ploy-border-primary > :not(:last-child)) {
    border-color: var(--ploy-border-primary);
  }
  .self-end {
    align-self: flex-end;
  }
  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-button {
    border-radius: var(--radius-button, var(--radius));
  }
  .rounded-full {
    border-radius: 3.40282e38px;
  }
  .rounded-input {
    border-radius: var(--radius-input, var(--radius));
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-s {
    border-start-start-radius: 0.25rem;
    border-end-start-radius: 0.25rem;
  }
  .rounded-ss {
    border-start-start-radius: 0.25rem;
  }
  .rounded-e {
    border-start-end-radius: 0.25rem;
    border-end-end-radius: 0.25rem;
  }
  .rounded-se {
    border-start-end-radius: 0.25rem;
  }
  .rounded-ee {
    border-end-end-radius: 0.25rem;
  }
  .rounded-es {
    border-end-start-radius: 0.25rem;
  }
  .rounded-t {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }
  .rounded-l {
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }
  .rounded-tl {
    border-top-left-radius: 0.25rem;
  }
  .rounded-r {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }
  .rounded-tr {
    border-top-right-radius: 0.25rem;
  }
  .rounded-b {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }
  .rounded-br {
    border-bottom-right-radius: 0.25rem;
  }
  .rounded-bl {
    border-bottom-left-radius: 0.25rem;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-x {
    border-inline-style: var(--tw-border-style);
    border-inline-width: 1px;
  }
  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }
  .border-s {
    border-inline-start-style: var(--tw-border-style);
    border-inline-start-width: 1px;
  }
  .border-e {
    border-inline-end-style: var(--tw-border-style);
    border-inline-end-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .border-ploy-border-primary,
  .border-ploy-border-primary\/60 {
    border-color: var(--ploy-border-primary);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .border-ploy-border-primary\/60 {
      border-color: color-mix(
        in oklab,
        var(--ploy-border-primary) 60%,
        transparent
      );
    }
  }
  .border-ploy-input-border {
    border-color: var(--ploy-input-border);
  }
  .border-ploy-text-inverse\/15 {
    border-color: var(--ploy-text-inverse);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .border-ploy-text-inverse\/15 {
      border-color: color-mix(
        in oklab,
        var(--ploy-text-inverse) 15%,
        transparent
      );
    }
  }
  .border-ploy-text-primary\/20 {
    border-color: var(--ploy-text-primary);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .border-ploy-text-primary\/20 {
      border-color: color-mix(
        in oklab,
        var(--ploy-text-primary) 20%,
        transparent
      );
    }
  }
  .border-ploy-text-primary\/25 {
    border-color: var(--ploy-text-primary);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .border-ploy-text-primary\/25 {
      border-color: color-mix(
        in oklab,
        var(--ploy-text-primary) 25%,
        transparent
      );
    }
  }
  .border-ploy-text-primary\/30 {
    border-color: var(--ploy-text-primary);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .border-ploy-text-primary\/30 {
      border-color: color-mix(
        in oklab,
        var(--ploy-text-primary) 30%,
        transparent
      );
    }
  }
  .bg-ploy-accent-primary {
    background-color: var(--ploy-accent-primary);
  }
  .bg-ploy-accent-primary-500 {
    background-color: var(--ploy-accent-primary-500);
  }
  .bg-ploy-accent-primary\/12 {
    background-color: var(--ploy-accent-primary);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .bg-ploy-accent-primary\/12 {
      background-color: color-mix(
        in oklab,
        var(--ploy-accent-primary) 12%,
        transparent
      );
    }
  }
  .bg-ploy-background-primary,
  .bg-ploy-background-primary\/90 {
    background-color: var(--ploy-background-primary);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .bg-ploy-background-primary\/90 {
      background-color: color-mix(
        in oklab,
        var(--ploy-background-primary) 90%,
        transparent
      );
    }
  }
  .bg-ploy-border-primary {
    background-color: var(--ploy-border-primary);
  }
  .bg-ploy-button-primary-background {
    background-color: var(--ploy-button-primary-background);
  }
  .bg-ploy-input-background {
    background-color: var(--ploy-input-background);
  }
  .bg-ploy-neutral-inverse {
    background-color: var(--ploy-neutral-inverse);
  }
  .bg-ploy-neutral-primary {
    background-color: var(--ploy-neutral-primary);
  }
  .bg-ploy-neutral-primary-100 {
    background-color: var(--ploy-neutral-primary-100);
  }
  .bg-ploy-neutral-secondary {
    background-color: var(--ploy-neutral-secondary);
  }
  .bg-ploy-text-inverse\/25 {
    background-color: var(--ploy-text-inverse);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .bg-ploy-text-inverse\/25 {
      background-color: color-mix(
        in oklab,
        var(--ploy-text-inverse) 25%,
        transparent
      );
    }
  }
  .bg-ploy-text-inverse\/40 {
    background-color: var(--ploy-text-inverse);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .bg-ploy-text-inverse\/40 {
      background-color: color-mix(
        in oklab,
        var(--ploy-text-inverse) 40%,
        transparent
      );
    }
  }
  .bg-repeat {
    background-repeat: repeat;
  }
  .mask-no-clip {
    -webkit-mask-clip: no-clip;
    mask-clip: no-clip;
  }
  .mask-repeat {
    -webkit-mask-repeat: repeat;
    mask-repeat: repeat;
  }
  .object-cover {
    object-fit: cover;
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .p-7 {
    padding: calc(var(--spacing) * 7);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .px-0 {
    padding-inline: calc(var(--spacing) * 0);
  }
  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-7 {
    padding-inline: calc(var(--spacing) * 7);
  }
  .px-9 {
    padding-inline: calc(var(--spacing) * 9);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-7 {
    padding-block: calc(var(--spacing) * 7);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }
  .py-24 {
    padding-block: calc(var(--spacing) * 24);
  }
  .pt-1 {
    padding-top: calc(var(--spacing) * 1);
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-7 {
    padding-top: calc(var(--spacing) * 7);
  }
  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }
  .pt-10 {
    padding-top: calc(var(--spacing) * 10);
  }
  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .font-button {
    font-family: var(--font-button, var(--font-body));
  }
  .font-eyebrow {
    font-family: var(--font-eyebrow, var(--font-body));
  }
  .font-heading {
    font-family: var(--font-heading);
  }
  .font-serif {
    font-family: var(--font-serif);
  }
  .text-4xl {
    font-size: var(--font-size-4xl, 2.25rem);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-lg {
    font-size: var(--font-size-lg, 1.125rem);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--font-size-sm, 0.875rem);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-\[10\.5px\] {
    font-size: 10.5px;
  }
  .text-\[11px\] {
    font-size: 11px;
  }
  .text-\[12\.5px\] {
    font-size: 12.5px;
  }
  .text-\[12px\] {
    font-size: 12px;
  }
  .text-\[13\.5px\] {
    font-size: 13.5px;
  }
  .text-\[13px\] {
    font-size: 13px;
  }
  .text-\[14\.5px\] {
    font-size: 14.5px;
  }
  .text-\[14px\] {
    font-size: 14px;
  }
  .text-\[15px\] {
    font-size: 15px;
  }
  .text-\[16px\] {
    font-size: 16px;
  }
  .text-\[17px\] {
    font-size: 17px;
  }
  .text-\[19px\] {
    font-size: 19px;
  }
  .text-\[20px\] {
    font-size: 20px;
  }
  .text-\[21px\] {
    font-size: 21px;
  }
  .text-\[22px\] {
    font-size: 22px;
  }
  .text-\[24px\] {
    font-size: 24px;
  }
  .text-\[28px\] {
    font-size: 28px;
  }
  .text-\[32px\] {
    font-size: 32px;
  }
  .text-\[34px\] {
    font-size: 34px;
  }
  .text-\[36px\] {
    font-size: 36px;
  }
  .text-\[40px\] {
    font-size: 40px;
  }
  .leading-\[1\.1\] {
    --tw-leading: 1.1;
    line-height: 1.1;
  }
  .leading-\[1\.05\] {
    --tw-leading: 1.05;
    line-height: 1.05;
  }
  .leading-\[1\.08\] {
    --tw-leading: 1.08;
    line-height: 1.08;
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-\[0\.1em\] {
    --tw-tracking: 0.1em;
    letter-spacing: 0.1em;
  }
  .tracking-\[0\.12em\] {
    --tw-tracking: 0.12em;
    letter-spacing: 0.12em;
  }
  .tracking-\[0\.14em\] {
    --tw-tracking: 0.14em;
    letter-spacing: 0.14em;
  }
  .tracking-\[0\.16em\] {
    --tw-tracking: 0.16em;
    letter-spacing: 0.16em;
  }
  .tracking-\[0\.18em\] {
    --tw-tracking: 0.18em;
    letter-spacing: 0.18em;
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .text-balance {
    text-wrap: balance;
  }
  .text-wrap {
    text-wrap: wrap;
  }
  .text-clip {
    text-overflow: clip;
  }
  .text-ellipsis {
    text-overflow: ellipsis;
  }
  .text-ploy-accent-primary {
    color: var(--ploy-accent-primary);
  }
  .text-ploy-accent-tertiary {
    color: var(--ploy-accent-tertiary);
  }
  .text-ploy-button-primary-text {
    color: var(--ploy-button-primary-text);
  }
  .text-ploy-text-inverse,
  .text-ploy-text-inverse\/60 {
    color: var(--ploy-text-inverse);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .text-ploy-text-inverse\/60 {
      color: color-mix(in oklab, var(--ploy-text-inverse) 60%, transparent);
    }
  }
  .text-ploy-text-inverse\/70 {
    color: var(--ploy-text-inverse);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .text-ploy-text-inverse\/70 {
      color: color-mix(in oklab, var(--ploy-text-inverse) 70%, transparent);
    }
  }
  .text-ploy-text-inverse\/75 {
    color: var(--ploy-text-inverse);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .text-ploy-text-inverse\/75 {
      color: color-mix(in oklab, var(--ploy-text-inverse) 75%, transparent);
    }
  }
  .text-ploy-text-inverse\/85 {
    color: var(--ploy-text-inverse);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .text-ploy-text-inverse\/85 {
      color: color-mix(in oklab, var(--ploy-text-inverse) 85%, transparent);
    }
  }
  .text-ploy-text-primary {
    color: var(--ploy-text-primary);
  }
  .text-ploy-text-secondary,
  .text-ploy-text-secondary\/90 {
    color: var(--ploy-text-secondary);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .text-ploy-text-secondary\/90 {
      color: color-mix(in oklab, var(--ploy-text-secondary) 90%, transparent);
    }
  }
  .capitalize {
    text-transform: capitalize;
  }
  .lowercase {
    text-transform: lowercase;
  }
  .normal-case {
    text-transform: none;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .not-italic {
    font-style: normal;
  }
  .diagonal-fractions {
    --tw-numeric-fraction: diagonal-fractions;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,)
      var(--tw-numeric-figure,) var(--tw-numeric-spacing,)
      var(--tw-numeric-fraction,);
  }
  .lining-nums {
    --tw-numeric-figure: lining-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,)
      var(--tw-numeric-figure,) var(--tw-numeric-spacing,)
      var(--tw-numeric-fraction,);
  }
  .oldstyle-nums {
    --tw-numeric-figure: oldstyle-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,)
      var(--tw-numeric-figure,) var(--tw-numeric-spacing,)
      var(--tw-numeric-fraction,);
  }
  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,)
      var(--tw-numeric-figure,) var(--tw-numeric-spacing,)
      var(--tw-numeric-fraction,);
  }
  .proportional-nums {
    --tw-numeric-spacing: proportional-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,)
      var(--tw-numeric-figure,) var(--tw-numeric-spacing,)
      var(--tw-numeric-fraction,);
  }
  .slashed-zero {
    --tw-slashed-zero: slashed-zero;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,)
      var(--tw-numeric-figure,) var(--tw-numeric-spacing,)
      var(--tw-numeric-fraction,);
  }
  .stacked-fractions {
    --tw-numeric-fraction: stacked-fractions;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,)
      var(--tw-numeric-figure,) var(--tw-numeric-spacing,)
      var(--tw-numeric-fraction,);
  }
  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,)
      var(--tw-numeric-figure,) var(--tw-numeric-spacing,)
      var(--tw-numeric-fraction,);
  }
  .normal-nums {
    font-variant-numeric: normal;
  }
  .line-through {
    text-decoration-line: line-through;
  }
  .no-underline {
    text-decoration-line: none;
  }
  .overline {
    text-decoration-line: overline;
  }
  .underline {
    text-decoration-line: underline;
  }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .subpixel-antialiased {
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
  }
  .opacity-0 {
    opacity: 0;
  }
  .opacity-100 {
    opacity: 1;
  }
  .shadow {
    --tw-shadow:
      0 1px 3px 0 var(--tw-shadow-color, #0000001a),
      0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow:
      var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0
      calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow:
      var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .inset-ring {
    --tw-inset-ring-shadow: inset 0 0 0 1px
      var(--tw-inset-ring-color, currentcolor);
    box-shadow:
      var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)
      var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)
      var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .drop-shadow {
    --tw-drop-shadow-size: drop-shadow(
        0 1px 2px var(--tw-drop-shadow-color, #0000001a)
      )
      drop-shadow(0 1px 1px var(--tw-drop-shadow-color, #0000000f));
    --tw-drop-shadow: drop-shadow(0 1px 2px #0000001a)
      drop-shadow(0 1px 1px #0000000f);
    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,);
  }
  .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,);
  }
  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)
      var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)
      var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .sepia {
    --tw-sepia: sepia(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)
      var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)
      var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)
      var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)
      var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur,)
      var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,)
      var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,)
      var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,)
      var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,)
      var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,)
      var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,)
      var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,)
      var(--tw-backdrop-sepia,);
  }
  .backdrop-blur-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,)
      var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,)
      var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,)
      var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,)
      var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,)
      var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,)
      var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,)
      var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,)
      var(--tw-backdrop-sepia,);
  }
  .backdrop-grayscale {
    --tw-backdrop-grayscale: grayscale(100%);
    -webkit-backdrop-filter: var(--tw-backdrop-blur,)
      var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,)
      var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,)
      var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,)
      var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,)
      var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,)
      var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,)
      var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,)
      var(--tw-backdrop-sepia,);
  }
  .backdrop-invert {
    --tw-backdrop-invert: invert(100%);
    -webkit-backdrop-filter: var(--tw-backdrop-blur,)
      var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,)
      var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,)
      var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,)
      var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,)
      var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,)
      var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,)
      var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,)
      var(--tw-backdrop-sepia,);
  }
  .backdrop-sepia {
    --tw-backdrop-sepia: sepia(100%);
    -webkit-backdrop-filter: var(--tw-backdrop-blur,)
      var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,)
      var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,)
      var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,)
      var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,)
      var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,)
      var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,)
      var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,)
      var(--tw-backdrop-sepia,);
  }
  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur,)
      var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,)
      var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,)
      var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,)
      var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,)
      var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,)
      var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,)
      var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,)
      var(--tw-backdrop-sepia,);
  }
  .transition {
    transition-property:
      color,
      background-color,
      border-color,
      outline-color,
      text-decoration-color,
      fill,
      stroke,
      --tw-gradient-from,
      --tw-gradient-via,
      --tw-gradient-to,
      opacity,
      box-shadow,
      transform,
      translate,
      scale,
      rotate,
      filter,
      -webkit-backdrop-filter,
      backdrop-filter,
      display,
      content-visibility,
      overlay,
      pointer-events;
    transition-timing-function: var(
      --tw-ease,
      var(--default-transition-timing-function)
    );
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(
      --tw-ease,
      var(--default-transition-timing-function)
    );
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property:
      color, background-color, border-color, outline-color,
      text-decoration-color, fill, stroke, --tw-gradient-from,
      --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(
      --tw-ease,
      var(--default-transition-timing-function)
    );
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(
      --tw-ease,
      var(--default-transition-timing-function)
    );
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-200 {
    --tw-duration: 0.2s;
    transition-duration: 0.2s;
  }
  .duration-300 {
    --tw-duration: 0.3s;
    transition-duration: 0.3s;
  }
  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .repeat-1 {
    --tw-animation-iteration-count: 1;
    animation-iteration-count: 1;
  }
  .repeat-2 {
    --tw-animation-iteration-count: 2;
    animation-iteration-count: 2;
  }
  :where(.divide-x-reverse > :not(:last-child)) {
    --tw-divide-x-reverse: 1;
  }
  .paused {
    animation-play-state: paused;
  }
  .ring-inset {
    --tw-ring-inset: inset;
  }
  .running {
    animation-play-state: running;
  }
  .zoom-in {
    --tw-enter-scale: 0;
  }
  .zoom-out {
    --tw-exit-scale: 0;
  }
  @media (hover: hover) {
    .group-hover\/btn\:translate-x-0\.5:is(:where(.group\/btn):hover *) {
      --tw-translate-x: calc(var(--spacing) * 0.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .placeholder\:text-ploy-text-secondary\/60::placeholder {
    color: var(--ploy-text-secondary);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .placeholder\:text-ploy-text-secondary\/60::placeholder {
      color: color-mix(in oklab, var(--ploy-text-secondary) 60%, transparent);
    }
  }
  .last\:flex-none:last-child {
    flex: none;
  }
  .last\:border-b-0:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0;
  }
  @media (hover: hover) {
    .hover\:border-ploy-text-primary:hover {
      border-color: var(--ploy-text-primary);
    }
    .hover\:bg-ploy-background-primary\/85:hover {
      background-color: var(--ploy-background-primary);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-ploy-background-primary\/85:hover {
        background-color: color-mix(
          in oklab,
          var(--ploy-background-primary) 85%,
          transparent
        );
      }
    }
    .hover\:bg-ploy-text-primary\/\[0\.04\]:hover {
      background-color: var(--ploy-text-primary);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-ploy-text-primary\/\[0\.04\]:hover {
        background-color: color-mix(
          in oklab,
          var(--ploy-text-primary) 4%,
          transparent
        );
      }
    }
    .hover\:bg-primary\/90:hover {
      background-color: var(--primary);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary\/90:hover {
        background-color: color-mix(in oklab, var(--primary) 90%, transparent);
      }
    }
    .hover\:text-ploy-accent-primary\/70:hover {
      color: var(--ploy-accent-primary);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:text-ploy-accent-primary\/70:hover {
        color: color-mix(in oklab, var(--ploy-accent-primary) 70%, transparent);
      }
    }
    .hover\:text-ploy-text-primary:hover {
      color: var(--ploy-text-primary);
    }
  }
  .focus\:border-ploy-accent-primary:focus {
    border-color: var(--ploy-accent-primary);
  }
  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }
  .focus-visible\:ring-2:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0
      calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow:
      var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .focus-visible\:ring-ploy-accent-primary:focus-visible {
    --tw-ring-color: var(--ploy-accent-primary);
  }
  .focus-visible\:ring-offset-2:focus-visible {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0
      var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }
  .focus-visible\:ring-offset-ploy-background-primary:focus-visible {
    --tw-ring-offset-color: var(--ploy-background-primary);
  }
  .focus-visible\:outline-none:focus-visible {
    --tw-outline-style: none;
    outline-style: none;
  }
  .disabled\:pointer-events-none:disabled {
    pointer-events: none;
  }
  .disabled\:opacity-50:disabled {
    opacity: 0.5;
  }
  @media (min-width: 40rem) {
    .sm\:flex-row {
      flex-direction: row;
    }
    .sm\:items-center {
      align-items: center;
    }
    .sm\:justify-between {
      justify-content: space-between;
    }
    .sm\:p-9 {
      padding: calc(var(--spacing) * 9);
    }
    .sm\:p-10 {
      padding: calc(var(--spacing) * 10);
    }
    .sm\:px-8 {
      padding-inline: calc(var(--spacing) * 8);
    }
    .sm\:py-20 {
      padding-block: calc(var(--spacing) * 20);
    }
    .sm\:py-28 {
      padding-block: calc(var(--spacing) * 28);
    }
    .sm\:py-32 {
      padding-block: calc(var(--spacing) * 32);
    }
    .sm\:text-\[40px\] {
      font-size: 40px;
    }
    .sm\:text-\[42px\] {
      font-size: 42px;
    }
    .sm\:text-\[44px\] {
      font-size: 44px;
    }
    .sm\:text-\[52px\] {
      font-size: 52px;
    }
  }
  @media (min-width: 48rem) {
    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .md\:grid-cols-\[1\.4fr_1fr_1fr\] {
      grid-template-columns: 1.4fr 1fr 1fr;
    }
    .md\:grid-cols-\[1fr_1fr\] {
      grid-template-columns: 1fr 1fr;
    }
    .md\:gap-16 {
      gap: calc(var(--spacing) * 16);
    }
    :where(.md\:divide-x > :not(:last-child)) {
      --tw-divide-x-reverse: 0;
      border-inline-style: var(--tw-border-style);
      border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
      border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
    }
    :where(.md\:divide-y-0 > :not(:last-child)) {
      --tw-divide-y-reverse: 0;
      border-bottom-style: var(--tw-border-style);
      border-top-style: var(--tw-border-style);
      border-top-width: calc(0px * var(--tw-divide-y-reverse));
      border-bottom-width: calc(0px * calc(1 - var(--tw-divide-y-reverse)));
    }
    .md\:px-8 {
      padding-inline: calc(var(--spacing) * 8);
    }
    .md\:text-6xl {
      font-size: var(--font-size-6xl, 3.75rem);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
    .md\:text-base {
      font-size: var(--font-size-base, 1rem);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
    .md\:text-xl {
      font-size: var(--font-size-xl, 1.25rem);
      line-height: var(--tw-leading, var(--text-xl--line-height));
    }
    .md\:first\:pl-0:first-child {
      padding-left: calc(var(--spacing) * 0);
    }
    .md\:last\:pr-0:last-child {
      padding-right: calc(var(--spacing) * 0);
    }
  }
  @media (min-width: 64rem) {
    .lg\:block {
      display: block;
    }
    .lg\:flex {
      display: flex;
    }
    .lg\:hidden {
      display: none;
    }
    .lg\:min-h-\[640px\] {
      min-height: 640px;
    }
    .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .lg\:grid-cols-\[0\.8fr_1\.2fr\] {
      grid-template-columns: 0.8fr 1.2fr;
    }
    .lg\:grid-cols-\[1fr_1\.05fr\] {
      grid-template-columns: 1fr 1.05fr;
    }
    .lg\:grid-cols-\[1fr_1fr\] {
      grid-template-columns: 1fr 1fr;
    }
    .lg\:gap-20 {
      gap: calc(var(--spacing) * 20);
    }
    .lg\:py-28 {
      padding-block: calc(var(--spacing) * 28);
    }
    .lg\:pr-16 {
      padding-right: calc(var(--spacing) * 16);
    }
    .lg\:text-2xl {
      font-size: var(--font-size-2xl, 1.5rem);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
    .lg\:text-7xl {
      font-size: var(--font-size-7xl, 4.5rem);
      line-height: var(--tw-leading, var(--text-7xl--line-height));
    }
    .lg\:text-lg {
      font-size: var(--font-size-lg, 1.125rem);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
    .lg\:text-\[60px\] {
      font-size: 60px;
    }
  }
}
@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}
@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}
@property --tw-animation-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}
@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
:root {
  --background: var(--ploy-background-primary);
  --foreground: var(--ploy-text-primary);
  --card: var(--ploy-background-secondary);
  --card-foreground: var(--ploy-text-primary);
  --popover: var(--ploy-background-primary);
  --popover-foreground: var(--ploy-text-primary);
  --primary: var(--ploy-accent-primary);
  --primary-foreground: var(--ploy-text-on-accent-primary);
  --secondary: var(--ploy-background-secondary);
  --secondary-foreground: var(--ploy-text-primary);
  --muted: var(--ploy-background-secondary);
  --muted-foreground: var(--ploy-text-secondary);
  --accent: var(--ploy-accent-secondary);
  --accent-foreground: var(--ploy-text-on-accent-secondary);
  --input: var(--ploy-input-border);
  --border: var(--ploy-border-primary);
  --ring: var(--ploy-accent-primary);
  --sidebar: var(--ploy-background-secondary);
  --sidebar-foreground: var(--ploy-text-primary);
  --sidebar-primary: var(--ploy-accent-primary);
  --sidebar-primary-foreground: var(--ploy-text-on-accent-primary);
  --sidebar-accent: var(--ploy-background-secondary);
  --sidebar-accent-foreground: var(--ploy-text-primary);
  --sidebar-border: var(--ploy-border-primary);
  --sidebar-ring: var(--ploy-accent-primary);
  --radius: 0.25rem;
  --radius-button: 0.125rem;
  --radius-card: 0.125rem;
  --radius-input: 0.125rem;
  --font-heading: "Manrope", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --font-serif: "Fraunces", Georgia, serif;
  --font-mono: ui-monospace, monospace;
  --font-eyebrow: "Inter", system-ui, sans-serif;
  --font-button: "Inter", system-ui, sans-serif;
  --font-size-9xl: 8rem;
  --font-size-8xl: 6rem;
  --font-size-7xl: 4.5rem;
  --font-size-6xl: 3.75rem;
  --font-size-5xl: 3rem;
  --font-size-4xl: 2.25rem;
  --font-size-3xl: 1.875rem;
  --font-size-2xl: 1.5rem;
  --font-size-xl: 1.25rem;
  --font-size-lg: 1.125rem;
  --font-size-base: 1rem;
  --font-size-sm: 0.875rem;
  --font-size-xs: 0.75rem;
  --font-heading-weight: 550;
  --font-heading-bold-weight: 650;
  --font-heading-letter-spacing: -0.015em;
  --font-heading-line-height: 1.06;
  --font-body-weight: 400;
  --font-body-bold-weight: 600;
  --font-body-letter-spacing: normal;
  --font-body-line-height: 1.5;
  --font-button-weight: 700;
  --font-button-letter-spacing: 0.14em;
  --font-button-line-height: 1;
  --font-eyebrow-weight: 700;
  --font-eyebrow-letter-spacing: 0.18em;
  --font-eyebrow-line-height: 1.2;
  --ploy-shadow-color: var(--ploy-border-primary);
  --border-width: 1px;
  --border-style: solid;
  --ploy-neutral-primary: #f6f4ef;
  --ploy-neutral-secondary: #ece7dd;
  --ploy-neutral-inverse: #101a1d;
  --ploy-neutral-light: #fbfaf6;
  --ploy-neutral-dark: #0c1416;
  --ploy-neutral-primary-s0: white;
  --ploy-neutral-primary-s1: var(--ploy-neutral-primary);
  --ploy-neutral-primary-s2: var(--ploy-neutral-secondary);
  --ploy-neutral-primary-s3: var(--ploy-neutral-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  :root {
    --ploy-neutral-primary-s3: color-mix(
      in oklch,
      var(--ploy-neutral-primary) 95%,
      var(--ploy-neutral-inverse)
    );
  }
}
:root {
  --ploy-neutral-primary-s4: var(--ploy-neutral-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  :root {
    --ploy-neutral-primary-s4: color-mix(
      in oklch,
      var(--ploy-neutral-primary) 88%,
      var(--ploy-neutral-inverse)
    );
  }
}
:root {
  --ploy-neutral-primary-s5: var(--ploy-neutral-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  :root {
    --ploy-neutral-primary-s5: color-mix(
      in oklch,
      var(--ploy-neutral-primary) 76%,
      var(--ploy-neutral-inverse)
    );
  }
}
:root {
  --ploy-neutral-inverse-s0: black;
  --ploy-neutral-inverse-s1: var(--ploy-neutral-inverse);
  --ploy-neutral-inverse-s2: var(--ploy-neutral-inverse);
}
@supports (color: color-mix(in lab, red, red)) {
  :root {
    --ploy-neutral-inverse-s2: color-mix(
      in oklch,
      var(--ploy-neutral-inverse) 84%,
      var(--ploy-neutral-primary)
    );
  }
}
:root {
  --ploy-neutral-inverse-s3: var(--ploy-neutral-inverse);
}
@supports (color: color-mix(in lab, red, red)) {
  :root {
    --ploy-neutral-inverse-s3: color-mix(
      in oklch,
      var(--ploy-neutral-inverse) 66%,
      var(--ploy-neutral-primary)
    );
  }
}
:root {
  --ploy-neutral-inverse-s4: var(--ploy-neutral-inverse);
}
@supports (color: color-mix(in lab, red, red)) {
  :root {
    --ploy-neutral-inverse-s4: color-mix(
      in oklch,
      var(--ploy-neutral-inverse) 48%,
      var(--ploy-neutral-primary)
    );
  }
}
:root {
  --ploy-neutral-inverse-s5: var(--ploy-neutral-inverse);
}
@supports (color: color-mix(in lab, red, red)) {
  :root {
    --ploy-neutral-inverse-s5: color-mix(
      in oklch,
      var(--ploy-neutral-inverse) 30%,
      var(--ploy-neutral-primary)
    );
  }
}
:root {
  --ploy-accent-primary: #6e7344;
  --ploy-accent-secondary: #7f8e98;
  --ploy-accent-tertiary: #a23a30;
  --ploy-text-primary: #111b1e;
  --ploy-text-secondary: #51564d;
  --ploy-text-inverse: oklch(100% 0 0);
  --ploy-text-inverse-secondary: oklch(100% 0 0/0.6);
  --ploy-text-on-accent-primary: oklch(100% 0 0);
  --ploy-text-on-accent-secondary: oklch(100% 0 0);
  --ploy-text-on-accent-tertiary: #fff;
  --ploy-button-primary-background: var(--ploy-background-inverse);
  --ploy-button-primary-text: var(--ploy-background-primary);
  --ploy-button-primary-border: var(--ploy-text-primary);
  --ploy-button-secondary-background: var(--ploy-background-primary);
  --ploy-button-secondary-text: var(--ploy-background-inverse);
  --ploy-button-secondary-border: var(--ploy-neutral-inverse-300);
  --ploy-background-primary: var(--ploy-neutral-primary-s1);
  --ploy-background-secondary: var(--ploy-neutral-secondary);
  --ploy-background-accent-primary: var(--ploy-accent-primary);
  --ploy-background-accent-secondary: var(--ploy-accent-secondary);
  --ploy-background-accent-tertiary: var(--ploy-accent-tertiary);
  --ploy-background-inverse: var(--ploy-neutral-inverse-s1);
  --ploy-border-primary: #d7d1c7;
  --ploy-border-inverse: var(--ploy-neutral-inverse-s0);
}
@supports (color: color-mix(in lab, red, red)) {
  :root {
    --ploy-border-inverse: color-mix(
      in srgb,
      var(--ploy-neutral-inverse-s0) 20%,
      transparent
    );
  }
}
:root {
  --ploy-input-background: var(--ploy-neutral-primary);
  --ploy-input-border: #cfc8bb;
  --destructive: #a23a30;
  --border: var(--ploy-border-primary);
  --background: var(--ploy-background-primary);
  --foreground: var(--ploy-text-primary);
  --card: var(--ploy-background-secondary);
  --card-foreground: var(--ploy-text-primary);
  --popover: var(--ploy-background-secondary);
  --popover-foreground: var(--ploy-text-primary);
  --primary: var(--ploy-background-inverse);
  --primary-foreground: var(--ploy-text-inverse);
  --secondary: var(--ploy-background-secondary);
  --secondary-foreground: var(--ploy-text-primary);
  --muted: var(--ploy-background-secondary);
  --muted-foreground: var(--ploy-text-secondary);
  --accent: var(--ploy-background-primary);
  --accent-foreground: var(--ploy-text-inverse);
  --input: var(--ploy-input-border);
  --ring: var(--ploy-border-inverse);
  --ploy-neutral-primary-50: oklch(100% 0 0);
  --ploy-neutral-primary-100: oklch(96.4% 0 0.2);
  --ploy-neutral-primary-200: oklch(91.1% 0 0.4);
  --ploy-neutral-primary-300: oklch(84.9% 0 0.6);
  --ploy-neutral-primary-400: oklch(78.1% 0 0.8);
  --ploy-neutral-primary-500: oklch(70.8% 0 1);
  --ploy-neutral-primary-600: oklch(62.9% 0 1.2);
  --ploy-neutral-primary-700: oklch(54.7% 0 1.4);
  --ploy-neutral-primary-800: oklch(46.1% 0 1.6);
  --ploy-neutral-primary-900: oklch(37.2% 0 1.8);
  --ploy-neutral-primary-950: oklch(28% 0 2);
  --ploy-neutral-inverse-50: oklch(98% 0 352);
  --ploy-neutral-inverse-100: oklch(94.1% 0 352.8);
  --ploy-neutral-inverse-200: oklch(87.7% 0 353.6);
  --ploy-neutral-inverse-300: oklch(79.8% 0 354.4);
  --ploy-neutral-inverse-400: oklch(70.8% 0 355.2);
  --ploy-neutral-inverse-500: oklch(60.9% 0 356);
  --ploy-neutral-inverse-600: oklch(50.1% 0 356.8);
  --ploy-neutral-inverse-700: oklch(38.5% 0 357.6);
  --ploy-neutral-inverse-800: oklch(26.3% 0 358.4);
  --ploy-neutral-inverse-900: oklch(13.4% 0 359.2);
  --ploy-neutral-inverse-950: oklch(0% 0 0);
  --ploy-accent-primary-50: oklch(98% 0 352);
  --ploy-accent-primary-100: oklch(94.1% 0 352.8);
  --ploy-accent-primary-200: oklch(87.7% 0 353.6);
  --ploy-accent-primary-300: oklch(79.8% 0 354.4);
  --ploy-accent-primary-400: oklch(70.8% 0 355.2);
  --ploy-accent-primary-500: oklch(60.9% 0 356);
  --ploy-accent-primary-600: oklch(50.1% 0 356.8);
  --ploy-accent-primary-700: oklch(38.5% 0 357.6);
  --ploy-accent-primary-800: oklch(26.3% 0 358.4);
  --ploy-accent-primary-900: oklch(13.4% 0 359.2);
  --ploy-accent-primary-950: oklch(0% 0 0);
  --ploy-accent-secondary-50: oklch(100% 0 0);
  --ploy-accent-secondary-100: oklch(96.4% 0 0.2);
  --ploy-accent-secondary-200: oklch(91.1% 0 0.4);
  --ploy-accent-secondary-300: oklch(84.9% 0 0.6);
  --ploy-accent-secondary-400: oklch(78.1% 0 0.8);
  --ploy-accent-secondary-500: oklch(70.8% 0 1);
  --ploy-accent-secondary-600: oklch(62.9% 0 1.2);
  --ploy-accent-secondary-700: oklch(54.7% 0 1.4);
  --ploy-accent-secondary-800: oklch(46.1% 0 1.6);
  --ploy-accent-secondary-900: oklch(37.2% 0 1.8);
  --ploy-accent-secondary-950: oklch(28% 0 2);
}
.dark {
  color-scheme: dark;
  --ploy-neutral-primary: oklch(0% 0 0);
  --ploy-neutral-secondary: oklch(3% 0 0);
  --ploy-neutral-inverse: oklch(100% 0 0);
  --ploy-neutral-light: oklch(94.1% 0 352.8);
  --ploy-neutral-dark: oklch(0% 0 0);
  --ploy-neutral-primary-s0: var(--ploy-neutral-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark {
    --ploy-neutral-primary-s0: color-mix(
      in oklch,
      var(--ploy-neutral-primary) 88%,
      black
    );
  }
}
.dark {
  --ploy-neutral-primary-s1: var(--ploy-neutral-primary);
  --ploy-neutral-primary-s2: var(--ploy-neutral-secondary);
  --ploy-neutral-primary-s3: var(--ploy-neutral-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark {
    --ploy-neutral-primary-s3: color-mix(
      in oklch,
      var(--ploy-neutral-primary) 95%,
      var(--ploy-neutral-inverse)
    );
  }
}
.dark {
  --ploy-neutral-primary-s4: var(--ploy-neutral-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark {
    --ploy-neutral-primary-s4: color-mix(
      in oklch,
      var(--ploy-neutral-primary) 88%,
      var(--ploy-neutral-inverse)
    );
  }
}
.dark {
  --ploy-neutral-primary-s5: var(--ploy-neutral-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark {
    --ploy-neutral-primary-s5: color-mix(
      in oklch,
      var(--ploy-neutral-primary) 76%,
      var(--ploy-neutral-inverse)
    );
  }
}
.dark {
  --ploy-neutral-inverse-s0: var(--ploy-neutral-inverse);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark {
    --ploy-neutral-inverse-s0: color-mix(
      in oklch,
      var(--ploy-neutral-inverse) 88%,
      white
    );
  }
}
.dark {
  --ploy-neutral-inverse-s1: var(--ploy-neutral-inverse);
  --ploy-neutral-inverse-s2: var(--ploy-neutral-inverse);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark {
    --ploy-neutral-inverse-s2: color-mix(
      in oklch,
      var(--ploy-neutral-inverse) 84%,
      var(--ploy-neutral-primary)
    );
  }
}
.dark {
  --ploy-neutral-inverse-s3: var(--ploy-neutral-inverse);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark {
    --ploy-neutral-inverse-s3: color-mix(
      in oklch,
      var(--ploy-neutral-inverse) 66%,
      var(--ploy-neutral-primary)
    );
  }
}
.dark {
  --ploy-neutral-inverse-s4: var(--ploy-neutral-inverse);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark {
    --ploy-neutral-inverse-s4: color-mix(
      in oklch,
      var(--ploy-neutral-inverse) 48%,
      var(--ploy-neutral-primary)
    );
  }
}
.dark {
  --ploy-neutral-inverse-s5: var(--ploy-neutral-inverse);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark {
    --ploy-neutral-inverse-s5: color-mix(
      in oklch,
      var(--ploy-neutral-inverse) 30%,
      var(--ploy-neutral-primary)
    );
  }
}
.dark {
  --ploy-accent-primary: oklch(100% 0 0);
  --ploy-accent-secondary: oklch(0% 0 0);
  --ploy-accent-tertiary: oklch(100% 0 0);
  --ploy-text-primary: var(--ploy-neutral-primary-100);
  --ploy-text-secondary: var(--ploy-neutral-primary-500);
  --ploy-text-inverse: oklch(0% 0 0);
  --ploy-text-inverse-secondary: oklch(0% 0 0/0.6);
  --ploy-text-on-accent-primary: oklch(0% 0 0);
  --ploy-text-on-accent-secondary: oklch(0% 0 0);
  --ploy-text-on-accent-tertiary: oklch(94.1% 0 352.8);
  --ploy-button-primary-background: var(--ploy-background-inverse);
  --ploy-button-primary-text: var(--ploy-background-primary);
  --ploy-button-primary-border: var(--ploy-background-inverse);
  --ploy-button-secondary-background: var(--ploy-background-primary);
  --ploy-button-secondary-text: var(--ploy-background-inverse);
  --ploy-button-secondary-border: oklch(20% 0 0);
  --ploy-background-primary: var(--ploy-neutral-primary-s1);
  --ploy-background-secondary: var(--ploy-neutral-secondary);
  --ploy-background-accent-primary: var(--ploy-accent-primary);
  --ploy-background-accent-secondary: var(--ploy-accent-secondary);
  --ploy-background-accent-tertiary: var(--ploy-accent-tertiary);
  --ploy-background-inverse: var(--ploy-neutral-inverse-s1);
  --ploy-border-primary: var(--ploy-neutral-primary-s5);
  --ploy-border-inverse: var(--ploy-neutral-inverse-s0);
}
@supports (color: color-mix(in lab, red, red)) {
  .dark {
    --ploy-border-inverse: color-mix(
      in srgb,
      var(--ploy-neutral-inverse-s0) 20%,
      transparent
    );
  }
}
.dark {
  --ploy-input-background: var(--ploy-neutral-primary);
  --ploy-input-border: var(--ploy-neutral-primary-s5);
  --destructive: oklch(45% 0.22 27);
  --border: var(--ploy-border-primary);
  --background: var(--ploy-background-primary);
  --foreground: var(--ploy-text-primary);
  --card: var(--ploy-background-secondary);
  --card-foreground: var(--ploy-text-primary);
  --popover: var(--ploy-background-secondary);
  --popover-foreground: var(--ploy-text-primary);
  --primary: var(--ploy-background-inverse);
  --primary-foreground: var(--ploy-text-inverse);
  --secondary: var(--ploy-background-secondary);
  --secondary-foreground: var(--ploy-text-primary);
  --muted: var(--ploy-background-secondary);
  --muted-foreground: var(--ploy-text-secondary);
  --accent: var(--ploy-background-primary);
  --accent-foreground: var(--ploy-text-inverse);
  --input: var(--ploy-input-border);
  --ring: var(--ploy-border-inverse);
  --ploy-neutral-primary-50: oklch(98% 0 352);
  --ploy-neutral-primary-100: oklch(94.1% 0 352.8);
  --ploy-neutral-primary-200: oklch(87.7% 0 353.6);
  --ploy-neutral-primary-300: oklch(79.8% 0 354.4);
  --ploy-neutral-primary-400: oklch(70.8% 0 355.2);
  --ploy-neutral-primary-500: oklch(60.9% 0 356);
  --ploy-neutral-primary-600: oklch(50.1% 0 356.8);
  --ploy-neutral-primary-700: oklch(38.5% 0 357.6);
  --ploy-neutral-primary-800: oklch(26.3% 0 358.4);
  --ploy-neutral-primary-900: oklch(13.4% 0 359.2);
  --ploy-neutral-primary-950: oklch(0% 0 0);
  --ploy-neutral-inverse-50: oklch(100% 0 0);
  --ploy-neutral-inverse-100: oklch(96.4% 0 0.2);
  --ploy-neutral-inverse-200: oklch(91.1% 0 0.4);
  --ploy-neutral-inverse-300: oklch(84.9% 0 0.6);
  --ploy-neutral-inverse-400: oklch(78.1% 0 0.8);
  --ploy-neutral-inverse-500: oklch(70.8% 0 1);
  --ploy-neutral-inverse-600: oklch(62.9% 0 1.2);
  --ploy-neutral-inverse-700: oklch(54.7% 0 1.4);
  --ploy-neutral-inverse-800: oklch(46.1% 0 1.6);
  --ploy-neutral-inverse-900: oklch(37.2% 0 1.8);
  --ploy-neutral-inverse-950: oklch(28% 0 2);
  --ploy-accent-primary-50: oklch(100% 0 0);
  --ploy-accent-primary-100: oklch(96.4% 0 0.2);
  --ploy-accent-primary-200: oklch(91.1% 0 0.4);
  --ploy-accent-primary-300: oklch(84.9% 0 0.6);
  --ploy-accent-primary-400: oklch(78.1% 0 0.8);
  --ploy-accent-primary-500: oklch(70.8% 0 1);
  --ploy-accent-primary-600: oklch(62.9% 0 1.2);
  --ploy-accent-primary-700: oklch(54.7% 0 1.4);
  --ploy-accent-primary-800: oklch(46.1% 0 1.6);
  --ploy-accent-primary-900: oklch(37.2% 0 1.8);
  --ploy-accent-primary-950: oklch(28% 0 2);
  --ploy-accent-secondary-50: oklch(98% 0 352);
  --ploy-accent-secondary-100: oklch(94.1% 0 352.8);
  --ploy-accent-secondary-200: oklch(87.7% 0 353.6);
  --ploy-accent-secondary-300: oklch(79.8% 0 354.4);
  --ploy-accent-secondary-400: oklch(70.8% 0 355.2);
  --ploy-accent-secondary-500: oklch(60.9% 0 356);
  --ploy-accent-secondary-600: oklch(50.1% 0 356.8);
  --ploy-accent-secondary-700: oklch(38.5% 0 357.6);
  --ploy-accent-secondary-800: oklch(26.3% 0 358.4);
  --ploy-accent-secondary-900: oklch(13.4% 0 359.2);
  --ploy-accent-secondary-950: oklch(0% 0 0);
}
@media (prefers-reduced-motion: reduce) {
  *,
  :before,
  :after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
@view-transition {
  navigation: auto;
}
::view-transition-old(root) {
  animation-duration: 0.2s;
  animation-timing-function: ease-out;
}
::view-transition-new(root) {
  animation-duration: 0.2s;
  animation-timing-function: ease-out;
}
@media (prefers-reduced-motion: reduce) {
  @view-transition {
    navigation: none;
  }
}
.prose {
  --tw-prose-body: var(--ploy-text-primary);
  --tw-prose-headings: var(--ploy-text-primary);
  --tw-prose-lead: var(--ploy-text-secondary);
  --tw-prose-links: var(--ploy-accent-primary);
  --tw-prose-bold: var(--ploy-text-primary);
  --tw-prose-counters: var(--ploy-text-secondary);
  --tw-prose-bullets: var(--ploy-text-primary);
  --tw-prose-hr: var(--ploy-border-primary);
  --tw-prose-quotes: var(--ploy-text-primary);
  --tw-prose-quote-borders: var(--ploy-border-primary);
  --tw-prose-captions: var(--ploy-text-secondary);
  --tw-prose-code: var(--ploy-text-primary);
  --tw-prose-pre-code: var(--ploy-text-primary);
  --tw-prose-pre-bg: var(--ploy-background-secondary);
  --tw-prose-th-borders: var(--ploy-border-primary);
  --tw-prose-td-borders: var(--ploy-border-primary);
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-pan-x {
  syntax: "*";
  inherits: false;
}
@property --tw-pan-y {
  syntax: "*";
  inherits: false;
}
@property --tw-pinch-zoom {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-divide-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-ordinal {
  syntax: "*";
  inherits: false;
}
@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}


/* --- Made By Ploy Badge Styles --- */
.ploy-badge {
        position: fixed !important;
        bottom: 12px !important;
        right: 12px !important;
        z-index: 2147483647 !important;
        display: none !important;
        align-items: center !important;
        border-radius: 999px !important;
        padding: 0 !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        text-decoration: none !important;
        font-family:
          system-ui,
          -apple-system,
          sans-serif !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        color: #f6f6f6 !important;
        background: transparent !important;
        box-shadow: none !important;
        transition:
          background 0.2s ease,
          box-shadow 0.2s ease !important;
        margin: 0 !important;
        border: none !important;
        line-height: normal !important;
        letter-spacing: normal !important;
        text-transform: none !important;
        visibility: visible !important;
        opacity: 1 !important;
      }
      .ploy-badge .ploy-badge-text {
        max-width: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        padding: 0 !important;
        transition:
          max-width 0.25s cubic-bezier(0.4, 0, 0.2, 1),
          opacity 0.15s ease,
          padding 0.25s ease !important;
        margin: 0 !important;
        border: none !important;
      }
      .ploy-badge .ploy-badge-icon-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        flex-shrink: 0 !important;
        margin-left: 0 !important;
        transition: margin-left 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
        border: none !important;
        padding: 0 !important;
      }
      .ploy-badge .ploy-badge-icon-wrap img {
        width: 40px !important;
        height: 40px !important;
        object-fit: contain !important;
        display: block !important;
        transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
        border: none !important;
        margin: 0 !important;
        padding: 0 !important;
        max-width: none !important;
      }
      .ploy-badge:hover,
      .ploy-badge:focus-within {
        background: #333234 !important;
        box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12) !important;
      }
      .ploy-badge:hover .ploy-badge-icon-wrap img,
      .ploy-badge:focus-within .ploy-badge-icon-wrap img {
        transform: scale(0.55) !important;
      }
      .ploy-badge:hover .ploy-badge-icon-wrap,
      .ploy-badge:focus-within .ploy-badge-icon-wrap {
        margin-left: -6px !important;
      }
      .ploy-badge:hover .ploy-badge-text,
      .ploy-badge:focus-within .ploy-badge-text {
        max-width: 80px !important;
        opacity: 1 !important;
        padding: 7px 0 7px 12px !important;
        transition:
          max-width 0.25s cubic-bezier(0.4, 0, 0.2, 1) 0.1s,
          opacity 0.2s ease 0.12s,
          padding 0.25s ease 0.1s !important;
      }
      .ploy-badge:not(:hover):not(:focus-within) .ploy-badge-text {
        transition:
          max-width 0.1s cubic-bezier(0.4, 0, 0.2, 1),
          opacity 0.06s ease,
          padding 0.1s ease !important;
      }
      .ploy-badge:not(:hover):not(:focus-within) .ploy-badge-icon-wrap img {
        transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1) 0.06s !important;
      }
/* =============================================================
   Cayman Compliance Desk — Polish layer
   Additive enhancements only. Loads after main.css.
   Uses existing --ploy-* design tokens. No redesign.
   ============================================================= */

:root {
  --ease-cd: cubic-bezier(0.2, 0, 0, 1);
}

::selection {
  background: var(--ploy-accent-primary);
  color: #fff;
}

/* ---------- 1. Scroll progress indicator ------------------- */
.scroll-progress {
  position: fixed;
  inset: 0 0 auto 0;
  height: 2px;
  z-index: 60;
  pointer-events: none;
  background: transparent;
}
.scroll-progress__bar {
  display: block;
  height: 100%;
  width: 100%;
  transform: scaleX(0);
  transform-origin: 0 50%;
  background: var(--ploy-accent-primary);
  will-change: transform;
}

/* ---------- 2. Scroll-reveal system ------------------------ */
html.js-reveal .urgency__stat,
html.js-reveal .problem__head > *,
html.js-reveal .problem__block,
html.js-reveal .services__head,
html.js-reveal .services__card,
html.js-reveal .how__head,
html.js-reveal .how__step,
html.js-reveal .pricing__head,
html.js-reveal .pricing__card,
html.js-reveal .pricing__footer,
html.js-reveal .why__head > div,
html.js-reveal .why__table-wrap,
html.js-reveal .diagnostic__intro,
html.js-reveal .diagnostic__panel,
html.js-reveal .faq__head,
html.js-reveal .faq__item,
html.js-reveal .footer__brand,
html.js-reveal .footer__column,
html.js-reveal .final-cta__inner {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity 0.7s var(--ease-cd),
    transform 0.7s var(--ease-cd);
  will-change: opacity, transform;
}
.is-in {
  opacity: 1 !important;
  transform: none !important;
}

/* ---------- 3. Hero entrance + image scrim ----------------- */
@keyframes heroIn {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes heroMediaIn {
  from {
    opacity: 0;
    transform: scale(1.06);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
html.js-reveal .hero__title,
html.js-reveal .hero__subtitle,
html.js-reveal .hero__supporting,
html.js-reveal .hero__actions,
html.js-reveal .hero__countdown {
  opacity: 0;
  animation: heroIn 0.85s var(--ease-cd) forwards;
}
html.js-reveal .hero__title {
  animation-delay: 0.05s;
}
html.js-reveal .hero__subtitle {
  animation-delay: 0.18s;
}
html.js-reveal .hero__supporting {
  animation-delay: 0.28s;
}
html.js-reveal .hero__actions {
  animation-delay: 0.38s;
}
html.js-reveal .hero__countdown {
  animation-delay: 0.5s;
}
html.js-reveal .hero__media {
  overflow: hidden;
}
html.js-reveal .hero__image {
  animation: heroMediaIn 1.2s var(--ease-cd) both;
}
.hero__scrim {
  pointer-events: none;
  background: linear-gradient(
    100deg,
    var(--ploy-background-primary) 0%,
    rgba(246, 244, 239, 0.5) 14%,
    rgba(246, 244, 239, 0) 34%
  );
}
@media (max-width: 1023px) {
  .hero__scrim {
    background: linear-gradient(
      180deg,
      rgba(246, 244, 239, 0) 55%,
      rgba(246, 244, 239, 0.35) 100%
    );
  }
}

/* ---------- 3.5 Hero supporting pull-out ------------------- */
.hero__supporting--pullout {
  border-left: 1px solid var(--ploy-accent-primary);
  padding-left: 1.25rem;
  font-size: 16px;
  line-height: 1.6;
}
.hero__supporting--pullout .ink-bold {
  font-weight: 700;
  color: var(--ploy-text-primary);
}

/* ---------- 4. Hero countdown ------------------------------ */
.hero__countdown {
  margin-top: 2.75rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--ploy-border-primary);
  max-width: 32rem;
}
.hero__countdown-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ploy-text-secondary);
}
.hero__countdown-row {
  margin-top: 1rem;
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}
.cd-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 2.6ch;
}
.cd-unit--sec {
  margin-left: 0.35rem;
}
.cd-num {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 40px;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ploy-text-primary);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}
.cd-num--sec {
  font-size: 26px;
  color: var(--ploy-accent-primary);
}
.cd-unit--sec {
  align-self: flex-start;
}
.cd-lab {
  margin-top: 0.5rem;
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ploy-text-secondary);
}
.cd-sep {
  align-self: flex-start;
  margin-top: 6px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--ploy-border-primary);
  flex: none;
}
.cd-num.is-tick {
  animation: cdTick 0.4s var(--ease-cd);
}
@keyframes cdTick {
  0% {
    transform: translateY(-3px);
    opacity: 0.4;
  }
  100% {
    transform: none;
    opacity: 1;
  }
}

/* ---------- 5. Navigation polish --------------------------- */
.nav {
  transition:
    box-shadow 0.3s var(--ease-cd),
    background-color 0.3s var(--ease-cd);
}
.nav.is-scrolled {
  box-shadow: 0 1px 0 var(--ploy-border-primary), 0 6px 24px rgba(17, 27, 30, 0.06);
}
.nav__link {
  position: relative;
  white-space: nowrap;
}
.nav__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  background: var(--ploy-accent-primary);
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition: transform 0.28s var(--ease-cd);
}
.nav__link:hover::after,
.nav__link.is-active::after {
  transform: scaleX(1);
}
.nav__link.is-active {
  color: var(--ploy-text-primary);
}

/* ---------- 6. Button micro-interactions ------------------- */
.ctabtn--primary {
  position: relative;
  transition:
    transform 0.22s var(--ease-cd),
    box-shadow 0.22s var(--ease-cd),
    background-color 0.2s var(--ease-cd);
}
.ctabtn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(17, 27, 30, 0.16);
}
.ctabtn--primary:active {
  transform: translateY(0);
  box-shadow: 0 4px 10px rgba(17, 27, 30, 0.12);
}
.ctabtn--link .ctabtn__arrow {
  transition: transform 0.22s var(--ease-cd);
}
.ctabtn--link:hover .ctabtn__arrow {
  transform: translateX(3px);
}

/* ---------- 7. Card hover lift ----------------------------- */
.services__card {
  transition:
    transform 0.32s var(--ease-cd),
    box-shadow 0.32s var(--ease-cd),
    border-color 0.32s var(--ease-cd);
}
.services__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(17, 27, 30, 0.1);
  border-color: var(--ploy-accent-primary);
}
.services__card:hover .services__media img {
  transform: scale(1.04);
}
.services__media img {
  transition: transform 0.6s var(--ease-cd);
}
.services__media {
  overflow: hidden;
}

.pricing__card {
  transition:
    transform 0.3s var(--ease-cd),
    box-shadow 0.3s var(--ease-cd);
}
.pricing__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(17, 27, 30, 0.1);
}

/* ---------- 8. Comparison table row hover ------------------ */
.why__table tbody tr {
  transition: background-color 0.2s var(--ease-cd);
}
.why__table tbody tr:hover {
  background-color: color-mix(
    in oklab,
    var(--ploy-accent-primary) 6%,
    transparent
  );
}

/* ---------- 9. Pipeline diagram animation ------------------ */
.services__diagram .size-3 {
  transition:
    transform 0.3s var(--ease-cd),
    background-color 0.3s var(--ease-cd);
}
.services__diagram.is-in .size-3 {
  animation: pipePulse 2.6s var(--ease-cd) infinite;
}
.services__diagram.is-in .flex-1:nth-child(1) .size-3 {
  animation-delay: 0s;
}
.services__diagram.is-in .flex-1:nth-child(2) .size-3 {
  animation-delay: 0.5s;
}
.services__diagram.is-in .flex-1:nth-child(3) .size-3 {
  animation-delay: 1s;
}
.services__diagram.is-in .flex-1:nth-child(4) .size-3 {
  animation-delay: 1.5s;
}
@keyframes pipePulse {
  0%,
  72%,
  100% {
    transform: scale(1);
  }
  18% {
    transform: scale(1.55);
    box-shadow: 0 0 0 4px
      color-mix(in oklab, var(--ploy-accent-primary) 22%, transparent);
  }
}

/* ---------- 10. FAQ icon transition ------------------------ */
.faq__icon svg {
  transition: transform 0.3s var(--ease-cd);
}
.faq__question[aria-expanded="true"] .faq__question-text {
  color: var(--ploy-text-primary);
}

/* ---------- 11. Reduced motion ----------------------------- */
@media (prefers-reduced-motion: reduce) {
  html.js-reveal .urgency__stat,
  html.js-reveal .problem__head > *,
  html.js-reveal .problem__block,
  html.js-reveal .services__head,
  html.js-reveal .services__card,
  html.js-reveal .how__head,
  html.js-reveal .how__step,
  html.js-reveal .pricing__head,
  html.js-reveal .pricing__card,
  html.js-reveal .pricing__footer,
  html.js-reveal .why__head > div,
  html.js-reveal .why__table-wrap,
  html.js-reveal .diagnostic__intro,
  html.js-reveal .diagnostic__panel,
  html.js-reveal .faq__head,
  html.js-reveal .faq__item,
  html.js-reveal .footer__brand,
  html.js-reveal .footer__column,
  html.js-reveal .final-cta__inner,
  html.js-reveal .hero__title,
  html.js-reveal .hero__subtitle,
  html.js-reveal .hero__supporting,
  html.js-reveal .hero__actions,
  html.js-reveal .hero__countdown,
  html.js-reveal .hero__image {
    opacity: 1;
    transform: none;
    animation: none;
    transition: none;
  }
  .services__diagram.is-in .size-3 {
    animation: none;
  }
}

/* ---------- 12. Logo lockup -------------------------------- */
.nav__logo {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 23px;
}
.nav__logo-mark {
  height: 46px;
  width: auto;
  flex: none;
  display: block;
}
.footer__logo {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
}
.footer__logo-mark {
  height: 34px;
  width: auto;
  flex: none;
  display: block;
}

/* ==========================================================================
   REGULATIONS LIBRARY CUSTOM OVERRIDES
   ========================================================================== */

/* Set body background and base colors */
body.regulations-site {
  background-color: var(--ploy-neutral-primary-s1) !important;
  color: var(--ploy-text-primary) !important;
  font-family: var(--font-body) !important;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Pagefind Search Results Dropdown */
.hero-results {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background-color: #ffffff !important;
  border: 1px solid var(--ploy-border-primary) !important;
  border-radius: 6px !important;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 16px -6px rgba(0, 0, 0, 0.05) !important;
  overflow: hidden;
  z-index: 100;
  animation: searchDropdown 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes searchDropdown {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-results .count {
  padding: 12px 18px;
  border-bottom: 1px solid var(--ploy-border-primary);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 500;
  color: var(--ploy-text-secondary);
  background-color: var(--ploy-neutral-primary-s1);
}

.hero-result {
  padding: 14px 18px;
  border-bottom: 1px solid var(--ploy-border-primary);
  cursor: pointer;
  transition: background-color 0.15s ease;
  background-color: #ffffff;
}

.hero-result:last-child {
  border-bottom: none;
}

.hero-result:hover {
  background-color: var(--ploy-neutral-primary-s1) !important;
}

.hero-result .h {
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 15px;
  color: var(--ploy-text-primary);
  margin-bottom: 4px;
}

.hero-result .snip {
  font-family: var(--font-body);
  font-size: 12.5px;
  color: var(--ploy-text-secondary);
  line-height: 1.5;
}

.hero-result .snip strong {
  color: var(--ploy-text-primary);
  font-weight: 600;
}

.hero-result .snip mark {
  background-color: rgba(110, 115, 68, 0.15) !important;
  color: #6e7344 !important;
  padding: 1px 4px;
  border-radius: 2px;
  font-weight: 600;
}

/* Explicit Font overrides to fix recursive styling variables */
.font-serif {
  font-family: "Fraunces", Georgia, serif !important;
}
.font-heading {
  font-family: "Manrope", system-ui, sans-serif !important;
}
.font-body {
  font-family: "Inter", system-ui, sans-serif !important;
}
.nav__logo {
  font-family: "Fraunces", Georgia, serif !important;
}

/* Prose Typography Custom Polish overrides */
.prose {
  color: var(--ploy-text-secondary) !important;
  font-family: "Inter", system-ui, sans-serif !important;
  max-width: 100% !important;
}

.prose h1 {
  font-family: "Manrope", system-ui, sans-serif !important;
  color: var(--ploy-text-primary) !important;
  font-weight: 800 !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.015em !important;
  margin-top: 0 !important;
  margin-bottom: 1.5rem !important;
}

.prose h2 {
  font-family: "Manrope", system-ui, sans-serif !important;
  color: var(--ploy-text-primary) !important;
  font-weight: 700 !important;
  font-size: clamp(20px, 2.5vw, 26px) !important;
  line-height: 1.25 !important;
  border-bottom: 1px solid var(--ploy-border-primary) !important;
  padding-bottom: 0.5rem !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1.25rem !important;
}

.prose h3 {
  font-family: "Manrope", system-ui, sans-serif !important;
  color: var(--ploy-text-primary) !important;
  font-weight: 700 !important;
  font-size: clamp(16px, 2vw, 20px) !important;
  margin-top: 2rem !important;
  margin-bottom: 0.75rem !important;
}

.prose p {
  font-family: "Inter", system-ui, sans-serif !important;
  color: var(--ploy-text-secondary) !important;
  line-height: 1.625 !important;
  margin-bottom: 1.25rem !important;
}

.prose a {
  color: var(--ploy-accent-primary) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  font-weight: 600 !important;
  transition: color 0.15s ease !important;
}

.prose a:hover {
  color: var(--ploy-accent-tertiary) !important;
}

.prose ul, .prose ol {
  margin-bottom: 1.5rem !important;
  padding-left: 1.5rem !important;
}

.prose li {
  margin-bottom: 0.5rem !important;
  line-height: 1.6 !important;
}

.prose code {
  font-family: var(--font-mono) !important;
  font-size: 0.85em !important;
  background-color: rgba(110, 115, 68, 0.08) !important;
  color: #6e7344 !important;
  padding: 0.2rem 0.4rem !important;
  border-radius: 4px !important;
  font-weight: 500 !important;
}

.prose code::before, .prose code::after {
  content: "" !important;
}

.prose pre {
  background-color: #111b1e !important;
  color: #f6f4ef !important;
  padding: 1.25rem !important;
  border-radius: 6px !important;
  overflow-x: auto !important;
  margin-bottom: 1.5rem !important;
  border: 1px solid var(--ploy-border-primary) !important;
}

.prose pre code {
  background-color: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.prose blockquote {
  border-left: 3px solid var(--ploy-accent-primary) !important;
  background-color: rgba(110, 115, 68, 0.04) !important;
  padding: 0.75rem 1.25rem !important;
  margin: 1.5rem 0 !important;
  font-style: italic !important;
  color: var(--ploy-text-secondary) !important;
  border-radius: 0 4px 4px 0;
}

/* Table container for responsive scrolling */
.prose .table-container {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1.75rem 0;
  border: 1px solid var(--ploy-border-primary);
  border-radius: 6px;
}

.prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 13.5px;
}

.prose th {
  background-color: var(--ploy-neutral-primary-s1);
  color: var(--ploy-text-primary);
  text-align: left;
  font-weight: 600;
  padding: 12px 14px;
  border-bottom: 2px solid var(--ploy-border-primary);
}

.prose td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--ploy-border-primary);
  background-color: #ffffff;
  color: var(--ploy-text-secondary);
}

.prose tr:last-child td {
  border-bottom: none;
}

.prose tr:nth-child(even) td {
  background-color: var(--ploy-neutral-primary-s1);
}

/* Promo Banner / Callout Cards */
.cta-banner {
  background-color: var(--ploy-neutral-primary-s1) !important;
  border: 1px solid var(--ploy-border-primary) !important;
  border-radius: 6px !important;
  padding: 1.75rem !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease;
}

.cta-banner:hover {
  border-color: var(--ploy-accent-primary) !important;
}

/* Page Layout Wrappers */
.main-layout {
  flex: 1;
}

/* Custom container width and centering */
.main-layout-container {
  max-width: 1000px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Custom responsive layout utilities for search bar display */
@media (min-width: 640px) {
  .sm\:block {
    display: block !important;
  }
  .sm\:hidden {
    display: none !important;
  }
}
@media (max-width: 639px) {
  .sm\:hidden {
    display: block !important;
  }
  .sm\:block {
    display: none !important;
  }
}

/* Search size utilities */
.h-\[38px\] {
  height: 38px !important;
}
.max-w-\[300px\] {
  max-width: 300px !important;
}
@media (min-width: 768px) {
  .md\:max-w-\[400px\] {
    max-width: 400px !important;
  }
}

/* Navigation Search Bar Icon and Placeholder Positioning fixes */
.search {
  position: relative;
}

.search svg {
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 14px !important;
  height: 14px !important;
  pointer-events: none;
  z-index: 10;
}

.search input {
  padding-left: 36px !important;
  padding-right: 16px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  height: 38px !important;
  font-size: 14px !important;
  line-height: 38px !important; /* Perfect vertical centering for text & placeholder */
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
}
