/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-white: #fff;
    --spacing: 0.25rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --font-weight-medium: 500;
    --animate-spin: spin 1s linear infinite;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: "Geist",Arial,Helvetica,sans-serif;
    --default-mono-font-family: var(--font-mono);
  }
}
@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;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .relative {
    position: relative;
  }
  .right-2 {
    right: calc(var(--spacing) * 2);
  }
  .z-50 {
    z-index: 50;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .-mx-1 {
    margin-inline: calc(var(--spacing) * -1);
  }
  .my-1 {
    margin-block: var(--spacing);
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .inline-flex {
    display: inline-flex;
  }
  .size-3\.5 {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }
  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .h-2 {
    height: calc(var(--spacing) * 2);
  }
  .h-\[calc\(100\%-1px\)\] {
    height: calc(100% - 1px);
  }
  .h-\[var\(--radix-select-trigger-height\)\] {
    height: var(--radix-select-trigger-height);
  }
  .h-full {
    height: 100%;
  }
  .h-px {
    height: 1px;
  }
  .max-h-\(--radix-select-content-available-height\) {
    max-height: var(--radix-select-content-available-height);
  }
  .w-fit {
    width: fit-content;
  }
  .w-full {
    width: 100%;
  }
  .min-w-\[8rem\] {
    min-width: 8rem;
  }
  .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;
  }
  .origin-\(--radix-select-content-transform-origin\) {
    transform-origin: var(--radix-select-content-transform-origin);
  }
  .translate-y-0\.5 {
    --tw-translate-y: calc(var(--spacing) * 0.5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-spin {
    animation: var(--animate-spin);
  }
  .cursor-default {
    cursor: default;
  }
  .touch-none {
    touch-action: none;
  }
  .scroll-my-1 {
    scroll-margin-block: var(--spacing);
  }
  .place-content-center {
    place-content: center;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-1 {
    gap: var(--spacing);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-hidden {
    overflow-x: hidden;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .rounded-\[4px\] {
    border-radius: 4px;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: .6rem;
  }
  .rounded-md {
    border-radius: .4rem;
  }
  .rounded-sm {
    border-radius: .25rem;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-input {
    border-color: var(--input);
  }
  .border-primary {
    border-color: var(--primary);
  }
  .border-transparent {
    border-color: transparent;
  }
  .bg-border {
    background-color: var(--border);
  }
  .bg-muted {
    background-color: var(--muted);
  }
  .bg-popover {
    background-color: var(--popover);
  }
  .bg-primary {
    background-color: var(--primary);
  }
  .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-transparent {
    background-color: transparent;
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .p-1 {
    padding: var(--spacing);
  }
  .p-\[3px\] {
    padding: 3px;
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .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-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .pt-0 {
    padding-top: 0px;
  }
  .pr-8 {
    padding-right: calc(var(--spacing) * 8);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }
  .text-left {
    text-align: left;
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .text-card {
    color: var(--card);
  }
  .text-current {
    color: currentcolor;
  }
  .text-foreground\/60 {
    color: var(--foreground);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--foreground) 60%, transparent);
    }
  }
  .text-muted-foreground {
    color: var(--muted-foreground);
  }
  .text-popover-foreground {
    color: var(--popover-foreground);
  }
  .opacity-50 {
    opacity: 50%;
  }
  .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-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-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-ring\/50 {
    --tw-ring-color: var(--ring);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }
  .outline-hidden {
    --tw-outline-style: none;
    outline-style: none;
    @media (forced-colors: active) {
      outline: 2px solid transparent;
      outline-offset: 2px;
    }
  }
  .transition-\[color\,box-shadow\] {
    transition-property: color,box-shadow;
    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-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));
  }
  .transition-none {
    transition-property: none;
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation="horizontal"] *) {
    height: calc(var(--spacing) * 9);
  }
  .group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation="vertical"] *) {
    height: fit-content;
  }
  .group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation="vertical"] *) {
    width: 100%;
  }
  .group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation="vertical"] *) {
    flex-direction: column;
  }
  .group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation="vertical"] *) {
    justify-content: flex-start;
  }
  .group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant="line"] *) {
    background-color: transparent;
  }
  .after\:absolute::after {
    content: var(--tw-content);
    position: absolute;
  }
  .after\:bg-foreground::after {
    content: var(--tw-content);
    background-color: var(--foreground);
  }
  .after\:opacity-0::after {
    content: var(--tw-content);
    opacity: 0%;
  }
  .after\:transition-opacity::after {
    content: var(--tw-content);
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation="horizontal"] *)::after {
    content: var(--tw-content);
    inset-inline: 0px;
  }
  .group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation="horizontal"] *)::after {
    content: var(--tw-content);
    bottom: -5px;
  }
  .group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation="horizontal"] *)::after {
    content: var(--tw-content);
    height: calc(var(--spacing) * 0.5);
  }
  .group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation="vertical"] *)::after {
    content: var(--tw-content);
    inset-block: 0px;
  }
  .group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation="vertical"] *)::after {
    content: var(--tw-content);
    right: calc(var(--spacing) * -1);
  }
  .group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation="vertical"] *)::after {
    content: var(--tw-content);
    width: calc(var(--spacing) * 0.5);
  }
  .last\:border-b-0:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0px;
  }
  @media (hover: hover) {
    .hover\:text-foreground:hover {
      color: var(--foreground);
    }
    .hover\:underline:hover {
      text-decoration-line: underline;
    }
    .hover\:ring-4:hover {
      --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);
    }
  }
  .focus\:bg-accent:focus {
    background-color: var(--accent);
  }
  .focus\:text-accent-foreground:focus {
    color: var(--accent-foreground);
  }
  .focus-visible\:border-ring:focus-visible {
    border-color: var(--ring);
  }
  .focus-visible\:ring-4:focus-visible {
    --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);
  }
  .focus-visible\:ring-\[3px\]:focus-visible {
    --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);
  }
  .focus-visible\:ring-ring\/50:focus-visible {
    --tw-ring-color: var(--ring);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }
  .focus-visible\:outline-hidden:focus-visible {
    --tw-outline-style: none;
    outline-style: none;
    @media (forced-colors: active) {
      outline: 2px solid transparent;
      outline-offset: 2px;
    }
  }
  .focus-visible\:outline-1:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .focus-visible\:outline-ring:focus-visible {
    outline-color: var(--ring);
  }
  .disabled\:pointer-events-none:disabled {
    pointer-events: none;
  }
  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }
  .disabled\:opacity-50:disabled {
    opacity: 50%;
  }
  .aria-invalid\:border-destructive[aria-invalid="true"] {
    border-color: var(--destructive);
  }
  .aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }
  .data-\[disabled\]\:pointer-events-none[data-disabled] {
    pointer-events: none;
  }
  .data-\[disabled\]\:opacity-50[data-disabled] {
    opacity: 50%;
  }
  .data-\[orientation\=horizontal\]\:h-1\.5[data-orientation="horizontal"] {
    height: calc(var(--spacing) * 1.5);
  }
  .data-\[orientation\=horizontal\]\:h-full[data-orientation="horizontal"] {
    height: 100%;
  }
  .data-\[orientation\=horizontal\]\:w-full[data-orientation="horizontal"] {
    width: 100%;
  }
  .data-\[orientation\=horizontal\]\:flex-col[data-orientation="horizontal"] {
    flex-direction: column;
  }
  .data-\[orientation\=vertical\]\:h-full[data-orientation="vertical"] {
    height: 100%;
  }
  .data-\[orientation\=vertical\]\:min-h-44[data-orientation="vertical"] {
    min-height: calc(var(--spacing) * 44);
  }
  .data-\[orientation\=vertical\]\:w-1\.5[data-orientation="vertical"] {
    width: calc(var(--spacing) * 1.5);
  }
  .data-\[orientation\=vertical\]\:w-auto[data-orientation="vertical"] {
    width: auto;
  }
  .data-\[orientation\=vertical\]\:w-full[data-orientation="vertical"] {
    width: 100%;
  }
  .data-\[orientation\=vertical\]\:flex-col[data-orientation="vertical"] {
    flex-direction: column;
  }
  .data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
    color: var(--muted-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-\[size\=default\]\:h-9[data-size="default"] {
    height: calc(var(--spacing) * 9);
  }
  .data-\[size\=sm\]\:h-8[data-size="sm"] {
    height: calc(var(--spacing) * 8);
  }
  :is(.\*\:data-\[slot\=select-value\]\:line-clamp-1 > *)[data-slot="select-value"] {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }
  :is(.\*\:data-\[slot\=select-value\]\:flex > *)[data-slot="select-value"] {
    display: flex;
  }
  :is(.\*\:data-\[slot\=select-value\]\:items-center > *)[data-slot="select-value"] {
    align-items: center;
  }
  :is(.\*\:data-\[slot\=select-value\]\:gap-2 > *)[data-slot="select-value"] {
    gap: calc(var(--spacing) * 2);
  }
  .data-\[state\=active\]\:bg-background[data-state="active"] {
    background-color: var(--background);
  }
  .data-\[state\=active\]\:text-foreground[data-state="active"] {
    color: var(--foreground);
  }
  .group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant="default"] *)[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);
  }
  .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant="line"] *)[data-state="active"] {
    background-color: transparent;
  }
  .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant="line"] *)[data-state="active"] {
    --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);
  }
  .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant="line"] *)[data-state="active"]::after {
    content: var(--tw-content);
    opacity: 100%;
  }
  .data-\[state\=checked\]\:border-primary[data-state="checked"] {
    border-color: var(--primary);
  }
  .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\]\: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\=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\]\:fade-in-0[data-state="open"] {
    --tw-enter-opacity: calc(0/100);
    --tw-enter-opacity: 0;
  }
  .data-\[state\=open\]\:zoom-in-95[data-state="open"] {
    --tw-enter-scale: calc(95*1%);
    --tw-enter-scale: .95;
  }
  .data-\[variant\=line\]\:rounded-none[data-variant="line"] {
    border-radius: 0;
  }
  @media (prefers-color-scheme: dark) {
    .dark\:bg-input\/30 {
      background-color: var(--input);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .dark\:bg-input\/30 {
        background-color: color-mix(in oklab, var(--input) 30%, transparent);
      }
    }
    .dark\:text-muted-foreground {
      color: var(--muted-foreground);
    }
    @media (hover: hover) {
      .dark\:hover\:bg-input\/50:hover {
        background-color: var(--input);
      }
      @supports (color: color-mix(in lab, red, red)) {
        .dark\:hover\:bg-input\/50:hover {
          background-color: color-mix(in oklab, var(--input) 50%, transparent);
        }
      }
      .dark\:hover\:text-foreground:hover {
        color: var(--foreground);
      }
    }
    .dark\:aria-invalid\:ring-destructive\/40[aria-invalid="true"] {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
      }
    }
    .dark\:data-\[state\=active\]\:border-input[data-state="active"] {
      border-color: var(--input);
    }
    .dark\:data-\[state\=active\]\:bg-input\/30[data-state="active"] {
      background-color: var(--input);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--input) 30%, transparent);
      }
    }
    .dark\:data-\[state\=active\]\:text-foreground[data-state="active"] {
      color: var(--foreground);
    }
    .dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(:where(.group\/tabs-list)[data-variant="line"] *)[data-state="active"] {
      border-color: transparent;
    }
    .dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant="line"] *)[data-state="active"] {
      background-color: transparent;
    }
    .dark\:data-\[state\=checked\]\:bg-primary[data-state="checked"] {
      background-color: var(--primary);
    }
  }
  .\[\&_svg\]\:pointer-events-none svg {
    pointer-events: none;
  }
  .\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
  }
  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*='size-']) {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*='text-']) {
    color: var(--muted-foreground);
  }
  :is(.\*\:\[span\]\:last\:flex > *):is(span):last-child {
    display: flex;
  }
  :is(.\*\:\[span\]\:last\:items-center > *):is(span):last-child {
    align-items: center;
  }
  :is(.\*\:\[span\]\:last\:gap-2 > *):is(span):last-child {
    gap: calc(var(--spacing) * 2);
  }
  .\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open] > svg {
    rotate: 180deg;
  }
}
@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;
}
@property --scroll-fade-t {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-b {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-s {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-e {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-mask {
  syntax: "*";
  inherits: false;
}
@property --shimmer-angle {
  syntax: "<angle>";
  inherits: true;
  initial-value: 20deg;
}
@property --shimmer-image {
  syntax: "*";
  inherits: false;
}
@property --shimmer-text-fill {
  syntax: "*";
  inherits: false;
}
@media (prefers-reduced-motion: reduce) {
  .shimmer {
    animation: none;
    background-image: none;
    -webkit-text-fill-color: currentColor;
  }
}
:root {
  --background: #faf9f6;
  --foreground: #191919;
  --card: #fff;
  --card-foreground: #191919;
  --popover: #fff;
  --popover-foreground: #191919;
  --primary: #e13d1b;
  --primary-foreground: #fff;
  --secondary: #ecebe7;
  --secondary-foreground: #191919;
  --muted: #efeee9;
  --muted-foreground: #62625e;
  --accent: #f0ede7;
  --accent-foreground: #191919;
  --destructive: #b82520;
  --border: #dddcd5;
  --input: #d2d1c9;
  --ring: #e13d1b;
  --radius: .4rem;
  --orange: #fa4e2a;
  --ink: #171818;
  --paper: #faf9f6;
}
@font-face {
  font-family: Geist;
  src: url('/fonts/geist.woff2') format('woff2');
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 105px;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Geist,Arial,Helvetica,sans-serif;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a {
  text-decoration: none;
  color: inherit;
}
button,input,textarea {
  font: inherit;
}
button,a,input,textarea {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
}
img {
  display: block;
  max-width: 100%;
}
h1,h2,h3,h4,p {
  margin: 0;
}
h1,h2,h3 {
  line-height: 1.1;
  letter-spacing: -.055em;
  font-weight: 600;
}
h2 {
  font-size: clamp(36px,4.2vw,64px);
}
em {
  font-style: normal;
  color: var(--orange);
}
p {
  color: #62625e;
}
.container {
  width: min(1320px,calc(100% - 96px));
  margin-inline: auto;
}
.section {
  padding: 110px 0;
}
.section-label {
  display: flex;
  gap: 10px;
  align-items: center;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  margin-bottom: 28px;
}
.label-mark {
  display: inline-flex;
  color: var(--orange);
}
.section-number {
  margin-left: 18px;
  color: #838480;
}
.brand {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -.06em;
  white-space: nowrap;
}
.brand svg {
  color: var(--orange);
}
.brand-light {
  font-weight: 400;
}
.brand b {
  color: var(--orange);
}
.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: var(--orange);
  color: #141414;
  font-size: 14px;
  font-weight: 700;
  padding: 17px 26px;
  min-height: 54px;
  border-radius: 4px;
  border: 1px solid transparent;
  transition: background .2s,transform .2s;
  line-height: 1.4;
  white-space: normal;
  text-align: center;
}
.button:hover {
  background: #ff765a;
  transform: translateY(-2px);
}
.button-small {
  padding: 13px 20px;
  min-height: 47px;
  margin-left: 14px;
}
.button-outline {
  border-color: #fff5;
  background: transparent;
  color: white;
}
.button-outline:hover {
  background: #fff1;
}
.button-white {
  background: #fff;
  color: #151515;
}
.button-white:hover {
  background: #ecece8;
}
.text-link {
  display: inline-block;
  color: #e8e8e5;
  font-size: 14px;
  font-weight: 600;
  border-bottom: 1px solid #858580;
  padding: 7px 0;
  transition: color .2s,border-color .2s;
}
.text-link:hover {
  color: var(--orange);
  border-color: var(--orange);
}
.dark-link {
  color: #202020;
  border-color: #aaaaa4;
}
.skip-link {
  position: fixed;
  top: -100px;
  left: 16px;
  z-index: 100;
  background: #fff;
  padding: 10px 20px;
}
.skip-link:focus {
  top: 12px;
}
:focus-visible {
  outline: 3px solid #fa4e2a;
  outline-offset: 5px;
}
.hero {
  position: relative;
  background: #171818;
  color: white;
  overflow: hidden;
  min-height: 720px;
}
.hero-art {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(90deg,#171818 0%,#171818d9 28%,#1718181a 57%),url('/images/hero.webp');
  background-size: cover;
  background-position: center;
  opacity: .92;
}
.hero-inner {
  position: relative;
  padding: 74px 0 0;
  min-height: 720px;
}
.hero-copy {
  max-width: 650px;
  position: relative;
  z-index: 2;
}
.hero .section-label {
  color: #d0d0cd;
  margin-bottom: 25px;
}
.hero h1 {
  font-size: clamp(58px,6.65vw,102px);
  line-height: 1.02;
  letter-spacing: -.064em;
  max-width: 700px;
}
.hero p {
  margin-top: 26px;
  font-size: 16px;
  color: #c7c7c2;
  line-height: 1.85;
}
.hero-actions {
  display: flex;
  gap: 28px;
  align-items: center;
  margin-top: 30px;
}
.hero-caption {
  position: absolute;
  right: 4px;
  bottom: 145px;
  text-align: right;
}
.hero-caption>span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  color: #aaa;
}
.hero-caption p {
  font-size: 15px;
  color: #d7d7d3;
  line-height: 1.5;
  margin-top: 9px;
}
.hero-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 64px;
  padding: 24px 0 27px;
  border-top: 1px solid #ffffff23;
  color: #b5b5ae;
  font-size: 12px;
  gap: 20px;
}
.hero-bottom span:last-child {
  font-family: monospace;
  letter-spacing: .1em;
}
.promise-strip {
  background: #efeee9;
  border-bottom: 1px solid #e2e1da;
}
.promise-strip .container {
  display: flex;
  justify-content: space-between;
  padding: 22px 0;
}
.promise-strip span {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 13px;
  font-weight: 600;
}
.promise-strip svg {
  color: #cf3717;
}
.intro-grid {
  display: grid;
  grid-template-columns: 1fr 2.2fr;
  gap: 60px;
}
.intro-grid>.section-label {
  align-self: start;
  margin-top: 10px;
}
.intro-grid h2 {
  max-width: 900px;
}
.muted-heading {
  color: #91918a;
}
.intro-bottom {
  display: flex;
  gap: 60px;
  justify-content: space-between;
  align-items: end;
  margin-top: 33px;
}
.intro-bottom p {
  max-width: 470px;
}
.intro-bottom .text-link {
  white-space: nowrap;
}
.work-section {
  padding-top: 0;
}
.section-top {
  display: flex;
  justify-content: space-between;
  gap: 70px;
  align-items: end;
  margin-bottom: 52px;
}
.section-top-side {
  max-width: 300px;
  flex-shrink: 0;
}
.section-top-side p {
  margin-bottom: 14px;
}
.projects-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 25px;
}
.project-card {
  min-width: 0;
}
.project-visual-link {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  background: #e3e1da;
  transition: transform .3s;
}
.project-visual-link:hover {
  transform: translateY(-6px);
}
.project-hover {
  position: absolute;
  inset: auto 20px 20px;
  background: white;
  color: #222;
  padding: 12px 20px;
  text-align: center;
  font-size: 14px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .2s,transform .2s;
}
.project-visual-link:hover .project-hover,.project-visual-link:focus-visible .project-hover {
  opacity: 1;
  transform: translateY(0);
}
.concept-visual {
  aspect-ratio: 1.17;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #edeae2;
  color: #30342f;
  padding: 25px 23px;
}
.concept-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.concept-nav strong {
  font-family: Georgia,serif;
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
}
.concept-nav>span {
  font-size: 8px;
  letter-spacing: .015em;
}
.concept-heading {
  position: relative;
  z-index: 2;
  margin-top: 37px;
}
.concept-heading>span {
  display: block;
  font-size: 8px;
  margin-bottom: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.concept-heading h3 {
  font-family: Georgia,serif;
  font-size: 36px;
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.04em;
}
.concept-heading h3>span {
  display: block;
}
.concept-visual>img {
  width: 100%;
  height: 40%;
  object-fit: cover;
  margin-top: auto;
}
.concept-bottom {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 9px;
  font-size: 8px;
}
.concept-bottom>span {
  color: #757c70;
}
.wellness {
  background: #ede4d6;
  color: #655444;
}
.wellness .concept-nav strong {
  font-style: italic;
}
.wellness .concept-heading {
  text-align: center;
  margin-top: 26px;
}
.wellness .concept-heading h3 {
  font-size: 36px;
}
.wellness>img {
  height: 44%;
}
.consulting {
  background: #cfd8f0;
  color: #203862;
}
.consulting .concept-nav strong {
  font-family: Geist,Arial,sans-serif;
  font-weight: 800;
  letter-spacing: -.08em;
}
.consulting .concept-nav strong>span {
  color: #234ba0;
}
.consulting .concept-heading h3 {
  font-family: Geist,Arial,sans-serif;
  font-weight: 700;
  font-size: 34px;
}
.consulting-graphic {
  margin-top: auto;
  padding: 19px 0;
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.consulting-graphic>span {
  font-family: monospace;
  font-size: 12px;
  border: 1px solid #304d76;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
}
.consulting-graphic p {
  font-size: 9px;
  color: #203862;
}
.consulting-graphic>div {
  width: 14px;
  height: 1px;
  background: #8b9bbc;
}
.project-meta {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  align-items: center;
  margin-top: 22px;
}
.project-meta h3 {
  font-size: 23px;
  letter-spacing: -.035em;
}
.project-meta p {
  font-size: 12px;
  margin-top: 5px;
}
.concept-badge {
  font-size: 10px;
  padding: 5px 8px;
  border: 1px solid #d8d7d0;
  border-radius: 3px;
  white-space: nowrap;
}
.project-description {
  margin-top: 14px;
  font-size: 14px;
}
.work-note {
  margin-top: 35px;
  font-size: 12px;
  color: #767670;
}
.services-section {
  background: #1b1c1c;
  color: #fff;
}
.services-section .section-top-side {
  color: #aaa9a4;
}
.services-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
  border: 1px solid #ffffff26;
}
.service-card {
  padding: 34px 30px;
  transition: background .25s;
}
.service-card+.service-card {
  border-left: 1px solid #ffffff26;
}
.service-card:hover {
  background: #262726;
}
.service-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 53px;
}
.service-top svg {
  color: var(--orange);
  stroke-width: 1.5;
}
.service-top>span {
  font-size: 12px;
  color: #8f918a;
}
.service-card h3 {
  font-size: 29px;
  letter-spacing: -.045em;
}
.service-card p {
  color: #aaa9a4;
  margin-top: 20px;
  font-size: 15px;
  max-width: 300px;
}
.service-bottom {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #ffffff1e;
  padding-top: 22px;
  margin-top: 38px;
  font-size: 11px;
  color: #bfbfb8;
}
.plus-sign {
  font-size: 27px;
  line-height: 1;
  font-weight: 300;
  color: var(--orange);
}
.craft-grid {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: 75px;
  align-items: center;
}
.craft-grid>div>p {
  margin-top: 28px;
  max-width: 430px;
}
.check-list {
  list-style: none;
  margin: 26px 0;
  padding: 0;
}
.check-list li {
  display: flex;
  align-items: start;
  gap: 10px;
  margin-bottom: 12px;
  font-size: 14px;
}
.check-list svg {
  width: 17px;
  height: 22px;
  flex-shrink: 0;
  color: #cb381b;
}
.showcase {
  background: #ecebe5;
  border: 1px solid #deddd5;
  border-radius: 6px;
  padding: 20px;
  overflow: hidden;
}
.showcase-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 15px;
  font-size: 11px;
  color: #62625e;
}
.showcase [data-slot=tabs-list] {
  background: #deddd7;
}
.showcase [data-slot=tabs-trigger] {
  font-size: 11px;
  padding-inline: 10px;
  color: #53534d;
}
.showcase [data-slot=tabs-trigger][data-state=active] {
  color: #262620;
  background: white;
}
.demo-desktop>.concept-visual {
  aspect-ratio: 1.8;
  padding: 21px 25px;
}
.demo-desktop .concept-nav strong {
  font-size: 29px;
}
.demo-desktop .concept-heading {
  margin-top: 20px;
}
.demo-desktop .concept-heading h3 {
  font-size: 40px;
}
.demo-desktop .concept-visual>img {
  height: 43%;
  margin-top: 15px;
}
.demo-mobile {
  min-height: 300px;
  display: grid;
  place-items: center;
  background: #ddddd5;
  padding: 16px;
}
.demo-mobile>.concept-visual {
  width: 180px;
  aspect-ratio: .57;
  border: 5px solid #242424;
  border-radius: 20px;
  padding: 20px 12px;
}
.compact .concept-nav>span {
  display: none;
}
.compact .concept-nav strong {
  font-size: 20px;
}
.compact .concept-heading {
  margin-top: 26px;
}
.compact .concept-heading>span {
  font-size: 7px;
}
.compact .concept-heading h3 {
  font-size: 30px;
}
.compact>img {
  height: 45%;
}
.compact .concept-bottom {
  font-size: 7px;
}
.compact .concept-bottom>span {
  display: none;
}
.design-comparison {
  margin-top: 24px;
  padding-top: 21px;
  border-top: 1px solid #d7d6ce;
}
.comparison-labels {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 10px;
  margin-bottom: 12px;
  color: #72726a;
}
.comparison-canvas {
  position: relative;
  isolation: isolate;
  height: 200px;
  overflow: hidden;
  border-radius: 4px;
  background: #f7f7ef;
  margin-bottom: 17px;
}
.comparison-good {
  position: absolute;
  inset: 0;
  z-index: 0;
  padding: 19px 24px;
  background: #ece9df;
  color: #33392d;
  overflow: hidden;
}
.mini-brand {
  font-size: 19px;
  font-family: Georgia,serif;
}
.comparison-good h3 {
  font-family: Georgia,serif;
  font-size: 29px;
  position: relative;
  z-index: 1;
  margin-top: 13px;
  font-weight: 400;
}
.comparison-canvas .comparison-good p {
  position: relative;
  z-index: 1;
  font-size: 12px;
  line-height: 1.35;
  margin: 8px 0;
  color: #464b41;
  max-width: 45%;
}
.mini-cta {
  display: inline-block;
  max-width: 52%;
  font-size: 10px;
  line-height: 1.3;
  padding: 6px 8px;
  background: #3d4939;
  color: #fff;
  position: relative;
  z-index: 1;
}
.comparison-good img {
  position: absolute;
  width: 46%;
  height: 100%;
  object-fit: cover;
  right: 0;
  top: 0;
}
.comparison-before {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: #fff;
  padding: 24px;
  font-family: Arial,sans-serif;
}
.comparison-before b {
  font-size: 10px;
  color: #5266a2;
  letter-spacing: 0;
}
.comparison-before h3 {
  font: 700 19px Arial,sans-serif;
  margin-top: 28px;
}
.comparison-canvas .comparison-before p {
  font-size: 12px;
  max-width: 270px;
  line-height: 1.45;
  margin-top: 13px;
}
.comparison-before>span {
  font-size: 10px;
  color: #5266a2;
  text-decoration: underline;
}
.comparison-divider {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--orange);
  pointer-events: none;
}
.comparison-handle {
  position: absolute;
  top: calc(45% - 7px);
  left: -21px;
  width: 44px;
  height: 44px;
  border: 0;
  padding: 7px;
  background: transparent;
  pointer-events: auto;
  touch-action: none;
  user-select: none;
  cursor: ew-resize;
}
.comparison-handle>span {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  background: var(--orange);
  color: #141414;
  text-align: center;
  line-height: 30px;
  font-size: 15px;
}
.comparison-handle:active>span {
  background: #ff765a;
}
.demo-disclaimer {
  font-size: 10px !important;
  margin-top: 12px !important;
  line-height: 1.5;
}
.process-section {
  background: #1b1c1c;
  color: #fff;
}
.process-section .section-top-side {
  color: #b0b0a9;
}
.process-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  margin-top: 65px;
}
.process-grid article {
  border-top: 1px solid #ffffff30;
  padding: 25px 24px 25px 0;
  position: relative;
}
.process-grid article:before {
  content: '';
  position: absolute;
  top: -4px;
  left: 0;
  width: 7px;
  height: 7px;
  background: var(--orange);
  border-radius: 50%;
}
.process-grid article>span {
  font-family: monospace;
  font-size: 12px;
  color: var(--orange);
}
.process-grid h3 {
  margin-top: 38px;
  font-size: 24px;
  letter-spacing: -.035em;
}
.process-grid p {
  margin-top: 17px;
  color: #a9aaa4;
  font-size: 14px;
  max-width: 190px;
}
.ownership-line {
  display: flex;
  align-items: center;
  gap: 20px;
  border-top: 1px solid #ffffff24;
  margin-top: 38px;
  padding-top: 28px;
}
.ownership-line svg {
  flex-shrink: 0;
  color: var(--orange);
}
.ownership-line p {
  color: #aeafa8;
  font-size: 13px;
  max-width: 700px;
}
.ownership-line p strong {
  color: #e8e8e3;
}
.ownership-line .text-link {
  margin-left: auto;
  white-space: nowrap;
}
.investment-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
}
.investment-grid>div>p {
  max-width: 390px;
  margin-top: 26px;
}
.investment-grid .button {
  margin-top: 26px;
}
.investment-options>a {
  display: flex;
  gap: 22px;
  align-items: center;
  border-bottom: 1px solid #d9d8d1;
  padding: 25px 0;
}
.investment-options>a:first-child {
  padding-top: 0;
}
.investment-options .option-number {
  font-family: monospace;
  font-size: 12px;
  color: #8a8a83;
}
.investment-options h3 {
  font-size: 26px;
  letter-spacing: -.035em;
}
.investment-options a p {
  margin-top: 9px;
  font-size: 14px;
}
.investment-options .plus-sign {
  margin-left: auto;
}
.cost-note {
  font-size: 12px;
  max-width: none !important;
}
.faq-section {
  padding-top: 0;
}
.faq-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 100px;
}
.faq-grid>div>p {
  margin-top: 25px;
  margin-bottom: 15px;
}
.faq-list {
  border-top: 1px solid #d7d6cf;
}
.faq-list [data-slot=accordion-trigger] {
  font-size: 17px;
  font-weight: 500;
  padding: 25px 0;
  letter-spacing: -.02em;
  line-height: 1.5;
}
.faq-list [data-slot=accordion-content] {
  font-size: 15px;
  color: #62625e;
  line-height: 1.8;
  max-width: 600px;
}
.closing-cta {
  background: var(--orange);
  color: #131414;
  padding: 100px 0;
}
.closing-inner {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 80px;
}
.closing-cta h2 {
  font-size: clamp(42px,5vw,76px);
  letter-spacing: -.055em;
}
.closing-cta em {
  color: #fff5eb;
}
.closing-cta .label-mark {
  color: #171818;
}
.closing-side {
  width: 300px;
  padding-bottom: 8px;
  flex-shrink: 0;
}
.closing-side p {
  color: #291f19;
  line-height: 1.8;
}
.closing-side .button {
  margin-top: 28px;
}
.closing-side>span {
  font-size: 11px;
  display: block;
  margin-top: 20px;
  color: #362219;
}
.page-hero {
  background: #1b1c1c;
  color: #fff;
  padding: 82px 0 90px;
}
.page-hero h1 {
  font-size: clamp(48px,6vw,84px);
  max-width: 980px;
  letter-spacing: -.06em;
}
.page-hero p {
  color: #babbaf;
  max-width: 660px;
  margin-top: 28px;
  font-size: 18px;
}
.page-hero .button {
  margin-top: 32px;
}
.page-kicker {
  font-size: 13px;
  color: #bdbfb5;
  margin-bottom: 24px;
}
.page-split {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 95px;
}
.page-split>div>p {
  margin-top: 25px;
}
.feature-list {
  display: grid;
  gap: 0;
}
.feature-list article {
  padding: 25px 0;
  border-top: 1px solid #dad9d0;
}
.feature-list article>span {
  font-size: 11px;
  color: #85867c;
  font-family: monospace;
}
.feature-list h3 {
  font-size: 25px;
  letter-spacing: -.03em;
  margin: 8px 0 13px;
}
.feature-list p {
  max-width: 590px;
}
.light-panel {
  background: #eeede6;
}
.text-cards {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 25px;
  margin-top: 40px;
}
.text-card {
  padding: 30px;
  background: #fff;
  border: 1px solid #dddcd4;
}
.text-card h3 {
  font-size: 26px;
  margin-bottom: 20px;
}
.text-card p {
  font-size: 15px;
}
.text-card .text-link {
  margin-top: 25px;
}
.detail-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 65px;
  margin-top: 55px;
}
.detail-grid h3 {
  font-size: 29px;
  margin-bottom: 20px;
}
.detail-grid p {
  line-height: 1.9;
}
.case-visual {
  margin-top: 50px;
}
.case-visual .concept-visual {
  aspect-ratio: 2;
  min-height: 420px;
  padding: 40px;
}
.case-visual .concept-nav strong {
  font-size: 50px;
}
.case-visual .concept-nav>span {
  font-size: 14px;
}
.case-visual .concept-heading {
  margin-top: 45px;
}
.case-visual .concept-heading>span {
  font-size: 12px;
}
.case-visual .concept-heading h3 {
  font-size: 70px;
}
.case-visual .concept-visual>img {
  height: 48%;
  margin-top: 35px;
}
.case-visual .concept-bottom {
  font-size: 12px;
}
.case-visual .consulting-graphic {
  padding: 45px 0;
  gap: 25px;
}
.case-visual .consulting-graphic>span {
  width: 60px;
  height: 60px;
  font-size: 20px;
}
.case-visual .consulting-graphic p {
  font-size: 20px;
}
.case-note {
  border: 1px solid #d8d7ce;
  background: #eeede6;
  padding: 18px 24px;
  font-size: 14px;
}
.pricing-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 25px;
}
.pricing-card {
  padding: 35px;
  border: 1px solid #d9d8d0;
  background: #fff;
  scroll-margin-top: 125px;
}
.pricing-card>span {
  font-size: 12px;
  color: #77786e;
}
.pricing-card h2 {
  font-size: 37px;
  margin: 18px 0;
}
.pricing-card p {
  font-size: 15px;
}
.pricing-card ul {
  list-style: none;
  padding: 0;
  margin: 25px 0;
}
.pricing-card li {
  display: flex;
  gap: 9px;
  margin-bottom: 9px;
  font-size: 14px;
}
.pricing-card li svg {
  color: #ce3a1c;
  flex-shrink: 0;
  margin-top: 4px;
}
.pricing-card .button {
  margin-top: 20px;
}
.pricing-summary {
  font-size: 19px;
  font-weight: 600;
  color: #171818;
  margin-top: 26px;
}
.about-principles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  margin-top: 50px;
}
.about-principles h3 {
  font-size: 28px;
  margin-bottom: 15px;
}
.about-principles article {
  border-top: 1px solid #dad9d0;
  padding-top: 26px;
}
.contact-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 90px;
  align-items: start;
}
.contact-intro h1 {
  font-size: clamp(46px,5.7vw,76px);
}
.contact-intro>p {
  margin-top: 27px;
  max-width: 470px;
  font-size: 17px;
}
.contact-points {
  margin-top: 45px;
}
.contact-points>div {
  display: flex;
  align-items: start;
  gap: 13px;
  margin-bottom: 27px;
}
.contact-points svg {
  color: #db3d1e;
  flex-shrink: 0;
  margin-top: 4px;
}
.contact-points h3 {
  font-size: 18px;
  letter-spacing: -.02em;
  margin-bottom: 6px;
}
.contact-points p {
  font-size: 14px;
}
.project-form {
  background: #fff;
  border: 1px solid #deddd4;
  padding: 35px;
  border-radius: 6px;
}
.form-header {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: #707168;
  margin-bottom: 15px;
}
.project-form [data-slot=progress] {
  height: 3px;
  margin-bottom: 28px;
}
.project-form h2 {
  font-size: 29px;
  letter-spacing: -.04em;
  margin-bottom: 25px;
}
.field {
  display: grid;
  gap: 8px;
  margin-bottom: 21px;
}
.field label {
  font-size: 14px;
  font-weight: 600;
}
.field label span {
  font-size: 12px;
  font-weight: 400;
  color: #77796e;
}
.field input,.field textarea {
  width: 100%;
  border: 1px solid #d6d6ce;
  padding: 12px 14px;
  background: #fafaf7;
  border-radius: 4px;
  min-height: 48px;
  font-size: 15px;
  color: #171818;
}
.field textarea {
  resize: vertical;
  min-height: 112px;
}
.field input::placeholder,.field textarea::placeholder {
  color: #898b81;
}
.field [data-slot=select-trigger] {
  width: 100%;
  height: 48px;
  padding: 12px 14px;
  font-size: 15px;
  background: #fafaf7;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 17px;
}
.form-actions {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: center;
  margin-top: 28px;
}
.form-actions .button {
  flex: 1;
}
.back-button {
  border: 0;
  background: transparent;
  padding: 10px;
  color: #66685d;
  font-size: 14px;
}
.privacy-ack {
  display: flex;
  align-items: start;
  gap: 10px;
  font-size: 13px;
  line-height: 1.6;
  color: #62645a;
}
.privacy-ack [data-slot=checkbox] {
  margin-top: 3px;
  flex-shrink: 0;
}
.privacy-ack a {
  text-decoration: underline;
}
.form-error {
  color: #a52218;
  background: #fff1ec;
  padding: 12px 15px;
  font-size: 14px;
  margin-top: 18px;
  border-radius: 4px;
}
.form-reassurance {
  font-size: 12px;
  text-align: center;
  margin-top: 16px;
  color: #797b70;
}
.honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.success-state {
  padding: 35px 0;
}
.success-state>svg {
  color: #bc331b;
  margin-bottom: 24px;
}
.success-state h2 {
  line-height: 1.2;
}
.success-state p {
  margin-bottom: 24px;
}
.success-state .reference {
  font-family: monospace;
  font-size: 12px;
  color: #787a70;
}
.legal-copy {
  max-width: 780px;
}
.legal-copy h2 {
  font-size: 26px;
  margin: 34px 0 16px;
  letter-spacing: -.03em;
}
.legal-copy p {
  margin-top: 14px;
}
.concept-full {
  background: #ece9df;
  color: #313a2c;
}
.concept-demo-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  padding: 22px 0;
  border-bottom: 1px solid #d5d6ca;
}
.concept-demo-header strong {
  font: 40px Georgia,serif;
}
.concept-demo-header nav {
  display: flex;
  gap: 25px;
  font-size: 14px;
}
.concept-demo-hero {
  padding: 80px 0;
}
.concept-demo-hero h1 {
  font: clamp(55px,7vw,110px)/1.02 Georgia,serif;
  letter-spacing: -.05em;
  white-space: pre-line;
  max-width: 800px;
}
.concept-demo-hero p {
  max-width: 500px;
  margin-top: 25px;
  font-size: 18px;
}
.concept-demo-hero img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  margin-top: 45px;
}
.concept-demo-label {
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 25px;
}
.concept-full.wellness {
  color: #665443;
  background: #ede4d6;
}
.concept-full.consulting {
  background: #cfd8f0;
  color: #203862;
}
.concept-full.consulting .concept-demo-hero h1 {
  font-family: Geist,Arial,sans-serif;
  font-weight: 600;
}
.concept-notice {
  background: #181919;
  color: #d2d3c8;
  padding: 12px 0;
  font-size: 12px;
}
.concept-notice .container {
  display: flex;
  justify-content: space-between;
  gap: 25px;
}
.concept-demo-content {
  padding: 40px 0 90px;
}
.concept-demo-content p {
  max-width: 680px;
  margin-top: 25px;
  font-size: 17px;
}
.concept-demo-content .button {
  margin-top: 30px;
}
.error-page {
  text-align: center;
  padding: 100px 0;
}
.error-page h1 {
  font-size: 64px;
}
.error-page p {
  margin: 25px;
}
.section>*,.page-hero>*,.hero-copy {
  animation: appear .65s ease-out both;
}
@keyframes appear {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (min-width:1700px) {
  .hero {
    min-height: 800px;
  }
  .hero-inner {
    min-height: 800px;
    padding-top: 95px;
  }
  .hero-bottom {
    margin-top: 100px;
  }
  .hero-caption {
    bottom: 175px;
  }
}
@media (max-width:1100px) {
  .container {
    width: calc(100% - 64px);
  }
  .brand {
    font-size: 22px;
  }
  .button-small {
    font-size: 12px;
    padding: 12px 15px;
    margin-left: 0;
  }
  .hero h1 {
    font-size: 82px;
  }
  .hero-inner {
    padding-top: 70px;
    min-height: 700px;
  }
  .hero {
    min-height: 700px;
  }
  .hero-caption {
    right: 0;
    bottom: 140px;
  }
  .hero-bottom span:nth-child(2) {
    display: none;
  }
  .section {
    padding: 85px 0;
  }
  .intro-grid {
    grid-template-columns: .7fr 2fr;
    gap: 35px;
  }
  .intro-bottom {
    gap: 30px;
    align-items: start;
    flex-direction: column;
  }
  .craft-grid {
    gap: 40px;
  }
  .investment-grid,.faq-grid,.page-split,.contact-grid {
    gap: 45px;
  }
  .service-card {
    padding: 25px;
  }
  .service-card h3 {
    font-size: 24px;
  }
  .projects-grid {
    gap: 17px;
  }
  .concept-visual {
    padding: 20px 16px;
  }
  .concept-heading h3,.wellness .concept-heading h3 {
    font-size: 29px;
  }
  .consulting .concept-heading h3 {
    font-size: 27px;
  }
  .concept-nav>span {
    font-size: 7px;
  }
  .concept-nav strong {
    font-size: 24px;
  }
  .concept-badge {
    font-size: 8px;
  }
  .project-meta h3 {
    font-size: 20px;
  }
  .concept-heading {
    margin-top: 27px;
  }
  .consulting-graphic {
    gap: 5px;
  }
  .consulting-graphic>span {
    width: 22px;
    height: 22px;
    font-size: 9px;
  }
  .consulting-graphic p {
    font-size: 7px;
  }
  .consulting-graphic>div {
    width: 8px;
  }
  .case-visual .concept-visual {
    aspect-ratio: 1.8;
  }
  .process-grid h3 {
    font-size: 20px;
  }
  .closing-side {
    width: 270px;
  }
  .project-form {
    padding: 27px;
  }
  .form-row {
    grid-template-columns: 1fr;
  }
  .showcase-toolbar {
    align-items: start;
    flex-direction: column;
  }
  .work-section,.faq-section {
    padding-top: 0;
  }
}
@media (max-width:760px) {
  .container {
    width: calc(100% - 40px);
  }
  .brand {
    font-size: 21px;
    gap: 3px;
  }
  .brand svg {
    width: 25px;
    height: 25px;
  }
  .hero {
    min-height: 760px;
  }
  .hero-inner {
    min-height: 760px;
    padding-top: 42px;
  }
  .hero-art {
    background-position: 69% center;
    background-size: auto 100%;
    background-image: linear-gradient(90deg,#171818e6 0%,#171818b0 55%,#17181820),url('/images/hero.webp');
    opacity: .8;
  }
  .hero h1 {
    font-size: clamp(58px,11.8vw,82px);
    max-width: 100%;
    line-height: 1.04;
  }
  .hero .section-label {
    font-size: 10px;
    margin-bottom: 23px;
  }
  .hero p {
    font-size: 15px;
    max-width: 340px;
    margin-top: 23px;
  }
  .desktop-break {
    display: none;
  }
  .hero-actions {
    gap: 18px;
    align-items: start;
    flex-direction: column;
    margin-top: 27px;
  }
  .hero-actions .text-link {
    font-size: 13px;
  }
  .hero-caption {
    bottom: 83px;
    font-size: 9px;
    right: 0;
  }
  .hero-caption>span {
    display: none;
  }
  .hero-caption p {
    font-size: 11px;
  }
  .hero-bottom {
    margin-top: 85px;
    padding: 22px 0;
    font-size: 11px;
  }
  .promise-strip .container {
    flex-wrap: wrap;
    gap: 13px;
    padding: 20px 0;
  }
  .promise-strip span {
    font-size: 11px;
    gap: 7px;
  }
  .promise-strip svg {
    width: 14px;
  }
  .section {
    padding: 67px 0;
  }
  .section-label {
    font-size: 10px;
    margin-bottom: 22px;
  }
  .intro-grid,.craft-grid,.investment-grid,.faq-grid,.page-split,.contact-grid {
    grid-template-columns: 1fr;
    gap: 33px;
  }
  .intro-grid>.section-label {
    margin: 0;
  }
  .intro-grid h2 {
    font-size: 37px;
  }
  .intro-bottom {
    margin-top: 23px;
    gap: 20px;
  }
  .intro-bottom p {
    font-size: 15px;
  }
  .section-top {
    flex-direction: column;
    align-items: start;
    gap: 23px;
    margin-bottom: 34px;
  }
  .section-top-side {
    max-width: 420px;
    flex-shrink: 1;
    font-size: 15px;
  }
  .projects-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .concept-visual {
    aspect-ratio: 1.35;
    padding: 24px;
  }
  .concept-nav strong {
    font-size: 29px;
  }
  .concept-nav>span {
    font-size: 9px;
  }
  .concept-heading {
    margin-top: 24px;
  }
  .concept-heading h3,.wellness .concept-heading h3 {
    font-size: 40px;
  }
  .consulting .concept-heading h3 {
    font-size: 37px;
  }
  .concept-heading>span {
    font-size: 9px;
  }
  .concept-visual>img {
    height: 44%;
  }
  .wellness>img {
    height: 46%;
  }
  .concept-bottom {
    font-size: 9px;
  }
  .consulting-graphic {
    gap: 10px;
    margin-top: auto;
  }
  .consulting-graphic>span {
    font-size: 11px;
    width: 27px;
    height: 27px;
  }
  .consulting-graphic p {
    font-size: 9px;
  }
  .consulting-graphic>div {
    width: 15px;
  }
  .project-meta h3 {
    font-size: 24px;
  }
  .project-meta p {
    font-size: 13px;
  }
  .concept-badge {
    font-size: 10px;
  }
  .project-description {
    font-size: 14px;
    margin-top: 10px;
  }
  .work-note {
    font-size: 12px;
    margin-top: 26px;
  }
  .work-section {
    padding-top: 0;
  }
  .services-grid {
    grid-template-columns: 1fr;
  }
  .service-card+.service-card {
    border-left: 0;
    border-top: 1px solid #ffffff26;
  }
  .service-top {
    margin-bottom: 30px;
  }
  .service-card h3 {
    font-size: 29px;
  }
  .service-card p {
    max-width: none;
  }
  .service-bottom {
    margin-top: 26px;
  }
  .craft-grid>div>p {
    margin-top: 23px;
    font-size: 15px;
  }
  .showcase {
    padding: 15px;
  }
  .showcase-toolbar {
    flex-direction: row;
    align-items: center;
  }
  .showcase-toolbar>span {
    max-width: 100px;
  }
  .showcase [data-slot=tabs-trigger] {
    font-size: 10px;
    padding: 6px;
  }
  .showcase [data-slot=tabs-trigger] svg {
    width: 13px;
  }
  .demo-desktop .concept-visual {
    padding: 15px;
    aspect-ratio: 1.5;
  }
  .demo-desktop .concept-nav strong {
    font-size: 25px;
  }
  .demo-desktop .concept-heading h3 {
    font-size: 32px;
  }
  .demo-desktop .concept-heading {
    margin-top: 15px;
  }
  .demo-desktop .concept-visual>img {
    margin-top: 18px;
    height: 41%;
  }
  .comparison-labels {
    font-size: 9px;
  }
  .comparison-canvas {
    height: 190px;
  }
  .comparison-good {
    padding: 18px;
  }
  .comparison-good h3 {
    font-size: 26px;
  }
  .comparison-before {
    padding: 19px;
  }
  .comparison-before h3 {
    font-size: 17px;
  }
  .comparison-before p {
    font-size: 10px;
  }
  .process-grid {
    grid-template-columns: 1fr;
    margin-top: 35px;
  }
  .process-grid article {
    padding: 22px 0;
    display: grid;
    grid-template-columns: 35px 1fr;
    gap: 12px;
  }
  .process-grid article:before {
    display: none;
  }
  .process-grid article>span {
    padding-top: 5px;
  }
  .process-grid h3 {
    margin-top: 0;
    font-size: 24px;
  }
  .process-grid p {
    grid-column: 2;
    margin-top: 0;
    max-width: none;
    font-size: 14px;
  }
  .ownership-line {
    flex-wrap: wrap;
    gap: 15px;
    align-items: start;
  }
  .ownership-line p {
    flex: 1;
  }
  .ownership-line .text-link {
    margin-left: 38px;
  }
  .investment-options h3 {
    font-size: 25px;
  }
  .investment-options a p {
    font-size: 13px;
  }
  .investment-grid>div>p {
    font-size: 15px;
  }
  .faq-section {
    padding-top: 0;
  }
  .faq-list [data-slot=accordion-trigger] {
    font-size: 16px;
    padding: 21px 0;
  }
  .closing-cta {
    padding: 65px 0;
  }
  .closing-inner {
    flex-direction: column;
    align-items: start;
    gap: 35px;
  }
  .closing-cta h2 {
    font-size: 43px;
  }
  .closing-side {
    width: 100%;
    padding: 0;
  }
  .closing-side p {
    max-width: 400px;
  }
  .closing-side .button {
    margin-top: 22px;
  }
  .page-hero {
    padding: 55px 0 65px;
  }
  .page-hero h1 {
    font-size: 48px;
  }
  .page-hero p {
    font-size: 16px;
    margin-top: 23px;
  }
  .text-cards,.pricing-list,.about-principles,.detail-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .text-card {
    padding: 26px;
  }
  .case-visual {
    margin-top: 30px;
  }
  .case-visual .concept-visual {
    aspect-ratio: auto;
    min-height: 460px;
    padding: 25px;
  }
  .case-visual .concept-nav strong {
    font-size: 35px;
  }
  .case-visual .concept-nav>span {
    font-size: 10px;
  }
  .case-visual .concept-heading h3 {
    font-size: 50px;
  }
  .case-visual .concept-heading {
    margin-top: 30px;
  }
  .case-visual .concept-visual>img {
    height: 200px;
    margin-top: auto;
  }
  .case-visual .concept-bottom {
    font-size: 10px;
  }
  .case-visual .consulting-graphic {
    gap: 15px;
    flex-wrap: wrap;
  }
  .case-visual .consulting-graphic>span {
    width: 35px;
    height: 35px;
    font-size: 15px;
  }
  .case-visual .consulting-graphic p {
    font-size: 12px;
  }
  .pricing-card {
    padding: 28px;
  }
  .contact-intro h1 {
    font-size: 49px;
  }
  .project-form {
    padding: 24px 20px;
  }
  .contact-points {
    margin-top: 30px;
  }
  .form-row {
    grid-template-columns: 1fr;
  }
  .concept-demo-header {
    align-items: start;
  }
  .concept-demo-header strong {
    font-size: 32px;
  }
  .concept-demo-header nav {
    font-size: 11px;
    gap: 15px;
    flex-wrap: wrap;
    justify-content: end;
  }
  .concept-demo-hero {
    padding: 45px 0;
  }
  .concept-demo-hero img {
    height: 300px;
  }
  .concept-demo-hero p {
    font-size: 16px;
  }
  .concept-notice .container {
    font-size: 10px;
  }
  .concept-demo-content h2 {
    font-size: 35px;
  }
}
@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto;
  }
  *,*:before,*:after {
    animation: none !important;
    transition: none !important;
  }
}
.section p,.page-split p,.service-card p,.project-description,.contact-intro>p {
  font-size: 16px;
}
.project-meta p,.work-note,.concept-badge,.demo-disclaimer {
  font-size: 12px;
}
.hero-caption>span {
  font-size: 12px;
}
.project-form .button:disabled {
  opacity: .65;
  cursor: wait;
  transform: none;
}
.project-form .button svg {
  margin-right: 8px;
}
@media (max-width:760px) {
  .brand {
    font-size: 20px;
  }
}
.brand {
  position: relative;
  display: block;
  width: 260px;
  aspect-ratio: 2024 / 260;
  overflow: hidden;
  flex-shrink: 0;
}
.brand img {
  position: absolute;
  left: -4.44664%;
  top: -84.61538%;
  width: 107.31225%;
  height: auto;
  max-width: none;
}
@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-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  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-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@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 accordion-down {
  from {
    height: 0;
  }
  to {
    height: var( --radix-accordion-content-height, var(--accordion-panel-height, auto) );
  }
}
@keyframes accordion-up {
  from {
    height: var( --radix-accordion-content-height, var(--accordion-panel-height, auto) );
  }
  to {
    height: 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)))) {
    :root, :host {
      --shimmer-angle: 20deg;
    }
    *, ::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-border-style: solid;
      --tw-font-weight: 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-duration: initial;
      --tw-content: "";
      --tw-outline-style: solid;
      --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;
      --scroll-fade-t: 0px;
      --scroll-fade-b: 0px;
      --scroll-fade-s: 0px;
      --scroll-fade-e: 0px;
      --scroll-fade-mask: initial;
      --shimmer-image: initial;
      --shimmer-text-fill: initial;
    }
  }
}
