/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
    --font-mono: "IBM Plex Mono", ui-monospace, monospace;
    --color-black: #000;
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --tracking-tight: -0.025em;
    --tracking-widest: 0.1em;
    --leading-relaxed: 1.625;
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --blur-md: 12px;
    --aspect-video: 16 / 9;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
    --default-mono-font-family: "IBM Plex Mono", ui-monospace, monospace;
    --font-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
    --color-background: var(--background);
    --color-foreground: var(--foreground);
    --color-primary: var(--primary);
    --color-ink-soft: var(--ink-soft);
    --color-border: var(--border);
    --shadow-soft: var(--shadow-soft);
    --shadow-lift: var(--shadow-lift);
    --shadow-glow: var(--shadow-glow);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .invisible {
    visibility: hidden;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: 0px;
  }
  .inset-x-0 {
    inset-inline: 0px;
  }
  .inset-y-0 {
    inset-block: 0px;
  }
  .-top-3 {
    top: calc(var(--spacing) * -3);
  }
  .-top-12 {
    top: calc(var(--spacing) * -12);
  }
  .top-0 {
    top: 0px;
  }
  .top-1\.5 {
    top: calc(var(--spacing) * 1.5);
  }
  .top-1\/2 {
    top: calc(1 / 2 * 100%);
  }
  .top-3\.5 {
    top: calc(var(--spacing) * 3.5);
  }
  .top-4 {
    top: calc(var(--spacing) * 4);
  }
  .top-10 {
    top: calc(var(--spacing) * 10);
  }
  .top-\[1px\] {
    top: 1px;
  }
  .top-\[50\%\] {
    top: 50%;
  }
  .top-\[60\%\] {
    top: 60%;
  }
  .top-full {
    top: 100%;
  }
  .-right-12 {
    right: calc(var(--spacing) * -12);
  }
  .right-0 {
    right: 0px;
  }
  .right-1 {
    right: var(--spacing);
  }
  .right-2 {
    right: calc(var(--spacing) * 2);
  }
  .right-3 {
    right: calc(var(--spacing) * 3);
  }
  .right-4 {
    right: calc(var(--spacing) * 4);
  }
  .-bottom-12 {
    bottom: calc(var(--spacing) * -12);
  }
  .bottom-0 {
    bottom: 0px;
  }
  .bottom-9 {
    bottom: calc(var(--spacing) * 9);
  }
  .-left-12 {
    left: calc(var(--spacing) * -12);
  }
  .left-0 {
    left: 0px;
  }
  .left-1\/2 {
    left: calc(1 / 2 * 100%);
  }
  .left-2 {
    left: calc(var(--spacing) * 2);
  }
  .left-8 {
    left: calc(var(--spacing) * 8);
  }
  .left-\[34px\] {
    left: 34px;
  }
  .left-\[50\%\] {
    left: 50%;
  }
  .z-10 {
    z-index: 10;
  }
  .z-20 {
    z-index: 20;
  }
  .z-50 {
    z-index: 50;
  }
  .z-\[1\] {
    z-index: 1;
  }
  .prose-legal h2 {
    font-size: 1.4rem;
    margin: 2.75rem 0 0.75rem;
  }
  .prose-legal h3 {
    font-size: 1.1rem;
    margin: 1.6rem 0 0.5rem;
  }
  .prose-legal p, .prose-legal li {
    color: var(--color-ink-soft);
    line-height: 1.7;
  }
  .prose-legal p {
    margin: 0.75rem 0;
  }
  .prose-legal ul {
    list-style: disc;
    padding-left: 1.4rem;
    margin: 0.75rem 0;
  }
  .prose-legal li {
    margin: 0.4rem 0;
  }
  .prose-legal a {
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .prose-legal strong {
    color: var(--color-foreground);
  }
  .-mx-1 {
    margin-inline: calc(var(--spacing) * -1);
  }
  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }
  .mx-3\.5 {
    margin-inline: calc(var(--spacing) * 3.5);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-0\.5 {
    margin-block: calc(var(--spacing) * 0.5);
  }
  .my-1 {
    margin-block: var(--spacing);
  }
  .-mt-4 {
    margin-top: calc(var(--spacing) * -4);
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: var(--spacing);
  }
  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-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-9 {
    margin-top: calc(var(--spacing) * 9);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-24 {
    margin-top: calc(var(--spacing) * 24);
  }
  .mt-auto {
    margin-top: auto;
  }
  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }
  .mb-1 {
    margin-bottom: var(--spacing);
  }
  .-ml-4 {
    margin-left: calc(var(--spacing) * -4);
  }
  .ml-1 {
    margin-left: var(--spacing);
  }
  .ml-1\.5 {
    margin-left: calc(var(--spacing) * 1.5);
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .ml-auto {
    margin-left: auto;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .aspect-square {
    aspect-ratio: 1 / 1;
  }
  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }
  .size-\(--cell-size\) {
    width: var(--cell-size);
    height: var(--cell-size);
  }
  .size-2\.5 {
    width: calc(var(--spacing) * 2.5);
    height: calc(var(--spacing) * 2.5);
  }
  .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-\[18px\] {
    width: 18px;
    height: 18px;
  }
  .h-\(--cell-size\) {
    height: var(--cell-size);
  }
  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }
  .h-2 {
    height: calc(var(--spacing) * 2);
  }
  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }
  .h-3 {
    height: calc(var(--spacing) * 3);
  }
  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-7 {
    height: calc(var(--spacing) * 7);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-9 {
    height: calc(var(--spacing) * 9);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-\[1px\] {
    height: 1px;
  }
  .h-\[70px\] {
    height: 70px;
  }
  .h-\[var\(--radix-navigation-menu-viewport-height\)\] {
    height: var(--radix-navigation-menu-viewport-height);
  }
  .h-\[var\(--radix-select-trigger-height\)\] {
    height: var(--radix-select-trigger-height);
  }
  .h-auto {
    height: auto;
  }
  .h-full {
    height: 100%;
  }
  .h-px {
    height: 1px;
  }
  .h-svh {
    height: 100svh;
  }
  .max-h-\(--radix-context-menu-content-available-height\) {
    max-height: var(--radix-context-menu-content-available-height);
  }
  .max-h-\(--radix-select-content-available-height\) {
    max-height: var(--radix-select-content-available-height);
  }
  .max-h-\[300px\] {
    max-height: 300px;
  }
  .max-h-\[var\(--radix-dropdown-menu-content-available-height\)\] {
    max-height: var(--radix-dropdown-menu-content-available-height);
  }
  .min-h-0 {
    min-height: 0px;
  }
  .min-h-\[60px\] {
    min-height: 60px;
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .min-h-svh {
    min-height: 100svh;
  }
  .w-\(--cell-size\) {
    width: var(--cell-size);
  }
  .w-\(--sidebar-width\) {
    width: var(--sidebar-width);
  }
  .w-0 {
    width: 0px;
  }
  .w-1 {
    width: var(--spacing);
  }
  .w-2 {
    width: calc(var(--spacing) * 2);
  }
  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }
  .w-3 {
    width: calc(var(--spacing) * 3);
  }
  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }
  .w-3\/4 {
    width: calc(3 / 4 * 100%);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-7 {
    width: calc(var(--spacing) * 7);
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-9 {
    width: calc(var(--spacing) * 9);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-64 {
    width: calc(var(--spacing) * 64);
  }
  .w-72 {
    width: calc(var(--spacing) * 72);
  }
  .w-\[1px\] {
    width: 1px;
  }
  .w-\[100px\] {
    width: 100px;
  }
  .w-auto {
    width: auto;
  }
  .w-fit {
    width: fit-content;
  }
  .w-full {
    width: 100%;
  }
  .w-max {
    width: max-content;
  }
  .w-px {
    width: 1px;
  }
  .max-w-\(--skeleton-width\) {
    max-width: var(--skeleton-width);
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-\[760px\] {
    max-width: 760px;
  }
  .max-w-\[860px\] {
    max-width: 860px;
  }
  .max-w-\[1120px\] {
    max-width: 1120px;
  }
  .max-w-lg {
    max-width: var(--container-lg);
  }
  .max-w-max {
    max-width: max-content;
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .max-w-xs {
    max-width: var(--container-xs);
  }
  .min-w-\(--cell-size\) {
    min-width: var(--cell-size);
  }
  .min-w-0 {
    min-width: 0px;
  }
  .min-w-5 {
    min-width: calc(var(--spacing) * 5);
  }
  .min-w-8 {
    min-width: calc(var(--spacing) * 8);
  }
  .min-w-9 {
    min-width: calc(var(--spacing) * 9);
  }
  .min-w-10 {
    min-width: calc(var(--spacing) * 10);
  }
  .min-w-\[8rem\] {
    min-width: 8rem;
  }
  .min-w-\[12rem\] {
    min-width: 12rem;
  }
  .min-w-\[var\(--radix-select-trigger-width\)\] {
    min-width: var(--radix-select-trigger-width);
  }
  .flex-1 {
    flex: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .grow {
    flex-grow: 1;
  }
  .grow-0 {
    flex-grow: 0;
  }
  .basis-full {
    flex-basis: 100%;
  }
  .caption-bottom {
    caption-side: bottom;
  }
  .border-collapse {
    border-collapse: collapse;
  }
  .origin-\(--radix-context-menu-content-transform-origin\) {
    transform-origin: var(--radix-context-menu-content-transform-origin);
  }
  .origin-\(--radix-dropdown-menu-content-transform-origin\) {
    transform-origin: var(--radix-dropdown-menu-content-transform-origin);
  }
  .origin-\(--radix-hover-card-content-transform-origin\) {
    transform-origin: var(--radix-hover-card-content-transform-origin);
  }
  .origin-\(--radix-menubar-content-transform-origin\) {
    transform-origin: var(--radix-menubar-content-transform-origin);
  }
  .origin-\(--radix-popover-content-transform-origin\) {
    transform-origin: var(--radix-popover-content-transform-origin);
  }
  .origin-\(--radix-select-content-transform-origin\) {
    transform-origin: var(--radix-select-content-transform-origin);
  }
  .origin-\(--radix-tooltip-content-transform-origin\) {
    transform-origin: var(--radix-tooltip-content-transform-origin);
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-x-px {
    --tw-translate-x: -1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-\[-50\%\] {
    --tw-translate-x: -50%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-px {
    --tw-translate-x: 1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-\[-50\%\] {
    --tw-translate-y: -50%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .rotate-45 {
    rotate: 45deg;
  }
  .rotate-90 {
    rotate: 90deg;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-caret-blink {
    animation: caret-blink 1.25s ease-out infinite;
  }
  .animate-in {
    animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
  }
  .animate-pulse {
    animation: var(--animate-pulse);
  }
  .cursor-default {
    cursor: default;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .touch-none {
    touch-action: none;
  }
  .scroll-mt-20 {
    scroll-margin-top: calc(var(--spacing) * 20);
  }
  .list-none {
    list-style-type: none;
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-col-reverse {
    flex-direction: column-reverse;
  }
  .flex-row {
    flex-direction: row;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .place-content-center {
    place-content: center;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .items-start {
    align-items: flex-start;
  }
  .items-stretch {
    align-items: stretch;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-1 {
    gap: var(--spacing);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  .gap-14 {
    gap: calc(var(--spacing) * 14);
  }
  :where(.space-y-1\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }
  :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)));
  }
  .gap-x-10 {
    column-gap: calc(var(--spacing) * 10);
  }
  :where(.space-x-1 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(var(--spacing) * var(--tw-space-x-reverse));
    margin-inline-end: calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)));
  }
  .gap-y-8 {
    row-gap: calc(var(--spacing) * 8);
  }
  :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-border > :not(:last-child)) {
    border-color: var(--border);
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-auto {
    overflow: auto;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-hidden {
    overflow-x: hidden;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .rounded-2xl {
    border-radius: calc(var(--radius) + 8px);
  }
  .rounded-3xl {
    border-radius: calc(var(--radius) + 12px);
  }
  .rounded-\[2px\] {
    border-radius: 2px;
  }
  .rounded-\[2rem\] {
    border-radius: 2rem;
  }
  .rounded-\[inherit\] {
    border-radius: inherit;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius);
  }
  .rounded-md {
    border-radius: calc(var(--radius) - 2px);
  }
  .rounded-none {
    border-radius: 0;
  }
  .rounded-sm {
    border-radius: calc(var(--radius) - 4px);
  }
  .rounded-xl {
    border-radius: calc(var(--radius) + 4px);
  }
  .rounded-t-\[10px\] {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
  }
  .rounded-l-md {
    border-top-left-radius: calc(var(--radius) - 2px);
    border-bottom-left-radius: calc(var(--radius) - 2px);
  }
  .rounded-tl-sm {
    border-top-left-radius: calc(var(--radius) - 4px);
  }
  .rounded-r-md {
    border-top-right-radius: calc(var(--radius) - 2px);
    border-bottom-right-radius: calc(var(--radius) - 2px);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-\[1\.5px\] {
    border-style: var(--tw-border-style);
    border-width: 1.5px;
  }
  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-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-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }
  .border-\(--color-border\) {
    border-color: var(--color-border);
  }
  .border-border {
    border-color: var(--border);
  }
  .border-border-strong {
    border-color: var(--border-strong);
  }
  .border-border\/50 {
    border-color: var(--border);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--border) 50%, transparent);
    }
  }
  .border-destructive\/50 {
    border-color: var(--destructive);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--destructive) 50%, transparent);
    }
  }
  .border-input {
    border-color: var(--input);
  }
  .border-primary {
    border-color: var(--primary);
  }
  .border-primary\/50 {
    border-color: var(--primary);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--primary) 50%, transparent);
    }
  }
  .border-success\/40 {
    border-color: var(--success);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--success) 40%, transparent);
    }
  }
  .border-transparent {
    border-color: transparent;
  }
  .border-t-transparent {
    border-top-color: transparent;
  }
  .border-l-transparent {
    border-left-color: transparent;
  }
  .bg-\(--color-bg\) {
    background-color: var(--color-bg);
  }
  .bg-accent {
    background-color: var(--accent);
  }
  .bg-background {
    background-color: var(--background);
  }
  .bg-background\/85 {
    background-color: var(--background);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--background) 85%, transparent);
    }
  }
  .bg-black\/80 {
    background-color: color-mix(in srgb, #000 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 80%, transparent);
    }
  }
  .bg-border {
    background-color: var(--border);
  }
  .bg-border-strong {
    background-color: var(--border-strong);
  }
  .bg-card {
    background-color: var(--card);
  }
  .bg-destructive {
    background-color: var(--destructive);
  }
  .bg-destructive\/70 {
    background-color: var(--destructive);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--destructive) 70%, transparent);
    }
  }
  .bg-foreground {
    background-color: var(--foreground);
  }
  .bg-muted {
    background-color: var(--muted);
  }
  .bg-muted\/50 {
    background-color: var(--muted);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--muted) 50%, transparent);
    }
  }
  .bg-popover {
    background-color: var(--popover);
  }
  .bg-primary {
    background-color: var(--primary);
  }
  .bg-primary-wash {
    background-color: var(--primary-wash);
  }
  .bg-primary\/10 {
    background-color: var(--primary);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--primary) 10%, transparent);
    }
  }
  .bg-primary\/20 {
    background-color: var(--primary);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--primary) 20%, transparent);
    }
  }
  .bg-secondary {
    background-color: var(--secondary);
  }
  .bg-success {
    background-color: var(--success);
  }
  .bg-success\/5 {
    background-color: var(--success);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--success) 5%, transparent);
    }
  }
  .bg-success\/15 {
    background-color: var(--success);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--success) 15%, transparent);
    }
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-gradient-to-b {
    --tw-gradient-position: to bottom in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .from-primary {
    --tw-gradient-from: var(--primary);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-primary-wash\/60 {
    --tw-gradient-from: var(--primary-wash);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-from: color-mix(in oklab, var(--primary-wash) 60%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-accent-deep {
    --tw-gradient-to: var(--accent-deep);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-background {
    --tw-gradient-to: var(--background);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .bg-clip-text {
    background-clip: text;
  }
  .fill-accent {
    fill: var(--accent);
  }
  .fill-current {
    fill: currentcolor;
  }
  .fill-primary {
    fill: var(--primary);
  }
  .p-0 {
    padding: 0px;
  }
  .p-1 {
    padding: var(--spacing);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-7 {
    padding: calc(var(--spacing) * 7);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .p-\[1px\] {
    padding: 1px;
  }
  .px-\(--cell-size\) {
    padding-inline: var(--cell-size);
  }
  .px-1 {
    padding-inline: var(--spacing);
  }
  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-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-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .px-\[18px\] {
    padding-inline: 18px;
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: var(--spacing);
  }
  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-7 {
    padding-block: calc(var(--spacing) * 7);
  }
  .py-14 {
    padding-block: calc(var(--spacing) * 14);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }
  .pt-0 {
    padding-top: 0px;
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-14 {
    padding-top: calc(var(--spacing) * 14);
  }
  .pr-1 {
    padding-right: var(--spacing);
  }
  .pr-2 {
    padding-right: calc(var(--spacing) * 2);
  }
  .pr-2\.5 {
    padding-right: calc(var(--spacing) * 2.5);
  }
  .pr-8 {
    padding-right: calc(var(--spacing) * 8);
  }
  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }
  .pb-24 {
    padding-bottom: calc(var(--spacing) * 24);
  }
  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }
  .pl-2\.5 {
    padding-left: calc(var(--spacing) * 2.5);
  }
  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }
  .pl-8 {
    padding-left: calc(var(--spacing) * 8);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .align-middle {
    vertical-align: middle;
  }
  .eyebrow {
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 0.75rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-primary);
  }
  .font-display {
    font-family: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
  }
  .font-mono {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-7xl {
    font-size: var(--text-7xl);
    line-height: var(--tw-leading, var(--text-7xl--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[0\.8rem\] {
    font-size: 0.8rem;
  }
  .text-\[10px\] {
    font-size: 10px;
  }
  .text-\[11px\] {
    font-size: 11px;
  }
  .text-\[13px\] {
    font-size: 13px;
  }
  .text-\[14\.5px\] {
    font-size: 14.5px;
  }
  .text-\[15\.5px\] {
    font-size: 15.5px;
  }
  .text-\[15px\] {
    font-size: 15px;
  }
  .text-\[16\.5px\] {
    font-size: 16.5px;
  }
  .text-\[16px\] {
    font-size: 16px;
  }
  .text-\[17px\] {
    font-size: 17px;
  }
  .text-\[20px\] {
    font-size: 20px;
  }
  .text-\[22px\] {
    font-size: 22px;
  }
  .text-\[clamp\(1\.7rem\,3\.4vw\,2\.3rem\)\] {
    font-size: clamp(1.7rem, 3.4vw, 2.3rem);
  }
  .text-\[clamp\(1\.9rem\,4vw\,2\.6rem\)\] {
    font-size: clamp(1.9rem, 4vw, 2.6rem);
  }
  .text-\[clamp\(2\.4rem\,6vw\,3\.9rem\)\] {
    font-size: clamp(2.4rem, 6vw, 3.9rem);
  }
  .text-\[clamp\(2rem\,5vw\,3rem\)\] {
    font-size: clamp(2rem, 5vw, 3rem);
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-\[-0\.03em\] {
    --tw-tracking: -0.03em;
    letter-spacing: -0.03em;
  }
  .tracking-\[0\.1em\] {
    --tw-tracking: 0.1em;
    letter-spacing: 0.1em;
  }
  .tracking-\[0\.14em\] {
    --tw-tracking: 0.14em;
    letter-spacing: 0.14em;
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .break-words {
    overflow-wrap: break-word;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .text-accent-deep {
    color: var(--accent-deep);
  }
  .text-accent-foreground {
    color: var(--accent-foreground);
  }
  .text-background {
    color: var(--background);
  }
  .text-card-foreground {
    color: var(--card-foreground);
  }
  .text-current {
    color: currentcolor;
  }
  .text-destructive {
    color: var(--destructive);
  }
  .text-destructive-foreground {
    color: var(--destructive-foreground);
  }
  .text-foreground {
    color: var(--foreground);
  }
  .text-ink-soft {
    color: var(--ink-soft);
  }
  .text-muted-foreground {
    color: var(--muted-foreground);
  }
  .text-popover-foreground {
    color: var(--popover-foreground);
  }
  .text-primary {
    color: var(--primary);
  }
  .text-primary-foreground {
    color: var(--primary-foreground);
  }
  .text-secondary-foreground {
    color: var(--secondary-foreground);
  }
  .text-success {
    color: var(--success);
  }
  .text-transparent {
    color: transparent;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .not-italic {
    font-style: normal;
  }
  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .line-through {
    text-decoration-line: line-through;
  }
  .underline {
    text-decoration-line: underline;
  }
  .underline-offset-2 {
    text-underline-offset: 2px;
  }
  .underline-offset-4 {
    text-underline-offset: 4px;
  }
  .opacity-0 {
    opacity: 0%;
  }
  .opacity-50 {
    opacity: 50%;
  }
  .opacity-55 {
    opacity: 55%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .opacity-70 {
    opacity: 70%;
  }
  .opacity-80 {
    opacity: 80%;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_0_0_1px_var\(--sidebar-border\)\] {
    --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-border));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-glow {
    --tw-shadow: var(--shadow-glow);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-lift {
    --tw-shadow: var(--shadow-lift);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-none {
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-soft {
    --tw-shadow: var(--shadow-soft);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-xs {
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-0 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-4 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-card {
    --tw-ring-color: var(--card);
  }
  .ring-ring {
    --tw-ring-color: var(--ring);
  }
  .ring-offset-background {
    --tw-ring-offset-color: var(--background);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .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-\[left\,right\,width\] {
    transition-property: left,right,width;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[margin\,opacity\] {
    transition-property: margin,opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[width\,height\,padding\] {
    transition-property: width,height,padding;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[width\] {
    transition-property: width;
    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-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-shadow {
    transition-property: box-shadow;
    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: 200ms;
    transition-duration: 200ms;
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .duration-1000 {
    --tw-duration: 1000ms;
    transition-duration: 1000ms;
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .ease-linear {
    --tw-ease: linear;
    transition-timing-function: linear;
  }
  .fade-in-0 {
    --tw-enter-opacity: calc(0/100);
    --tw-enter-opacity: 0;
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .zoom-in-95 {
    --tw-enter-scale: calc(95*1%);
    --tw-enter-scale: .95;
  }
  .\[--cell-size\:2rem\] {
    --cell-size: 2rem;
  }
  .group-open\:hidden:is(:where(.group):is([open], :popover-open, :open) *) {
    display: none;
  }
  .group-open\:inline:is(:where(.group):is([open], :popover-open, :open) *) {
    display: inline;
  }
  .group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *) {
    opacity: 100%;
  }
  @media (hover: hover) {
    .group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *) {
      opacity: 100%;
    }
  }
  .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has(:is([data-sidebar=menu-action])) *) {
    padding-right: calc(var(--spacing) * 8);
  }
  .group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible="icon"] *) {
    margin-top: calc(var(--spacing) * -8);
  }
  .group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible="icon"] *) {
    display: none;
  }
  .group-data-\[collapsible\=icon\]\:\!size-8:is(:where(.group)[data-collapsible="icon"] *) {
    width: calc(var(--spacing) * 8) !important;
    height: calc(var(--spacing) * 8) !important;
  }
  .group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible="icon"] *) {
    width: var(--sidebar-width-icon);
  }
  .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]:is(:where(.group)[data-collapsible="icon"] *) {
    width: calc(var(--sidebar-width-icon) + 1rem);
  }
  .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]:is(:where(.group)[data-collapsible="icon"] *) {
    width: calc(var(--sidebar-width-icon) + 1rem + 2px);
  }
  .group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible="icon"] *) {
    overflow: hidden;
  }
  .group-data-\[collapsible\=icon\]\:\!p-0:is(:where(.group)[data-collapsible="icon"] *) {
    padding: 0px !important;
  }
  .group-data-\[collapsible\=icon\]\:\!p-2:is(:where(.group)[data-collapsible="icon"] *) {
    padding: calc(var(--spacing) * 2) !important;
  }
  .group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible="icon"] *) {
    opacity: 0%;
  }
  .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible="offcanvas"] *) {
    right: calc(var(--sidebar-width) * -1);
  }
  .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible="offcanvas"] *) {
    left: calc(var(--sidebar-width) * -1);
  }
  .group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible="offcanvas"] *) {
    width: 0px;
  }
  .group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible="offcanvas"] *) {
    --tw-translate-x: 0px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused="true"] *) {
    position: relative;
  }
  .group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused="true"] *) {
    z-index: 10;
  }
  .group-data-\[focused\=true\]\/day\:border-ring:is(:where(.group\/day)[data-focused="true"] *) {
    border-color: var(--ring);
  }
  .group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused="true"] *) {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + 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);
  }
  .group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused="true"] *) {
    --tw-ring-color: var(--ring);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }
  .group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side="left"] *) {
    right: calc(var(--spacing) * -4);
  }
  .group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side="left"] *) {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }
  .group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side="right"] *) {
    left: 0px;
  }
  .group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side="right"] *) {
    rotate: 180deg;
  }
  .group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side="right"] *) {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state="open"] *) {
    rotate: 180deg;
  }
  .group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant="floating"] *) {
    border-radius: var(--radius);
  }
  .group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant="floating"] *) {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .group-data-\[variant\=floating\]\:shadow:is(:where(.group)[data-variant="floating"] *) {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .group-\[\.toast\]\:bg-muted:is(:where(.group):is(.toast) *) {
    background-color: var(--muted);
  }
  .group-\[\.toast\]\:bg-primary:is(:where(.group):is(.toast) *) {
    background-color: var(--primary);
  }
  .group-\[\.toast\]\:text-muted-foreground:is(:where(.group):is(.toast) *) {
    color: var(--muted-foreground);
  }
  .group-\[\.toast\]\:text-primary-foreground:is(:where(.group):is(.toast) *) {
    color: var(--primary-foreground);
  }
  .group-\[\.toaster\]\:border-border:is(:where(.group):is(.toaster) *) {
    border-color: var(--border);
  }
  .group-\[\.toaster\]\:bg-background:is(:where(.group):is(.toaster) *) {
    background-color: var(--background);
  }
  .group-\[\.toaster\]\:text-foreground:is(:where(.group):is(.toaster) *) {
    color: var(--foreground);
  }
  .group-\[\.toaster\]\:shadow-lg:is(:where(.group):is(.toaster) *) {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled ~ *) {
    cursor: not-allowed;
  }
  .peer-disabled\:opacity-70:is(:where(.peer):disabled ~ *) {
    opacity: 70%;
  }
  .peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size="default"] ~ *) {
    top: calc(var(--spacing) * 1.5);
  }
  .peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size="lg"] ~ *) {
    top: calc(var(--spacing) * 2.5);
  }
  .peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size="sm"] ~ *) {
    top: var(--spacing);
  }
  .file\:border-0::file-selector-button {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .file\:bg-transparent::file-selector-button {
    background-color: transparent;
  }
  .file\:text-sm::file-selector-button {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .file\:font-medium::file-selector-button {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .file\:text-foreground::file-selector-button {
    color: var(--foreground);
  }
  .placeholder\:text-muted-foreground::placeholder {
    color: var(--muted-foreground);
  }
  .after\:absolute::after {
    content: var(--tw-content);
    position: absolute;
  }
  .after\:-inset-2::after {
    content: var(--tw-content);
    inset: calc(var(--spacing) * -2);
  }
  .after\:inset-y-0::after {
    content: var(--tw-content);
    inset-block: 0px;
  }
  .after\:left-1\/2::after {
    content: var(--tw-content);
    left: calc(1 / 2 * 100%);
  }
  .after\:w-1::after {
    content: var(--tw-content);
    width: var(--spacing);
  }
  .after\:w-\[2px\]::after {
    content: var(--tw-content);
    width: 2px;
  }
  .after\:-translate-x-1\/2::after {
    content: var(--tw-content);
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible="offcanvas"] *)::after {
    content: var(--tw-content);
    left: 100%;
  }
  .first\:rounded-l-md:first-child {
    border-top-left-radius: calc(var(--radius) - 2px);
    border-bottom-left-radius: calc(var(--radius) - 2px);
  }
  .first\:border-l:first-child {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .last\:rounded-r-md:last-child {
    border-top-right-radius: calc(var(--radius) - 2px);
    border-bottom-right-radius: calc(var(--radius) - 2px);
  }
  @media (hover: hover) {
    .hover\:-translate-y-px:hover {
      --tw-translate-y: -1px;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .hover\:border-primary:hover {
      border-color: var(--primary);
    }
    .hover\:bg-accent:hover {
      background-color: var(--accent);
    }
    .hover\:bg-card:hover {
      background-color: var(--card);
    }
    .hover\:bg-destructive\/80:hover {
      background-color: var(--destructive);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-destructive\/80:hover {
        background-color: color-mix(in oklab, var(--destructive) 80%, transparent);
      }
    }
    .hover\:bg-destructive\/90:hover {
      background-color: var(--destructive);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-destructive\/90:hover {
        background-color: color-mix(in oklab, var(--destructive) 90%, transparent);
      }
    }
    .hover\:bg-muted:hover {
      background-color: var(--muted);
    }
    .hover\:bg-muted\/50:hover {
      background-color: var(--muted);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-muted\/50:hover {
        background-color: color-mix(in oklab, var(--muted) 50%, transparent);
      }
    }
    .hover\:bg-primary-deep:hover {
      background-color: var(--primary-deep);
    }
    .hover\:bg-primary-wash:hover {
      background-color: var(--primary-wash);
    }
    .hover\:bg-primary\/80:hover {
      background-color: var(--primary);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary\/80:hover {
        background-color: color-mix(in oklab, var(--primary) 80%, 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\:bg-secondary\/80:hover {
      background-color: var(--secondary);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-secondary\/80:hover {
        background-color: color-mix(in oklab, var(--secondary) 80%, transparent);
      }
    }
    .hover\:text-accent-foreground:hover {
      color: var(--accent-foreground);
    }
    .hover\:text-foreground:hover {
      color: var(--foreground);
    }
    .hover\:text-muted-foreground:hover {
      color: var(--muted-foreground);
    }
    .hover\:text-primary:hover {
      color: var(--primary);
    }
    .hover\:underline:hover {
      text-decoration-line: underline;
    }
    .hover\:opacity-100:hover {
      opacity: 100%;
    }
    .hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover {
      --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-accent));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    .hover\:shadow-lift:hover {
      --tw-shadow: var(--shadow-lift);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus\:bg-accent:focus {
    background-color: var(--accent);
  }
  .focus\:text-accent-foreground:focus {
    color: var(--accent-foreground);
  }
  .focus\:ring-1:focus {
    --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);
  }
  .focus\:ring-2:focus {
    --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\:ring-ring:focus {
    --tw-ring-color: var(--ring);
  }
  .focus\:ring-offset-2:focus {
    --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\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }
  .focus-visible\:ring-1:focus-visible {
    --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);
  }
  .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-ring:focus-visible {
    --tw-ring-color: var(--ring);
  }
  .focus-visible\:ring-offset-1:focus-visible {
    --tw-ring-offset-width: 1px;
    --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-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-background:focus-visible {
    --tw-ring-offset-color: var(--background);
  }
  .focus-visible\:outline-none:focus-visible {
    --tw-outline-style: none;
    outline-style: none;
  }
  .disabled\:pointer-events-none:disabled {
    pointer-events: none;
  }
  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }
  .disabled\:opacity-50:disabled {
    opacity: 50%;
  }
  .has-focus\:border-ring:has(:focus) {
    border-color: var(--ring);
  }
  .has-focus\:ring-\[3px\]:has(:focus) {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .has-focus\:ring-ring\/50:has(:focus) {
    --tw-ring-color: var(--ring);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }
  .has-\[\:disabled\]\:opacity-50:has(:is(:disabled)) {
    opacity: 50%;
  }
  .aria-disabled\:pointer-events-none[aria-disabled="true"] {
    pointer-events: none;
  }
  .aria-disabled\:opacity-50[aria-disabled="true"] {
    opacity: 50%;
  }
  .aria-selected\:text-muted-foreground[aria-selected="true"] {
    color: var(--muted-foreground);
  }
  .data-\[active\=true\]\:font-medium[data-active="true"] {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .data-\[disabled\]\:pointer-events-none[data-disabled] {
    pointer-events: none;
  }
  .data-\[disabled\]\:opacity-50[data-disabled] {
    opacity: 50%;
  }
  .data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
    pointer-events: none;
  }
  .data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
    opacity: 50%;
  }
  .data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"] {
    --tw-enter-translate-x: calc(52*var(--spacing));
  }
  .data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"] {
    --tw-enter-translate-x: calc(52*var(--spacing)*-1);
  }
  .data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"] {
    --tw-exit-translate-x: calc(52*var(--spacing));
  }
  .data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"] {
    --tw-exit-translate-x: calc(52*var(--spacing)*-1);
  }
  .data-\[motion\^\=from-\]\:animate-in[data-motion^="from-"] {
    animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
  }
  .data-\[motion\^\=from-\]\:fade-in[data-motion^="from-"] {
    --tw-enter-opacity: 0;
  }
  .data-\[motion\^\=to-\]\:animate-out[data-motion^="to-"] {
    animation: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
  }
  .data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"] {
    --tw-exit-opacity: 0;
  }
  .data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"] {
    height: 1px;
  }
  .data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"] {
    width: 100%;
  }
  .data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"] {
    flex-direction: column;
  }
  .data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction="vertical"]::after {
    content: var(--tw-content);
    left: 0px;
  }
  .data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction="vertical"]::after {
    content: var(--tw-content);
    height: var(--spacing);
  }
  .data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction="vertical"]::after {
    content: var(--tw-content);
    width: 100%;
  }
  .data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction="vertical"]::after {
    content: var(--tw-content);
    --tw-translate-x: 0px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction="vertical"]::after {
    content: var(--tw-content);
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
    color: var(--muted-foreground);
  }
  .data-\[range-end\=true\]\:rounded-md[data-range-end="true"] {
    border-radius: calc(var(--radius) - 2px);
  }
  .data-\[range-end\=true\]\:bg-primary[data-range-end="true"] {
    background-color: var(--primary);
  }
  .data-\[range-end\=true\]\:text-primary-foreground[data-range-end="true"] {
    color: var(--primary-foreground);
  }
  .data-\[range-middle\=true\]\:rounded-none[data-range-middle="true"] {
    border-radius: 0;
  }
  .data-\[range-middle\=true\]\:bg-accent[data-range-middle="true"] {
    background-color: var(--accent);
  }
  .data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle="true"] {
    color: var(--accent-foreground);
  }
  .data-\[range-start\=true\]\:rounded-md[data-range-start="true"] {
    border-radius: calc(var(--radius) - 2px);
  }
  .data-\[range-start\=true\]\:bg-primary[data-range-start="true"] {
    background-color: var(--primary);
  }
  .data-\[range-start\=true\]\:text-primary-foreground[data-range-start="true"] {
    color: var(--primary-foreground);
  }
  .data-\[selected-single\=true\]\:bg-primary[data-selected-single="true"] {
    background-color: var(--primary);
  }
  .data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single="true"] {
    color: var(--primary-foreground);
  }
  .data-\[selected\=true\]\:rounded-none[data-selected="true"] {
    border-radius: 0;
  }
  .data-\[selected\=true\]\:bg-accent[data-selected="true"] {
    background-color: var(--accent);
  }
  .data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
    color: var(--accent-foreground);
  }
  .data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
    --tw-translate-y: var(--spacing);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
    --tw-enter-translate-y: calc(2*var(--spacing)*-1);
  }
  .data-\[side\=left\]\:-translate-x-1[data-side="left"] {
    --tw-translate-x: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
    --tw-enter-translate-x: calc(2*var(--spacing));
  }
  .data-\[side\=right\]\:translate-x-1[data-side="right"] {
    --tw-translate-x: var(--spacing);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
    --tw-enter-translate-x: calc(2*var(--spacing)*-1);
  }
  .data-\[side\=top\]\:-translate-y-1[data-side="top"] {
    --tw-translate-y: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
    --tw-enter-translate-y: calc(2*var(--spacing));
  }
  .data-\[state\=active\]\:bg-background[data-state="active"] {
    background-color: var(--background);
  }
  .data-\[state\=active\]\:text-foreground[data-state="active"] {
    color: var(--foreground);
  }
  .data-\[state\=active\]\:shadow[data-state="active"] {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .data-\[state\=checked\]\:translate-x-4[data-state="checked"] {
    --tw-translate-x: calc(var(--spacing) * 4);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .data-\[state\=checked\]\:bg-primary[data-state="checked"] {
    background-color: var(--primary);
  }
  .data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
    color: var(--primary-foreground);
  }
  .data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] {
    animation: accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
  }
  .data-\[state\=closed\]\:animate-out[data-state="closed"] {
    animation: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
  }
  .data-\[state\=closed\]\:duration-300[data-state="closed"] {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
    --tw-exit-opacity: calc(0/100);
    --tw-exit-opacity: 0;
  }
  .data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
    --tw-exit-scale: calc(95*1%);
    --tw-exit-scale: .95;
  }
  .data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] {
    --tw-exit-translate-y: 100%;
  }
  .data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] {
    --tw-exit-translate-x: -100%;
  }
  .data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
    --tw-exit-translate-x: 100%;
  }
  .data-\[state\=closed\]\:slide-out-to-top[data-state="closed"] {
    --tw-exit-translate-y: -100%;
  }
  .data-\[state\=hidden\]\:animate-out[data-state="hidden"] {
    animation: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
  }
  .data-\[state\=hidden\]\:fade-out[data-state="hidden"] {
    --tw-exit-opacity: 0;
  }
  .data-\[state\=on\]\:bg-accent[data-state="on"] {
    background-color: var(--accent);
  }
  .data-\[state\=on\]\:text-accent-foreground[data-state="on"] {
    color: var(--accent-foreground);
  }
  .data-\[state\=open\]\:animate-accordion-down[data-state="open"] {
    animation: accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
  }
  .data-\[state\=open\]\:animate-in[data-state="open"] {
    animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
  }
  .data-\[state\=open\]\:bg-accent[data-state="open"] {
    background-color: var(--accent);
  }
  .data-\[state\=open\]\:bg-accent\/50[data-state="open"] {
    background-color: var(--accent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--accent) 50%, transparent);
    }
  }
  .data-\[state\=open\]\:bg-secondary[data-state="open"] {
    background-color: var(--secondary);
  }
  .data-\[state\=open\]\:text-accent-foreground[data-state="open"] {
    color: var(--accent-foreground);
  }
  .data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
    color: var(--muted-foreground);
  }
  .data-\[state\=open\]\:opacity-100[data-state="open"] {
    opacity: 100%;
  }
  .data-\[state\=open\]\:duration-500[data-state="open"] {
    --tw-duration: 500ms;
    transition-duration: 500ms;
  }
  .data-\[state\=open\]\:fade-in-0[data-state="open"] {
    --tw-enter-opacity: calc(0/100);
    --tw-enter-opacity: 0;
  }
  .data-\[state\=open\]\:zoom-in-90[data-state="open"] {
    --tw-enter-scale: calc(90*1%);
    --tw-enter-scale: .9;
  }
  .data-\[state\=open\]\:zoom-in-95[data-state="open"] {
    --tw-enter-scale: calc(95*1%);
    --tw-enter-scale: .95;
  }
  .data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] {
    --tw-enter-translate-y: 100%;
  }
  .data-\[state\=open\]\:slide-in-from-left[data-state="open"] {
    --tw-enter-translate-x: -100%;
  }
  .data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
    --tw-enter-translate-x: 100%;
  }
  .data-\[state\=open\]\:slide-in-from-top[data-state="open"] {
    --tw-enter-translate-y: -100%;
  }
  @media (hover: hover) {
    .data-\[state\=open\]\:hover\:bg-accent[data-state="open"]:hover {
      background-color: var(--accent);
    }
  }
  .data-\[state\=open\]\:focus\:bg-accent[data-state="open"]:focus {
    background-color: var(--accent);
  }
  .data-\[state\=selected\]\:bg-muted[data-state="selected"] {
    background-color: var(--muted);
  }
  .data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
    --tw-translate-x: 0px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
    background-color: var(--input);
  }
  .data-\[state\=visible\]\:animate-in[data-state="visible"] {
    animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
  }
  .data-\[state\=visible\]\:fade-in[data-state="visible"] {
    --tw-enter-opacity: 0;
  }
  @media (width >= 40rem) {
    .sm\:mt-0 {
      margin-top: 0px;
    }
    .sm\:flex {
      display: flex;
    }
    .sm\:inline-flex {
      display: inline-flex;
    }
    .sm\:max-w-sm {
      max-width: var(--container-sm);
    }
    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm\:flex-row {
      flex-direction: row;
    }
    .sm\:items-center {
      align-items: center;
    }
    .sm\:justify-between {
      justify-content: space-between;
    }
    .sm\:justify-end {
      justify-content: flex-end;
    }
    .sm\:gap-2\.5 {
      gap: calc(var(--spacing) * 2.5);
    }
    :where(.sm\:space-x-2 > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
    }
    .sm\:rounded-lg {
      border-radius: var(--radius);
    }
    .sm\:p-12 {
      padding: calc(var(--spacing) * 12);
    }
    .sm\:px-12 {
      padding-inline: calc(var(--spacing) * 12);
    }
    .sm\:text-left {
      text-align: left;
    }
  }
  @media (width >= 48rem) {
    .md\:absolute {
      position: absolute;
    }
    .md\:block {
      display: block;
    }
    .md\:flex {
      display: flex;
    }
    .md\:hidden {
      display: none;
    }
    .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] {
      width: var(--radix-navigation-menu-viewport-width);
    }
    .md\:w-auto {
      width: auto;
    }
    .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_1fr\] {
      grid-template-columns: 1.4fr 1fr 1fr 1fr;
    }
    .md\:flex-row {
      flex-direction: row;
    }
    .md\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
    .md\:opacity-0 {
      opacity: 0%;
    }
    .md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant="inset"] ~ *) {
      margin: calc(var(--spacing) * 2);
    }
    .md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant="inset"] ~ *) {
      margin-left: 0px;
    }
    .md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant="inset"] ~ *) {
      border-radius: calc(var(--radius) + 4px);
    }
    .md\:peer-data-\[variant\=inset\]\:shadow:is(:where(.peer)[data-variant="inset"] ~ *) {
      --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    .md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2:is(:where(.peer)[data-state="collapsed"] ~ *):is(:where(.peer)[data-variant="inset"] ~ *) {
      margin-left: calc(var(--spacing) * 2);
    }
  }
  .after\:md\:hidden::after {
    content: var(--tw-content);
    @media (width >= 48rem) {
      display: none;
    }
  }
  @media (width >= 64rem) {
    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .lg\:grid-cols-\[1\.05fr_1fr\] {
      grid-template-columns: 1.05fr 1fr;
    }
    .lg\:grid-cols-\[1fr_1fr\] {
      grid-template-columns: 1fr 1fr;
    }
    .lg\:py-24 {
      padding-block: calc(var(--spacing) * 24);
    }
    .lg\:block {
      display: block;
    }
  }
  .dark\:border-destructive:is(.dark *) {
    border-color: var(--destructive);
  }
  .\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
    fill: var(--muted-foreground);
  }
  .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke='#ccc'] {
    stroke: var(--border);
    @supports (color: color-mix(in lab, red, red)) {
      stroke: color-mix(in oklab, var(--border) 50%, transparent);
    }
  }
  .\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
    stroke: var(--border);
  }
  .\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke='#fff'] {
    stroke: transparent;
  }
  .\[\&_\.recharts-layer\]\:outline-none .recharts-layer {
    --tw-outline-style: none;
    outline-style: none;
  }
  .\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke='#ccc'] {
    stroke: var(--border);
  }
  .\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector {
    fill: var(--muted);
  }
  .\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
    fill: var(--muted);
  }
  .\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc'] {
    stroke: var(--border);
  }
  .\[\&_\.recharts-sector\]\:outline-none .recharts-sector {
    --tw-outline-style: none;
    outline-style: none;
  }
  .\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke='#fff'] {
    stroke: transparent;
  }
  .\[\&_\.recharts-surface\]\:outline-none .recharts-surface {
    --tw-outline-style: none;
    outline-style: none;
  }
  .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
    padding-inline: calc(var(--spacing) * 2);
  }
  .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
    color: var(--muted-foreground);
  }
  .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
    padding-inline: calc(var(--spacing) * 2);
  }
  .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~ [cmdk-group] {
    padding-top: 0px;
  }
  .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
    height: calc(var(--spacing) * 5);
  }
  .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
    width: calc(var(--spacing) * 5);
  }
  .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
    height: calc(var(--spacing) * 12);
  }
  .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
    padding-inline: calc(var(--spacing) * 2);
  }
  .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
    padding-block: calc(var(--spacing) * 3);
  }
  .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
    height: calc(var(--spacing) * 5);
  }
  .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
    width: calc(var(--spacing) * 5);
  }
  .\[\&_a\]\:transition-colors a {
    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));
  }
  .\[\&_a\:hover\]\:text-primary a:hover {
    color: var(--primary);
  }
  .\[\&_p\]\:leading-relaxed p {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .\[\&_svg\]\:pointer-events-none svg {
    pointer-events: none;
  }
  .\[\&_svg\]\:size-4 svg {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
  }
  .\[\&_tr\]\:border-b tr {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .\[\&_tr\:last-child\]\:border-0 tr:last-child {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button {
    border-top-left-radius: calc(var(--radius) - 2px);
    border-bottom-left-radius: calc(var(--radius) - 2px);
  }
  .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
    padding-right: 0px;
  }
  :is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) *):is(.rdp-button_next > svg) {
    rotate: 180deg;
  }
  :is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) *):is(.rdp-button_previous > svg) {
    rotate: 180deg;
  }
  .\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button {
    border-top-right-radius: calc(var(--radius) - 2px);
    border-bottom-right-radius: calc(var(--radius) - 2px);
  }
  .\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\] > [role=checkbox] {
    --tw-translate-y: 2px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .\[\&\>button\]\:hidden > button {
    display: none;
  }
  .\[\&\>span\]\:line-clamp-1 > span {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }
  .\[\&\>span\]\:text-xs > span {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .\[\&\>span\]\:opacity-70 > span {
    opacity: 70%;
  }
  .\[\&\>span\:last-child\]\:truncate > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .\[\&\>svg\]\:absolute > svg {
    position: absolute;
  }
  .\[\&\>svg\]\:top-4 > svg {
    top: calc(var(--spacing) * 4);
  }
  .\[\&\>svg\]\:left-4 > svg {
    left: calc(var(--spacing) * 4);
  }
  .\[\&\>svg\]\:size-3\.5 > svg {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }
  .\[\&\>svg\]\:size-4 > svg {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .\[\&\>svg\]\:h-2\.5 > svg {
    height: calc(var(--spacing) * 2.5);
  }
  .\[\&\>svg\]\:h-3 > svg {
    height: calc(var(--spacing) * 3);
  }
  .\[\&\>svg\]\:h-3\.5 > svg {
    height: calc(var(--spacing) * 3.5);
  }
  .\[\&\>svg\]\:w-2\.5 > svg {
    width: calc(var(--spacing) * 2.5);
  }
  .\[\&\>svg\]\:w-3 > svg {
    width: calc(var(--spacing) * 3);
  }
  .\[\&\>svg\]\:w-3\.5 > svg {
    width: calc(var(--spacing) * 3.5);
  }
  .\[\&\>svg\]\:shrink-0 > svg {
    flex-shrink: 0;
  }
  .\[\&\>svg\]\:text-destructive > svg {
    color: var(--destructive);
  }
  .\[\&\>svg\]\:text-foreground > svg {
    color: var(--foreground);
  }
  .\[\&\>svg\]\:text-muted-foreground > svg {
    color: var(--muted-foreground);
  }
  .\[\&\>svg\+div\]\:translate-y-\[-3px\] > svg + div {
    --tw-translate-y: -3px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .\[\&\>svg\~\*\]\:pl-7 > svg ~ * {
    padding-left: calc(var(--spacing) * 7);
  }
  .\[\&\>tr\]\:last\:border-b-0 > tr:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0px;
  }
  .\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical] > div {
    rotate: 90deg;
  }
  .\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open] > svg {
    rotate: 180deg;
  }
  [data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize {
    cursor: w-resize;
  }
  [data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
    right: calc(var(--spacing) * -2);
  }
  [data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
    cursor: e-resize;
  }
  [data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize {
    cursor: e-resize;
  }
  [data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
    left: calc(var(--spacing) * -2);
  }
  [data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
    cursor: w-resize;
  }
  [data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent {
    background-color: transparent;
  }
  [data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent {
    background-color: transparent;
  }
}
@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 {
  --radius: 1rem;
  --background: oklch(0.955 0.008 300);
  --foreground: oklch(0.215 0.028 310);
  --ink-soft: oklch(0.4 0.022 305);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.215 0.028 310);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.215 0.028 310);
  --primary: oklch(0.552 0.238 285.5);
  --primary-foreground: oklch(0.99 0 0);
  --primary-deep: oklch(0.455 0.235 284);
  --primary-wash: oklch(0.935 0.032 292);
  --secondary: oklch(1 0 0);
  --secondary-foreground: oklch(0.215 0.028 310);
  --muted: oklch(0.93 0.012 300);
  --muted-foreground: oklch(0.6 0.022 300);
  --accent: oklch(0.812 0.161 76);
  --accent-foreground: oklch(0.215 0.028 310);
  --accent-deep: oklch(0.68 0.17 62);
  --success: oklch(0.64 0.145 158);
  --destructive: oklch(0.6 0.22 22);
  --destructive-foreground: oklch(0.99 0 0);
  --border: oklch(0.912 0.014 296);
  --border-strong: oklch(0.855 0.022 296);
  --input: oklch(0.912 0.014 296);
  --ring: oklch(0.552 0.238 285.5);
  --shadow-soft: 0 1px 2px oklch(0.215 0.028 310 / 0.04);
  --shadow-lift: 0 1px 2px oklch(0.215 0.028 310 / 0.04), 0 12px 32px -12px oklch(0.455 0.235 284 / 0.18);
  --shadow-glow: 0 8px 20px -8px oklch(0.552 0.238 285.5 / 0.6);
}
@layer base {
  * {
    border-color: var(--color-border);
  }
  html {
    scroll-behavior: smooth;
  }
  body {
    background-color: var(--color-background);
    color: var(--color-foreground);
    font-family: var(--font-sans);
    -webkit-font-smoothing: antialiased;
  }
  h1, h2, h3 {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.06;
  }
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@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: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity,1);
    transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));
    filter: blur(var(--tw-enter-blur,0));
  }
}
@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity,1);
    transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));
    filter: blur(var(--tw-exit-blur,0));
  }
}
@keyframes accordion-down {
  from {
    height: 0;
  }
  to {
    height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))));
  }
}
@keyframes accordion-up {
  from {
    height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))));
  }
  to {
    height: 0;
  }
}
@keyframes caret-blink {
  0%,70%,100% {
    opacity: 1;
  }
  20%,50% {
    opacity: 0;
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --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-content: "";
      --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;
    }
  }
}

/* v8: homepage "get in touch" CTA form, in the final dark CTA band.
   Written as plain scoped CSS (not Tailwind utility classes) because this
   stylesheet is a purged/static build — only the utility classes already
   used elsewhere in the source at build time exist in it, so inventing new
   ones (e.g. "border-white/25") silently produces no rule at all. */
.hp-cta-form { max-width: 32rem; margin: 2.5rem auto 0; text-align: left; }
.hp-cta-form__eyebrow {
  margin: 0 0 1rem; text-align: center; font-size: 13px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .04em; opacity: .7;
}
.hp-cta-form__errors {
  margin-bottom: 1rem; border: 1px solid rgba(248,113,113,.5); background: rgba(239,68,68,.12);
  border-radius: .75rem; padding: .75rem 1rem; font-size: 13.5px; color: var(--background);
}
.hp-cta-form__errors ul { margin: 4px 0 0; padding-left: 1.25rem; }
.hp-cta-form__errors-note { margin: 4px 0 0; opacity: .85; }
/* v11: success banner after a homepage-CTA lead submits (redirect-back + flashdata,
   see Contact::submit()/home.php) and the dismiss control on it. */
.hp-cta-form__success {
  margin-bottom: 1rem; display: flex; align-items: flex-start; gap: .6rem;
  border: 1px solid rgba(74,222,128,.45); background: rgba(34,197,94,.14);
  border-radius: .75rem; padding: .75rem 1rem; font-size: 13.5px; color: var(--background);
}
.hp-cta-form__success svg { flex: none; margin-top: 2px; color: #4ade80; }
.hp-cta-form__success span { flex: 1; }
.hp-cta-form__dismiss {
  flex: none; border: 0; background: transparent; color: inherit; opacity: .6;
  cursor: pointer; font-size: 18px; line-height: 1; padding: 0 2px;
}
.hp-cta-form__dismiss:hover { opacity: 1; }

/* v11: hero-adjacent decorative flourish (SVG, see home.php) — soft, behind
   the content grid, never intercepts clicks/taps. */
.hp-flourish--hero { position: absolute; top: -60px; right: -40px; width: 420px; height: 420px; }
.hp-cta-form__grid {
  display: grid; grid-template-columns: 1fr; gap: .75rem; position: relative;
}
@media (min-width: 640px) { .hp-cta-form__grid { grid-template-columns: 1fr 1fr; } }
.hp-cta-form__full { grid-column: 1 / -1; }
.hp-cta-form__sr {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.hp-cta-form__input {
  width: 100%; border-radius: .75rem; border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.1); color: var(--background); padding: .75rem 1rem;
  font: inherit; font-size: 15px; outline: none;
}
.hp-cta-form__input::placeholder { color: rgba(255,255,255,.6); }
.hp-cta-form__input:focus { border-color: rgba(255,255,255,.6); }
.hp-cta-form__hp { position: absolute; left: -9999px; }
.hp-cta-form__submit {
  display: inline-flex; align-items: center; justify-content: center; margin-top: 4px;
  border-radius: .75rem; background: var(--primary); color: var(--primary-foreground);
  padding: .85rem 1.5rem; font-size: 15px; font-weight: 600; border: 0; cursor: pointer;
  transition: background-color .15s;
}
.hp-cta-form__submit:hover { background: var(--primary-deep, var(--primary)); }

/* The shared bp_phone partial's own CSS lives in blueprint.css, loaded
   only on the /contact-style pages — restyle it here for this dark card. */
.hp-cta-form .bp-field { display: flex; flex-direction: column; gap: 7px; }
.hp-cta-form .bp-field label { font-size: 13px; font-weight: 600; color: var(--background); opacity: .85; }
.hp-cta-form .bp-tel {
  position: relative; display: flex; align-items: stretch; border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.1); border-radius: .75rem;
}
.hp-cta-form .bp-tel:focus-within { border-color: rgba(255,255,255,.6); }

/* Inline per-field validation (blueprint.js [data-validate]) restyled to
   read clearly on the coloured CTA band, matching the intent of the
   contact page's red inline errors without clashing with this dark/tinted
   background. */
.hp-cta-form .bp-field__err {
  display: block; margin-top: 5px; font-size: 12.5px; font-weight: 600;
  color: #fff; background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.35);
  border-radius: .5rem; padding: 3px 8px; width: fit-content;
}
.hp-cta-form .bp-field__err[hidden] { display: none; }
.hp-cta-form [aria-invalid="true"] {
  border-color: #fff !important; background: rgba(255,255,255,.22) !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,.25) !important;
}
.hp-cta-form .hp-cta-form__input[aria-invalid="true"]::placeholder { color: rgba(255,255,255,.85); }
.hp-cta-form .bp-tel__cc {
  flex: none; width: 118px; border: 0; border-right: 1px solid rgba(255,255,255,.2);
  background: transparent; color: var(--background); font-size: 13px; padding: 0 8px;
}
.hp-cta-form .bp-tel__cc option { color: #111; }
.hp-cta-form .bp-tel input[type=tel] {
  flex: 1; min-width: 0; border: 0; background: transparent; color: var(--background);
  padding: 12px 14px; font-size: 15px; outline: none;
}
.hp-cta-form .bp-tel input[type=tel]::placeholder { color: rgba(255,255,255,.6); }

/* v9: "Gradient SaaS" visual refresh (design-concepts/1-gradient-saas.html).
   Same reason as the block above — this stylesheet is a purged Tailwind
   build, so any new look needs hand-written, scoped CSS rather than
   unused-until-now utility classes. Nothing here touches the PHP loops,
   setting() calls or form markup that drive the homepage; it only restyles
   the wrappers already emitted by site/home.php. */
.hero-glow { position: relative; overflow: hidden; }
.hero-glow::before {
  content: ""; position: absolute; top: -220px; right: -180px; width: 640px; height: 640px;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-deep) 100%);
  opacity: .16; filter: blur(90px); border-radius: 50%; pointer-events: none;
}
.hero-glow::after {
  content: ""; position: absolute; bottom: -240px; left: -200px; width: 560px; height: 560px;
  background: radial-gradient(circle, color-mix(in oklab, var(--accent) 45%, transparent), transparent 70%);
  border-radius: 50%; pointer-events: none;
}
.hero-glow > * { position: relative; }

/* Gradient text highlight — rendered by design_text()'s [bracket] syntax. */
.hl {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-deep) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* "How it works" numbered badge, replacing the plain mono numeral. */
.step-badge {
  display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: .75rem;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-deep) 100%);
  color: var(--primary-foreground); font-family: var(--font-mono); font-weight: 700; font-size: 17px;
}

/* Feature icon chip. */
.feature-icon-box {
  display: flex; align-items: center; justify-content: center; flex: none;
  width: 40px; height: 40px; border-radius: .65rem; background: var(--primary-wash); color: var(--primary);
}

/* Featured pricing card: dark, gradient-tinted card with light text + gold accents. */
.price-card-featured {
  background: linear-gradient(160deg, var(--foreground) 0%, var(--primary-deep) 160%) !important;
  border-color: transparent !important;
  box-shadow: 0 30px 60px -20px color-mix(in oklab, var(--foreground) 45%, transparent);
}
.price-card-featured h3,
.price-card-featured .font-display { color: var(--background); }
.price-card-featured .text-muted-foreground { color: color-mix(in oklab, var(--background) 55%, transparent); }
.price-card-featured .text-ink-soft { color: color-mix(in oklab, var(--background) 82%, transparent); }
.price-card-featured svg { color: var(--accent); stroke: var(--accent); }
.price-card-featured .bg-primary {
  background: var(--background) !important; color: var(--primary-deep) !important; box-shadow: none;
}
.price-card-featured .bg-primary:hover { background: color-mix(in oklab, var(--background) 90%, var(--primary-wash)) !important; }
.price-card-featured > .absolute { background: var(--accent) !important; color: #3a2500 !important; }

/* Final CTA band: violet→indigo gradient instead of the flat dark panel. */
.cta-gradient { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-deep) 100%) !important; }
.cta-gradient .bg-primary { background: var(--background) !important; color: var(--primary-deep) !important; }
.cta-gradient .bg-primary:hover { background: color-mix(in oklab, var(--background) 90%, var(--primary-wash)) !important; }

/* ===================================================================
   v13 homepage structural rebuild — dark hero, wavy full-bleed bands,
   alternating feature rows, hand-drawn accent headings. All colours
   reference the same --primary/--accent/--foreground/etc custom
   properties as the rest of the file, so Settings -> Branding overrides
   (Themes::marketingVars()) keep working unchanged.
   =================================================================== */

.hp-section { padding-top: 5rem; padding-bottom: 5rem; }

/* -- Hero -- */
/* v15: the hero's dark/light/brand tone follows the active Branding theme's
   "Feature sections" setting (theme_hero) — the SAME setting blog/pricing
   pages already read (layouts/public.php's `bp-hero-*` body class). It is
   NOT the same "always this mode regardless of theme" pattern as the
   footer, which has its own independent theme_footer setting — that
   conflation was the v14 bug. `.hp-hero` alone stays as the dark default
   (unconfigured installs / legacy behaviour); `.hp-hero--light` and
   `.hp-hero--brand` (added by app/Views/site/home.php from $heroTone)
   override it. */
.hp-hero { position: relative; overflow: hidden; background: color-mix(in oklab, var(--foreground) 78%, black); border-bottom: 1px solid color-mix(in oklab, var(--background) 15%, transparent); }
.hp-hero.hp-hero--light {
  background: var(--card);
  color: var(--foreground);
  border-bottom: 1px solid var(--border);
}
.hp-hero.hp-hero--light h1,
.hp-hero.hp-hero--light .text-background { color: var(--foreground); }
.hp-hero.hp-hero--light .hp-hero-secondary { border-color: var(--border); color: var(--foreground); }
.hp-hero.hp-hero--light .hp-hero-secondary:hover { border-color: var(--border-strong); background: color-mix(in oklab, var(--foreground) 6%, transparent); }
.hp-hero.hp-hero--brand {
  background: var(--primary);
  color: var(--primary-foreground);
  border-bottom: 1px solid color-mix(in oklab, var(--primary-foreground) 20%, transparent);
}
.hp-hero.hp-hero--brand h1,
.hp-hero.hp-hero--brand .text-background { color: var(--primary-foreground); }
.hp-hero.hp-hero--brand .hp-hero-secondary { border-color: color-mix(in oklab, var(--primary-foreground) 40%, transparent); color: var(--primary-foreground); }
.hp-hero.hp-hero--brand .hp-hero-secondary:hover { border-color: color-mix(in oklab, var(--primary-foreground) 70%, transparent); background: color-mix(in oklab, var(--primary-foreground) 10%, transparent); }
.hp-hero-bullets { margin-top: 1.5rem; display: flex; flex-direction: column; gap: .65rem; padding: 0; list-style: none; }
.hp-hero-bullets li { position: relative; padding-left: 1.6rem; font-size: 14.5px; line-height: 1.5; opacity: .82; }
.hp-hero-bullets li::before {
  content: ""; position: absolute; left: 0; top: .45em; width: 9px; height: 9px; border-radius: 3px;
  background: var(--accent);
}
.hp-hero-secondary {
  display: inline-flex; align-items: center; gap: .5rem; border-radius: .75rem;
  border: 1px solid color-mix(in oklab, var(--background) 30%, transparent);
  padding: .85rem 1.25rem; font-size: 15px; font-weight: 600; color: var(--background);
  transition: border-color .15s, background-color .15s;
}
.hp-hero-secondary:hover { border-color: color-mix(in oklab, var(--background) 60%, transparent); background: color-mix(in oklab, var(--background) 8%, transparent); }

.hp-hero-mockup { position: relative; }
.hp-hero-mockup__window { position: relative; z-index: 1; }
.hp-hero-mockup__popup {
  position: absolute; right: -10px; bottom: -34px; width: 220px; z-index: 2;
  background: var(--card); color: var(--foreground); border-radius: .9rem;
  border: 1px solid var(--border); box-shadow: var(--shadow-lift); padding: .85rem .95rem;
}
.hp-hero-mockup__popup-bar { display: flex; align-items: center; justify-content: space-between; font-size: 12px; font-weight: 600; color: var(--primary-deep); }
.hp-hero-mockup__popup-x { opacity: .45; font-size: 14px; }
.hp-hero-mockup__popup-line { margin-top: .5rem; font-size: 12.5px; color: var(--ink-soft); }
.hp-hero-mockup__popup-btn {
  margin-top: .6rem; display: inline-flex; align-items: center; justify-content: center;
  background: var(--primary); color: var(--primary-foreground); border-radius: .5rem;
  padding: .4rem .7rem; font-size: 12px; font-weight: 600;
}
@media (max-width: 640px) { .hp-hero-mockup__popup { position: static; width: auto; margin-top: 1rem; } }

/* -- Social proof strip -- */
.hp-strip { padding: 2.75rem 0; border-bottom: 1px solid var(--border); }
.hp-strip__label { font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--muted-foreground); }
.hp-strip__row { margin-top: 1.25rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.75rem 2.5rem; }
.hp-strip__row span {
  font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--ink-soft); opacity: .7;
}

/* -- "How it works" hand-drawn circled heading -- */
.hp-circled-heading { position: relative; display: inline-block; }
.hp-circled-heading::after {
  content: ""; position: absolute; left: -14%; right: -14%; top: -22%; bottom: -18%;
  border: 2.5px solid var(--accent); border-radius: 52% 48% 55% 45% / 48% 55% 45% 52%;
  opacity: .55; pointer-events: none; transform: rotate(-1.5deg);
}
.hp-plain-steps { text-align: left; }
.hp-plain-step { padding-top: 1rem; border-top: 3px solid var(--border-strong); }

/* -- Pain-point section -- */
.hp-painpoint { background: var(--card); }
.hp-squiggle-heading { position: relative; display: inline-block; }
.hp-squiggle-heading::after {
  content: ""; position: absolute; left: 2%; right: 4%; bottom: -.3rem; height: 10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12'%3E%3Cpath d='M2 8 C 14 2, 26 2, 38 8 S 62 14, 74 8 S 98 2, 118 8' fill='none' stroke='%23F59E0B' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-size: 100% 100%;
}
.hp-pp-x { flex: none; margin-top: 2px; width: 18px; height: 18px; color: var(--destructive); }
.hp-pp-illustration { max-width: 100%; height: auto; }

/* -- Wavy full-bleed bands -- */
.hp-wave-band { position: relative; overflow: hidden; }
.hp-wave-band--primary { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-deep) 100%); }
.hp-wave-band--wash { background: var(--primary-wash); }
.hp-wave-band--gold { background: color-mix(in oklab, var(--accent) 22%, var(--card)); }
.hp-wave { position: absolute; left: 0; width: 100%; height: 48px; line-height: 0; z-index: 1; }
.hp-wave-top { top: -1px; }
.hp-wave-bottom { bottom: -1px; transform: scaleY(-1); }
.hp-wave svg { display: block; width: 100%; height: 100%; }
.hp-wave svg path { fill: currentColor; }
@media (min-width: 768px) { .hp-wave { height: 64px; } }

/* -- Isometric mockup stack (mid callout band) -- */
.hp-isometric { position: relative; height: 280px; width: 100%; max-width: 380px; margin: 0 auto; }
.hp-callout-sub { color: color-mix(in oklab, var(--primary-foreground) 85%, transparent); }
.hp-isometric__card {
  position: absolute; border-radius: 1.1rem; background: var(--card);
  box-shadow: 0 20px 45px -18px rgba(0,0,0,.35); border: 1px solid color-mix(in oklab, var(--foreground) 8%, transparent);
}
.hp-isometric__card--back { width: 220px; height: 150px; top: 6px; left: 12px; transform: rotate(-9deg); opacity: .55; }
.hp-isometric__card--mid { width: 240px; height: 160px; top: 50px; left: 70px; transform: rotate(5deg); display: flex; gap: 6px; padding: 14px; }
.hp-isometric__dot { width: 10px; height: 10px; border-radius: 999px; background: var(--border-strong); }
.hp-isometric__card--front {
  width: 260px; height: 150px; top: 118px; left: 30px; transform: rotate(-3deg);
  padding: 18px; display: flex; flex-direction: column; gap: 10px;
}
.hp-isometric__line { display: block; height: 10px; border-radius: 999px; background: var(--border); width: 80%; }
.hp-isometric__line--short { width: 55%; }
.hp-isometric__pill {
  margin-top: auto; align-self: flex-start; background: var(--success); color: #fff;
  font-size: 11px; font-weight: 700; padding: .3rem .6rem; border-radius: 999px;
}

/* -- Alternating feature rows -- */
.hp-feature-row { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: center; margin-top: 4.5rem; }
@media (min-width: 900px) { .hp-feature-row { grid-template-columns: 1fr 1fr; gap: 4rem; } }
.hp-feature-row--reverse .hp-feature-row__visual { order: 2; }
.hp-feature-row--reverse .hp-feature-row__copy { order: 1; }
.hp-feature-row__visual { display: flex; justify-content: center; }
.hp-feature-row__photo { width: 100%; max-width: 440px; border-radius: 1.5rem; border: 1px solid var(--border); box-shadow: var(--shadow-lift); object-fit: cover; }
.hp-pull-quote { margin-top: 1.5rem; border-left: 3px solid var(--primary); padding-left: 1rem; }
.hp-pull-quote p { font-size: 15px; font-style: italic; color: var(--foreground); line-height: 1.5; }
.hp-pull-quote cite { display: block; margin-top: .4rem; font-size: 13px; font-style: normal; color: var(--muted-foreground); }
.hp-pull-quote--placeholder { opacity: .55; }

/* -- Audience row -- */
.hp-audience__row { margin-top: 2rem; display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 2.25rem; }
.hp-audience__row span { font-family: var(--font-display); font-weight: 800; font-size: clamp(1rem, 2vw, 1.3rem); color: var(--foreground); }

/* -- Testimonial quote cards (wavy gold band) -- */
.hp-quote-card { background: var(--card); border-radius: 1.5rem; padding: 1.75rem; border: 1px solid var(--border); box-shadow: var(--shadow-soft); }
.hp-quote-card__stars { color: var(--accent); font-size: 14px; letter-spacing: 2px; }
.hp-quote-card blockquote { margin-top: .75rem; font-size: 14.5px; line-height: 1.55; color: var(--foreground); }
.hp-quote-card figcaption { margin-top: 1rem; display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: var(--muted-foreground); }
.hp-quote-card figcaption strong { color: var(--foreground); font-size: 14px; }

.hp-final-cta { position: relative; padding-top: 4.5rem; padding-bottom: 6rem; }

/* v17: unified header/footer skip-link, shared across marketing.php and
   public.php (partials/site_header.php). */
.skip-link { position: absolute; left: -9999px; top: 0; background: var(--foreground); color: var(--background); padding: 10px 16px; z-index: 100; border-radius: 0 0 8px 0; }
.skip-link:focus { left: 0; }

/* v21: article figures, lists and code blocks inside the blog body */
.ar-prose figure{margin:28px 0}
.ar-prose figure img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--border, #e5e7eb)}
.ar-prose figcaption{margin-top:10px;font-size:14px;line-height:1.5;color:var(--muted-foreground, #6b7280);text-align:center}
.ar-prose ul{list-style:disc;padding-left:1.4em}.ar-prose ol{list-style:decimal;padding-left:1.4em}
.ar-prose li{margin:.35em 0}
.ar-prose pre{margin:18px 0;padding:14px 16px;border-radius:10px;background:#0f172a;color:#e2e8f0;overflow-x:auto;font-size:14px;line-height:1.6}
.ar-prose pre code{background:none;color:inherit;padding:0}

/* ===================================================================
   v22 homepage pricing — one row of plan cards mirroring the app's
   Billing page, with a Monthly / Yearly switch.
   =================================================================== */
.pz-switch { display: flex; width: max-content; max-width: 100%; margin: 28px auto 0; padding: 4px; gap: 4px; border: 1px solid var(--border); border-radius: 999px; background: var(--card); box-shadow: var(--shadow-soft); }
.pz-switch__btn { display: inline-flex; align-items: center; gap: 8px; padding: 8px 18px; border: 0; border-radius: 999px; background: transparent; color: var(--ink-soft); font: 600 14px/1.2 var(--font-sans); cursor: pointer; transition: background .15s, color .15s; }
.pz-switch__btn:hover { color: var(--foreground); }
.pz-switch__btn.is-active { background: var(--primary); color: var(--primary-foreground); }
.pz-switch__btn:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.pz-switch__save { padding: 2px 8px; border-radius: 999px; background: color-mix(in oklab, #10b981 16%, transparent); color: #047857; font-size: 11.5px; font-weight: 700; }
.pz-switch__btn.is-active .pz-switch__save { background: color-mix(in oklab, #fff 22%, transparent); color: inherit; }

.pz-grid { display: grid; gap: 20px; margin-top: 36px; align-items: stretch; }
.pz-grid--1 { max-width: 420px; margin-inline: auto; }
.pz-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 820px; margin-inline: auto; }
.pz-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pz-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1080px) { .pz-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px)  { .pz-grid--3 { grid-template-columns: minmax(0, 1fr); max-width: 460px; margin-inline: auto; } }
@media (max-width: 680px)  { .pz-grid--2, .pz-grid--4 { grid-template-columns: minmax(0, 1fr); max-width: 460px; margin-inline: auto; } }

.pz-card { position: relative; display: flex; flex-direction: column; padding: 28px 26px; border: 1px solid var(--border); border-radius: 22px; background: var(--card); box-shadow: var(--shadow-soft); transition: transform .2s ease, box-shadow .2s ease; }
.pz-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lift); }
.pz-card--featured { border: 2px solid var(--primary); padding: 27px 25px; box-shadow: 0 24px 50px -24px color-mix(in oklab, var(--primary) 55%, transparent); }
@media (min-width: 901px) { .pz-grid--3 .pz-card--featured { margin-top: -10px; margin-bottom: -10px; padding-top: 37px; padding-bottom: 37px; } }
.pz-card__badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); padding: 5px 14px; border-radius: 999px; background: var(--primary); color: var(--primary-foreground); font: 700 11px/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.pz-card__name { font-size: 20px; font-weight: 800; color: var(--foreground); }
.pz-card__tagline { margin-top: 4px; min-height: 1.5em; font-size: 14.5px; color: var(--muted-foreground); }
.pz-card__price { display: flex; align-items: baseline; gap: 6px; margin-top: 22px; }
.pz-card__amount { font-family: var(--font-display); font-size: 44px; font-weight: 800; line-height: 1; letter-spacing: -.02em; color: var(--foreground); }
.pz-card__per { font-size: 15px; color: var(--muted-foreground); }
.pz-card__billing { margin-top: 8px; min-height: 1.5em; font-size: 13.5px; color: var(--muted-foreground); }
.pz-grid.is-yearly .pz-card__billing[data-yearly] { color: #047857; font-weight: 600; }
.pz-card__cta { display: flex; align-items: center; justify-content: center; margin-top: 22px; padding: 12px 18px; border: 1px solid var(--border-strong); border-radius: 12px; background: var(--card); color: var(--foreground); font-size: 15px; font-weight: 600; text-decoration: none; transition: border-color .15s, background .15s, color .15s; }
.pz-card__cta:hover { border-color: var(--primary); background: var(--primary-wash); color: var(--primary-deep); }
.pz-card__cta--primary { border-color: var(--primary); background: var(--primary); color: var(--primary-foreground); box-shadow: var(--shadow-glow); }
.pz-card__cta--primary:hover { background: var(--primary-deep); border-color: var(--primary-deep); color: var(--primary-foreground); }
.pz-card__trial { margin-top: 8px; text-align: center; font-size: 12.5px; color: var(--muted-foreground); }
.pz-card__features { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--border); display: grid; gap: 11px; font-size: 14.5px; line-height: 1.45; color: var(--ink-soft); }
.pz-card__features li { display: flex; gap: 10px; }
.pz-card__features svg { margin-top: 1px; color: var(--primary); }
.pz-wrap { width: 100%; max-width: 1140px; margin-inline: auto; padding-inline: 24px; }
@media (max-width: 480px) { .pz-wrap { padding-inline: 16px; } .pz-switch__btn { padding: 8px 14px; } }
/* v22: the homepage "Get in touch" form pushed phones 56px wide (the phone
   field's country picker set a min-content width on a 1fr track). */
.hp-cta-form__grid { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .hp-cta-form__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.hp-cta-form .bp-field, .hp-cta-form__input { min-width: 0; max-width: 100%; }
.hp-cta-form .bp-field--phone > * { min-width: 0; }

/* ===================================================================
   v23 — Sequenzo browser extension badge (hero / how it works / footer)
   =================================================================== */
.ext-badge { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 16px; }
.ext-badge__btn { display: inline-flex; align-items: center; gap: 9px; padding: 9px 16px 9px 12px; border-radius: 12px; border: 1px solid color-mix(in oklab, currentColor 28%, transparent); background: color-mix(in oklab, currentColor 7%, transparent); color: inherit; font-size: 14px; font-weight: 600; text-decoration: none; transition: background .15s, border-color .15s, transform .15s; }
.ext-badge__btn:hover { background: color-mix(in oklab, currentColor 14%, transparent); border-color: color-mix(in oklab, currentColor 45%, transparent); transform: translateY(-1px); }
.ext-badge__btn:focus-visible, .ext-how__btn:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.ext-badge__icon { flex: none; }
.ext-badge__note { font-size: 13.5px; opacity: .7; }
@media (max-width: 640px) { .ext-badge--hero { display: none; } }

.ext-how { display: flex; align-items: center; gap: 18px; margin: 48px auto 0; max-width: 860px; padding: 18px 22px; border: 1px solid var(--border); border-radius: 18px; background: var(--card); box-shadow: var(--shadow-soft); }
.ext-how__icon { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--primary-wash); color: var(--primary); }
.ext-how__text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ext-how__text strong { font-size: 16px; color: var(--foreground); }
.ext-how__text span { font-size: 14.5px; line-height: 1.5; color: var(--ink-soft); }
.ext-how__btn { flex: none; display: inline-flex; align-items: center; padding: 11px 18px; border-radius: 12px; border: 1px solid var(--border-strong); background: var(--card); color: var(--foreground); font-size: 14.5px; font-weight: 600; text-decoration: none; transition: border-color .15s, background .15s, color .15s; }
.ext-how__btn:hover { border-color: var(--primary); background: var(--primary-wash); color: var(--primary-deep); }
@media (max-width: 720px) { .ext-how { flex-direction: column; align-items: flex-start; text-align: left; } .ext-how__btn { width: 100%; justify-content: center; } }

.ext-foot { display: inline-flex; align-items: center; gap: 7px; }
.ext-foot .ext-badge__icon { width: 16px; height: 16px; }

/* ===================================================================
   v24 — homepage phone field: one country-code picker, not two.
   blueprint.js turns the native <select> into a searchable picker (button +
   popup) but blueprint.css, which hides the select and styles the popup, is
   only loaded on /contact. These rules give the homepage form the same
   single picker; the <select> stays in the form (hidden) so the value is
   still submitted, and it remains the fallback when JavaScript is off.
   =================================================================== */
.hp-cta-form .bp-tel.is-enhanced .bp-tel__cc { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; border: 0; overflow: hidden; clip: rect(0 0 0 0); opacity: 0; pointer-events: none; }
.hp-cta-form .bp-tel input[type=tel] { border-radius: 0 .75rem .75rem 0; }
.hp-cta-form .bp-tel__btn { display: inline-flex; align-items: center; gap: 8px; flex: none; padding: 0 12px 0 14px; border: 0; border-right: 1px solid rgba(255,255,255,.2); border-radius: .75rem 0 0 .75rem; background: transparent; color: var(--background); font: inherit; font-size: 14.5px; cursor: pointer; transition: background .15s; }
.hp-cta-form .bp-tel__btn:hover, .hp-cta-form .bp-tel__btn[aria-expanded="true"] { background: rgba(255,255,255,.12); }
.hp-cta-form .bp-tel__btn:focus-visible { outline: 2px solid rgba(255,255,255,.8); outline-offset: -2px; }
.hp-cta-form .bp-tel__btn b { padding: 2px 6px; border-radius: 5px; background: rgba(255,255,255,.18); font-size: 11.5px; font-weight: 700; letter-spacing: .04em; }
.hp-cta-form .bp-tel__btn span { font-weight: 600; }
.hp-cta-form .bp-tel__btn i { width: 7px; height: 7px; margin: -3px 0 0 2px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg); opacity: .75; transition: transform .15s; }
.hp-cta-form .bp-tel__btn[aria-expanded="true"] i { transform: rotate(225deg); margin-top: 3px; }

/* The popup is a light card so the list is easy to read on the coloured band. */
.hp-cta-form .bp-tel__pop { position: absolute; left: -1px; top: calc(100% + 8px); z-index: 80; width: min(360px, calc(100vw - 32px)); overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: var(--card); color: var(--foreground); box-shadow: 0 24px 60px -16px rgba(10, 12, 40, .45); text-align: left; }
.hp-cta-form .bp-tel__pop[hidden] { display: none; }
.hp-cta-form .bp-tel__pop .bp-tel__search { display: block; width: 100%; margin: 0; padding: 12px 14px; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: var(--card); color: var(--foreground); font: inherit; font-size: 14.5px; outline: none; box-shadow: none; }
.hp-cta-form .bp-tel__pop .bp-tel__search::placeholder { color: var(--muted-foreground); }
.hp-cta-form .bp-tel__list { list-style: none; margin: 0; padding: 6px 0; max-height: 280px; overflow-y: auto; overscroll-behavior: contain; }
.hp-cta-form .bp-tel__list li { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 14px; font-size: 14.5px; color: var(--foreground); cursor: pointer; outline: none; }
.hp-cta-form .bp-tel__list li b { font-size: 11px; font-weight: 700; letter-spacing: .04em; color: var(--muted-foreground); }
.hp-cta-form .bp-tel__list li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hp-cta-form .bp-tel__list li em { font-style: normal; font-size: 13.5px; color: var(--muted-foreground); }
.hp-cta-form .bp-tel__list li:hover, .hp-cta-form .bp-tel__list li:focus { background: var(--primary-wash); }
.hp-cta-form .bp-tel__list li[aria-selected="true"] { font-weight: 700; background: color-mix(in oklab, var(--primary) 10%, var(--card)); }
.hp-cta-form .bp-tel__list li[aria-selected="true"] em { color: var(--primary); }
.hp-cta-form .bp-tel__list li.is-empty { display: block; color: var(--muted-foreground); cursor: default; }
@media (max-width: 480px) { .hp-cta-form .bp-tel__pop { width: calc(100vw - 32px); } }
