/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or
    ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *,
    :before,
    :after,
    ::backdrop {
      --tw-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-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-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-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-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}

@layer theme {
  :root,
  :host {
    --font-sans:
      -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-mono:
      ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-7xl: 80rem;
    --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-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --tracking-wide: 0.025em;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-sm: 0.25rem;
    --blur-md: 12px;
    --default-transition-duration: 0.15s;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-background: var(--color-background);
    --color-foreground: var(--color-foreground);
    --color-accent: var(--color-accent);
    --color-accent-hover: var(--color-accent-hover);
    --color-accent-light: var(--color-accent-light);
    --color-muted: var(--color-muted);
    --color-border: var(--color-border);
    --color-surface: var(--color-surface);
    --color-surface-alt: var(--color-surface-alt);
    --color-accent-dark: var(--color-accent-dark);
    --color-ink: var(--color-ink);
    --color-border-dark: var(--color-border-dark);
    --color-muted-light: var(--color-muted-light);
    --font-display: var(--font-display);
    --font-body: var(--font-body);
  }
}

@layer base {
  *,
  :after,
  :before,
  ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html,
  :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(
      --default-font-family,
      -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;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b,
  strong {
    font-weight: bolder;
  }

  code,
  kbd,
  samp,
  pre {
    font-family: var(
      --default-mono-font-family,
      ui-monospace,
      SFMono-Regular,
      Menlo,
      Monaco,
      Consolas,
      "Liberation Mono",
      "Courier New",
      monospace
    );
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(
      --default-mono-font-variation-settings,
      normal
    );
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub,
  sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -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 {
    vertical-align: middle;
    display: block;
  }

  img,
  video {
    max-width: 100%;
    height: auto;
  }

  button,
  input,
  select,
  optgroup,
  textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or
    (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button,
  input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  * {
    border-color: var(--color-border);
  }

  html {
    scroll-behavior: smooth;
    overflow-x: hidden;
  }

  body {
    background-color: var(--color-background);
    color: var(--color-foreground);
    font-family: var(--font-body);
    -webkit-font-smoothing: antialiased;
    margin: 0;
    overflow-x: hidden;
  }

  h1,
  h2,
  h3,
  h4 {
    font-family: var(--font-display);
    letter-spacing: -0.02em;
  }

  @media (prefers-reduced-motion: reduce) {
    *,
    :before,
    :after {
      scroll-behavior: auto !important;
      transition-duration: 0.01ms !important;
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
    }
  }
}

@layer components;

@layer utilities {
  .shrink-0 {
    flex-shrink: 0;
  }

  .columns-1 {
    columns: 1;
  }

  .break-inside-avoid {
    break-inside: avoid;
  }

  .text-\[clamp\(2\.75rem\,6vw\,3\.5rem\)\] {
    font-size: clamp(2.75rem, 6vw, 3.5rem);
  }

  .object-contain {
    object-fit: contain;
  }

  .bottom-8 {
    bottom: calc(var(--spacing) * 8);
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-tight {
    --tw-leading: 1.25;
    line-height: 1.25;
  }

  .items-baseline {
    align-items: baseline;
  }

  .gap-x-10 {
    column-gap: calc(var(--spacing) * 10);
  }

  .gap-y-4 {
    row-gap: calc(var(--spacing) * 4);
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: 0;
  }

  .inset-x-0 {
    inset-inline: 0;
  }

  .-top-3 {
    top: calc(var(--spacing) * -3);
  }

  .top-0 {
    top: 0;
  }

  .top-20 {
    top: calc(var(--spacing) * 20);
  }

  .top-\[calc\(5rem-5vh\)\] {
    top: calc(5rem - 5vh);
  }

  .right-0 {
    right: 0;
  }

  .left-0 {
    left: 0;
  }

  .left-1\/2 {
    left: 50%;
  }

  .z-50 {
    z-index: 50;
  }

  .mx-auto {
    margin-inline: auto;
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }

  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }

  .mt-16 {
    margin-top: calc(var(--spacing) * 16);
  }

  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }

  .mr-4 {
    margin-right: calc(var(--spacing) * 4);
  }

  .mb-1 {
    margin-bottom: var(--spacing);
  }

  .float-right {
    float: right;
  }

  .float-left {
    float: left;
  }

  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }

  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }

  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }

  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }

  .mb-16 {
    margin-bottom: calc(var(--spacing) * 16);
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline-block {
    display: inline-block;
  }

  .inline-flex {
    display: inline-flex;
  }

  .aspect-\[4\/5\] {
    aspect-ratio: 4/5;
  }

  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-11 {
    height: calc(var(--spacing) * 11);
  }

  .h-12 {
    height: calc(var(--spacing) * 12);
  }

  .h-20 {
    height: calc(var(--spacing) * 20);
  }

  .h-\[6\.3rem\] {
    height: 6.3rem;
  }

  .h-\[54vh\] {
    height: 54vh;
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .min-h-\[16rem\] {
    min-height: 16rem;
  }

  .min-h-\[141px\] {
    min-height: 141px;
  }

  .min-h-svh {
    min-height: 100svh;
  }

  .w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-10 {
    width: calc(var(--spacing) * 10);
  }

  .w-12 {
    width: calc(var(--spacing) * 12);
  }

  .w-\[6\.3rem\] {
    width: 6.3rem;
  }

  .w-auto {
    width: auto;
  }

  .w-fit {
    width: fit-content;
  }

  .w-full {
    width: 100%;
  }

  .max-w-2xl {
    max-width: var(--container-2xl);
  }

  .max-w-\[12rem\] {
    max-width: 12rem;
  }

  .max-w-\[6rem\] {
    max-width: 6rem;
  }

  .max-w-\[14rem\] {
    max-width: 14rem;
  }

  .max-w-\[17\.5rem\] {
    max-width: 17.5rem;
  }

  .max-w-3xl {
    max-width: var(--container-3xl);
  }

  .max-w-4xl {
    max-width: var(--container-4xl);
  }

  .max-w-5xl {
    max-width: var(--container-5xl);
  }

  .max-w-7xl {
    max-width: var(--container-7xl);
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .max-w-sm {
    max-width: var(--container-sm);
  }

  .max-w-xl {
    max-width: var(--container-xl);
  }

  .max-w-xs {
    max-width: var(--container-xs);
  }

  .flex-1 {
    flex: 1;
  }

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-\[3\.5px\] {
    --tw-translate-y: calc(3.5px * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-\[10\%\] {
    --tw-translate-y: calc(10% * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-\[20\%\] {
    --tw-translate-y: calc(20% * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-\[3\.5px\] {
    --tw-translate-y: 3.5px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-\[10\%\] {
    --tw-translate-y: 10%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-rotate-45 {
    rotate: -45deg;
  }

  .rotate-45 {
    rotate: 45deg;
  }

  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,)
      var(--tw-skew-x,) var(--tw-skew-y,);
  }

  .scroll-mt-20 {
    scroll-margin-top: calc(var(--spacing) * 20);
  }

  .scroll-mt-28 {
    scroll-margin-top: calc(var(--spacing) * 28);
  }

  .list-disc {
    list-style-type: disc;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-col-reverse {
    flex-direction: column-reverse;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-center {
    align-items: center;
  }

  .items-start {
    align-items: flex-start;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .justify-start {
    justify-content: flex-start;
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-x-8 {
    column-gap: calc(var(--spacing) * 8);
  }

  .gap-y-3 {
    row-gap: calc(var(--spacing) * 3);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }

  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }

  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }

  .gap-16 {
    gap: calc(var(--spacing) * 16);
  }

  :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))
    );
  }

  :where(.space-y-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(
      calc(var(--spacing) * 5) * var(--tw-space-y-reverse)
    );
    margin-block-end: calc(
      calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse))
    );
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(
      calc(var(--spacing) * 6) * var(--tw-space-y-reverse)
    );
    margin-block-end: calc(
      calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse))
    );
  }

  .self-end {
    align-self: flex-end;
  }

  .justify-self-center {
    justify-self: center;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .rounded-full {
    border-radius: 2147483647px;
  }

  .rounded-lg {
    border-radius: 0.75rem;
  }

  .rounded-sm {
    border-radius: var(--radius-sm);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }

  .border-l-4 {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px;
  }

  .border-\[\#333330\] {
    border-color: #333330;
  }

  .border-\[\#525250\] {
    border-color: #525250;
  }

  .border-ink {
    border-color: var(--color-ink);
  }

  .border-border-dark {
    border-color: var(--color-border-dark);
  }

  .border-accent {
    border-color: var(--color-accent);
  }

  .border-accent-light {
    border-color: var(--color-accent-light);
  }

  .border-border {
    border-color: var(--color-border);
  }

  .border-transparent {
    border-color: #0000;
  }

  .bg-\[\#0A0A0A\] {
    background-color: #0a0a0a;
  }

  .bg-\[\#0B1F33\] {
    background-color: #0b1f33;
  }

  .bg-\[\#3A3A38\] {
    background-color: #3a3a38;
  }

  .bg-\[\#333330\] {
    background-color: #333330;
  }

  .bg-\[\#F5F5F0\] {
    background-color: #f5f5f0;
  }

  .bg-\[rgba\(245\,245\,240\,0\.85\)\] {
    background-color: #f5f5f0d9;
  }

  .bg-accent-dark {
    background-color: var(--color-accent-dark);
  }

  .bg-ink {
    background-color: var(--color-ink);
  }

  .bg-accent {
    background-color: var(--color-accent);
  }

  .bg-accent-light {
    background-color: var(--color-accent-light);
  }

  .bg-background {
    background-color: var(--color-background);
  }

  .bg-border {
    background-color: var(--color-border);
  }

  .bg-foreground {
    background-color: var(--color-foreground);
  }

  .bg-surface {
    background-color: var(--color-surface);
  }

  .bg-surface-alt {
    background-color: var(--color-surface-alt);
  }

  .bg-transparent {
    background-color: #0000;
  }

  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-t {
    --tw-gradient-position: to top in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .from-\[\#0A0A0A\] {
    --tw-gradient-from: #0a0a0a;
    --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)
    );
  }

  .via-\[\#0A0A0A\]\/40 {
    --tw-gradient-via: oklab(14.4788% 7.45058e-9 7.45058e-9/0.4);
    --tw-gradient-via-stops:
      var(--tw-gradient-position),
      var(--tw-gradient-from) var(--tw-gradient-from-position),
      var(--tw-gradient-via) var(--tw-gradient-via-position),
      var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-transparent {
    --tw-gradient-via: transparent;
    --tw-gradient-via-stops:
      var(--tw-gradient-position),
      var(--tw-gradient-from) var(--tw-gradient-from-position),
      var(--tw-gradient-via) var(--tw-gradient-via-position),
      var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .to-transparent {
    --tw-gradient-to: 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)
    );
  }

  .object-cover {
    object-fit: cover;
  }

  .object-\[68\%_8\%\] {
    object-position: 68% 8%;
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-5 {
    padding: calc(var(--spacing) * 5);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .px-7 {
    padding-inline: calc(var(--spacing) * 7);
  }

  .py-1 {
    padding-block: var(--spacing);
  }

  .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-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .py-14 {
    padding-block: calc(var(--spacing) * 14);
  }

  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }

  .py-28 {
    padding-block: calc(var(--spacing) * 28);
  }

  .py-32 {
    padding-block: calc(var(--spacing) * 32);
  }

  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }

  .pt-28 {
    padding-top: calc(var(--spacing) * 28);
  }

  .pt-40 {
    padding-top: calc(var(--spacing) * 40);
  }

  .pt-\[calc\(5rem\+31vh\)\] {
    padding-top: calc(5rem + 31vh);
  }

  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }

  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }

  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }

  .pb-28 {
    padding-bottom: calc(var(--spacing) * 28);
  }

  .pb-32 {
    padding-bottom: calc(var(--spacing) * 32);
  }

  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }

  .pl-6 {
    padding-left: calc(var(--spacing) * 6);
  }

  .text-center {
    text-align: center;
  }

  .font-display {
    font-family: var(--font-display);
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--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-\[10px\] {
    font-size: 10px;
  }

  .text-\[clamp\(1\.5rem\,3\.5vw\,2\.5rem\)\] {
    font-size: clamp(1.5rem, 3.5vw, 2.5rem);
  }

  .text-\[clamp\(1\.75rem\,4vw\,3rem\)\] {
    font-size: clamp(1.75rem, 4vw, 3rem);
  }

  .text-\[clamp\(1\.75rem\,6\.5vw\,4\.5rem\)\] {
    font-size: clamp(1.75rem, 6.5vw, 4.5rem);
  }

  .text-\[clamp\(1\.75rem\,7vw\,4\.25rem\)\] {
    font-size: clamp(1.75rem, 7vw, 4.25rem);
  }

  .text-\[clamp\(2\.25rem\,5\.5vw\,4\.5rem\)\] {
    font-size: clamp(2.25rem, 5.5vw, 4.5rem);
  }

  .text-\[clamp\(2rem\,4\.5vw\,3\.5rem\)\] {
    font-size: clamp(2rem, 4.5vw, 3.5rem);
  }

  .text-\[clamp\(2rem\,4\.5vw\,3rem\)\] {
    font-size: clamp(2rem, 4.5vw, 3rem);
  }

  .leading-\[1\.0\] {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-\[1\.05\] {
    --tw-leading: 1.05;
    line-height: 1.05;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-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-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .break-words {
    overflow-wrap: break-word;
  }

  .hyphens-auto {
    -webkit-hyphens: auto;
    hyphens: auto;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .whitespace-pre-line {
    white-space: pre-line;
  }

  .text-\[\#6B6B66\] {
    color: #6b6b66;
  }

  .text-\[\#6E93C2\] {
    color: #6e93c2;
  }

  .text-\[\#8A8A82\] {
    color: #8a8a82;
  }

  .text-\[\#A8A8A0\] {
    color: #a8a8a0;
  }

  .text-\[\#F5F5F0\] {
    color: #f5f5f0;
  }

  .text-accent {
    color: var(--color-accent);
  }

  .text-accent-light {
    color: var(--color-accent-light);
  }

  .text-background {
    color: var(--color-background);
  }

  .text-foreground {
    color: var(--color-foreground);
  }

  .text-muted {
    color: var(--color-muted);
  }

  .text-muted-light {
    color: var(--color-muted-light);
  }

  .text-white {
    color: var(--color-white);
  }

  .uppercase {
    text-transform: uppercase;
  }

  .line-through {
    text-decoration-line: line-through;
  }

  .opacity-30 {
    opacity: 0.3;
  }

  .opacity-40 {
    opacity: 0.4;
  }

  .opacity-70 {
    opacity: 0.7;
  }

  .opacity-90 {
    opacity: 0.9;
  }

  .shadow-\[0_-8px_30px_-12px_rgba\(0\,0\,0\,0\.15\)\] {
    --tw-shadow: 0 -8px 30px -12px var(--tw-shadow-color, #00000026);
    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, #0000001a),
      0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow:
      var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .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-colors {
    transition-property:
      color, background-color, border-color, outline-color,
      text-decoration-color, fill, stroke, --tw-gradient-from,
      --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(
      --tw-ease,
      var(--default-transition-timing-function)
    );
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(
      --tw-ease,
      var(--default-transition-timing-function)
    );
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-300 {
    --tw-duration: 0.3s;
    transition-duration: 0.3s;
  }

  @media (hover: hover) {
    .group-hover\:translate-x-1:is(:where(.group):hover *) {
      --tw-translate-x: var(--spacing);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:border-accent:hover {
      border-color: var(--color-accent);
    }

    .hover\:border-accent-light:hover {
      border-color: var(--color-accent-light);
    }

    .hover\:bg-accent:hover {
      background-color: var(--color-accent);
    }

    .hover\:bg-accent-hover:hover {
      background-color: var(--color-accent-hover);
    }

    .hover\:bg-surface-alt:hover {
      background-color: var(--color-surface-alt);
    }

    .hover\:text-accent:hover {
      color: var(--color-accent);
    }

    .hover\:text-accent-light:hover {
      color: var(--color-accent-light);
    }

    .hover\:text-white:hover {
      color: var(--color-white);
    }
  }

  @media (width>=40rem) {
    .sm\:ml-8 {
      margin-left: calc(var(--spacing) * 8);
    }

    .sm\:mr-8 {
      margin-right: calc(var(--spacing) * 8);
    }

    .sm\:max-w-\[15rem\] {
      max-width: 15rem;
    }

    .sm\:h-\[8\.1rem\] {
      height: 8.1rem;
    }

    .sm\:w-\[8\.1rem\] {
      width: 8.1rem;
    }

    .sm\:scale-105 {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sm\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .sm\:grid-cols-\[1fr_auto\] {
      grid-template-columns: 1fr auto;
    }

    .sm\:items-start {
      align-items: flex-start;
    }

    .sm\:justify-self-end {
      justify-self: flex-end;
    }

    .sm\:p-14 {
      padding: calc(var(--spacing) * 14);
    }

    .sm\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }

    .sm\:text-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }

    .sm\:text-3xl {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }

    .sm\:columns-2 {
      columns: 2;
    }

    .sm\:basis-\[calc\(50\%-0\.5rem\)\] {
      flex-basis: calc(50% - 0.5rem);
    }
  }

  @media (width>=48rem) {
    .md\:col-span-1 {
      grid-column: span 1 / span 1;
    }

    .md\:flex {
      display: flex;
    }

    .md\:hidden {
      display: none;
    }

    .md\:inline-flex {
      display: inline-flex;
    }

    .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\:flex-row {
      flex-direction: row;
    }

    .md\:items-center {
      align-items: center;
    }

    .md\:justify-between {
      justify-content: space-between;
    }

    .md\:basis-\[calc\(50\%-0\.5rem\)\] {
      flex-basis: calc(50% - 0.5rem);
    }
  }

/* Footer-Navigation: auf Mobile ausblenden, ab md wieder anzeigen */
@media (width>=40rem) {
  .sm\:block {
    display: block;
  }
}

/* Kontakt-Kurztext: nur auf Mobile ausblenden ab sm (Original-Volltext übernimmt) */
@media (width>=40rem) {
  .sm\:hidden {
    display: none;
  }
}

  @media (width>=64rem) {
    .lg\:text-left {
      text-align: left;
    }

    .lg\:text-xl {
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
    }

    .lg\:top-0 {
      top: 0;
    }

    .lg\:right-0 {
      right: 0;
    }

    .lg\:bottom-0 {
      bottom: 0;
    }

    .lg\:left-auto {
      left: auto;
    }

    .lg\:mt-8 {
      margin-top: calc(var(--spacing) * 8);
    }

    .lg\:mt-10 {
      margin-top: calc(var(--spacing) * 10);
    }

    .lg\:mt-32 {
      margin-top: calc(var(--spacing) * 32);
    }

    .lg\:hidden {
      display: none;
    }

    .lg\:block {
      display: block;
    }

    .lg\:h-auto {
      height: auto;
    }

    .lg\:min-h-svh {
      min-height: 100svh;
    }

    .lg\:w-\[46\%\] {
      width: 46%;
    }

    .lg\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lg\:grid-cols-\[1fr_22rem\] {
      grid-template-columns: 1fr 22rem;
    }

    .lg\:grid-cols-\[22rem_1fr\] {
      grid-template-columns: 22rem 1fr;
    }

    .lg\:grid-cols-\[280px_1fr\] {
      grid-template-columns: 280px 1fr;
    }

    .lg\:gap-16 {
      gap: 4rem;
    }

    .lg\:gap-5 {
      gap: 1.25rem;
    }

    .lg\:grid-cols-\[auto_1fr\] {
      grid-template-columns: auto 1fr;
    }

    .lg\:flex-col {
      flex-direction: column;
    }

    .lg\:items-start {
      align-items: flex-start;
    }

    .lg\:justify-center {
      justify-content: center;
    }

    .lg\:via-transparent {
      --tw-gradient-via: transparent;
      --tw-gradient-via-stops:
        var(--tw-gradient-position),
        var(--tw-gradient-from) var(--tw-gradient-from-position),
        var(--tw-gradient-via) var(--tw-gradient-via-position),
        var(--tw-gradient-to) var(--tw-gradient-to-position);
      --tw-gradient-stops: var(--tw-gradient-via-stops);
    }

    .lg\:object-\[72\%_18\%\] {
      object-position: 72% 18%;
    }

    .lg\:p-6 {
      padding: calc(var(--spacing) * 6);
    }

    .lg\:p-10 {
      padding: calc(var(--spacing) * 10);
    }

    .lg\:p-12 {
      padding: calc(var(--spacing) * 12);
    }

    .lg\:p-20 {
      padding: calc(var(--spacing) * 20);
    }

    .lg\:px-10 {
      padding-inline: calc(var(--spacing) * 10);
    }

    .lg\:pt-28 {
      padding-top: calc(var(--spacing) * 28);
    }

    .lg\:opacity-100 {
      opacity: 1;
    }

    .lg\:columns-3 {
      columns: 3;
    }

    .lg\:basis-\[calc\(50\%-0\.5rem\)\] {
      flex-basis: calc(50% - 0.5rem);
    }

    .lg\:basis-\[calc\(33\.333\%-0\.667rem\)\] {
      flex-basis: calc(33.333% - 0.667rem);
    }
  }

  .eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-size: 0.8rem;
    font-weight: 600;
  }

  .text-\[0\.7rem\] {
    font-size: 0.7rem;
  }

  .link-underline {
    text-decoration: none;
    position: relative;
  }

  .link-underline:after {
    content: "";
    background-color: var(--color-accent);
    transform-origin: 0;
    width: 100%;
    height: 1px;
    transition: transform 0.3s;
    position: absolute;
    bottom: -2px;
    left: 0;
    transform: scaleX(0);
  }

  .link-underline:hover:after {
    transform: scaleX(1);
  }

  .dot-grid {
    background-image: none;
  }

  .dot-grid-light {
    background-image: radial-gradient(circle, #f5f5f02e 1px, #0000 1px);
    background-size: 16px 16px;
  }

  .card-panel {
    background-color: #fff;
    border: 1px solid var(--color-border);
    overflow: hidden;
  }
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(data:font/woff2;base64,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)
      format("woff2"),
    url(data:font/woff;base64,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)
      format("woff");
  unicode-range:
    U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/assets/manrope-cyrillic-500-normal-B1OEZity.woff2) format("woff2"),
    url(/assets/manrope-cyrillic-500-normal-CNwnNrRC.woff) format("woff");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/assets/manrope-greek-500-normal-GeMIHyWm.woff2) format("woff2"),
    url(/assets/manrope-greek-500-normal-DyxYGEtJ.woff) format("woff");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/assets/manrope-vietnamese-500-normal-DCXiE_xi.woff2) format("woff2"),
    url(/assets/manrope-vietnamese-500-normal-DaZ8i3XM.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/assets/manrope-latin-ext-500-normal-dm74KBQw.woff2) format("woff2"),
    url(/assets/manrope-latin-ext-500-normal-EtoS1VaI.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2) format("woff2"),
    url(/assets/manrope-latin-500-normal-DMZssgOp.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(data:font/woff2;base64,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)
      format("woff2"),
    url(data:font/woff;base64,d09GRgABAAAAAAiQAA4AAAAACzgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHUE9TAAABRAAAAKAAAAD8jmuU7UdTVUIAAAHkAAAALQAAAC4jdiSCT1MvMgAAAhQAAABNAAAAYHMBrgpTVEFUAAACZAAAACYAAAAqeZRq5WNtYXAAAAKMAAAAZAAAAIpNu/P9Z2FzcAAAAvAAAAAIAAAACAAAABBnbHlmAAAC+AAAA2gAAASK2TaQ7GhlYWQAAAZgAAAANgAAADYgeMTUaGhlYQAABpgAAAAfAAAAJBDfBrhobXR4AAAGuAAAADcAAAA8Q6kDYmxvY2EAAAbwAAAAIAAAACAI2QpZbWF4cAAABxAAAAAcAAAAIAAmAL9uYW1lAAAHLAAAAP4AAAIMK0FNV3Bvc3QAAAgsAAAAYwAAAI7B1Xo4eNpiYGRgYOBi0GKwYGB2cfMJYRBJrgRUOdUGCANA8OJaZh18ELzBbQN0DiZIi3V0LMAktM89mty7/2yAZNBcjJDABiHy6jL63dkIvnoqrJmMDIqJyatzjxVcxi/Ig9KQOz5QT66ZqEa9kxQE+1JZyAVFOTLz7r1RjsjhM8+bFBMWHN7zGIUwSDEzSmAerLuwmfVIxudPJegcY/sJ5n4qW3jaY2BkYGDgYtABQmYXN58QBonkyqIcBpGcxJI8BhEGEGABEf//g0gAlk8HPAAAAHjaY2Bh2c4UwcDKwMAqwrKBgYFhGoRm2sNgxNTBgAKY2EEEjBfs4evJcICBV2ELR8jfFQwMHCFMEQoMjPNBciwWrAuAlAIDCwAwMAwiAAAAeNpjYARCDiBmYBABkzIMTOXpGSUgJgMTA5hiZGWKYGAAACwHAl0AAHjaVcg1AUIBFAXQg7vLTJVfgwzM5KEAzoJDEkYsBK7vXUcYEVRFhB4e1UZdUURcTkOgYxsKR/vRefTYmFwu/O296Cx6eO6X82VzaV2CSwjYNYXUfS8rrwhyYpLiUhLSV1I9F+YAAQAB//8AD3jalFMDkBxBFP2/R3GyPt/tzCpOZhkUYp9j2zrFtm3bNkux7ULsFGJMb3riXPEG7fdef0FhOAUggLAcOJCgIBQFE9ggGuJBATeUhLLgBfD67RZnHv9TfOhrHv+MjOnJyVl162bUrJlVtWpW5coZoVBOuXIZpUpllCiR43BkJCRkRUUBEPAA8Bq7swQFALxoR4Wzc8hxHryGpfHa7e7ajq6k//MnwvIvbbAGPUTykxNaRQDuJ1Ja+gNZ5D8sKiZvbjwmrZ62+n8SPoit/vBU/sET9R+PSXa5/F6z1asGWCeKuTmfJ41KXFtb9dZa22BULmpT4shktXZtNXlkIgACe/iVzMp8AHYDepF9BnxKI99hS2z5jkaSNK6Btoq0/LZL2wLh8O/zRAQedPxkNt/A8BFsYggEA17VarUYFIOvDFFkSZTYEFv7anfM3nev7bWIGiO6DWxU0XFVWK5diDfHTPm0gnbF9LS52dXcUbFa1x8ZUjn8QJgiHIXCjFMBEGQHKWZ0eFXeWIzwbivTCNqtNqsVXW4X+0QmQh7fopdWrMByt25i+eXL6cWbC8565YLfcgrK3vOkJWvPLtBXCsUdwVQ8iqlHjtCttCrdeuQkmTQkrWPH1METybSOaYMmIpk4JL0jIHjofL4QH9L9gn/8sp32v4rxGH+V9qfzsQsf+naBU7+eovN1TywA4N0MEfXDE7ojbHHEYlH8Pv2iivzTFz1Cs1PWnonNL+E1Lr8po2vdASWu8iE6PkaZM6VE07pGSqPTPc0bueMpMC4OksMP+Ey+ERRl3pB1b7iI32fU2Y0WMxHd6k936N7QNXRntF35ZsToN8tWvhk56s2KRQ1CRbVVRSsm4omiFRIXdB1vN+eLm4m4fgPitJlhWLeBhmcc71q/Z996nfBMn3odW6eplYFAHaY7gkVBgdq6qm6C3xdUWNHZmYjFzCT17AsGAkGvyFZEdNv12V9r2arCdn96giWFWfJaSLvEBYHGrc3N+JAWZylkkuUS7TzVO3kMNvGGUDKh6gUtg5BbHGf+Pn45adlQI5sIGXFJljusZhq22zOjl1hZuwrlymkqm2xKsTNfsUJERMFQ301aUdLCVMRIyjRPNzGFWXMFC4ukpbSui5S8iomypI2ia52+X6i1mdncUCuLFQBkGTWlAAEAAAAEgQb7OTYiXw889QADB9AAAAAA27amhAAAAADdH1Gf/rz9sgnMCS4AAAAGAAIAAAAAAAB42mNgZGDgCPm7goGBy+Xfnn97OM8ARVABPwChtQaqAHjaYz3BcIJVlUEDhlkWMTCAMKspQw/rRwYbFhOgWDnDTJbDDAGMExgYQJhlAxCfYvAEAEv0C0gAAAAAWgB3AJsAzQDlAO0BFgFZAXIBnQHZAdkB2QHZAkV42mNgZGBg4GdIYeBliGRgA/MQgJmBEQAUnQDmeNqF0MVRBEEUgOEfd7nic8Pd4YK765V1354awSEAoiAUIiAUYqDr1bq2fu0CtPJJHTX1LcA3fynXYPCbci2d/KRcxxJfKdfnzGmgFzPlRgwuUu5kgX7ENdBOd8oNWnBNgAQRtlDE8XNPgAghwjiSHUzWmGYaGx8WEUwc7Sls7ThTKCxCTHPOHiec4iGJhcIkwGTR/ncEsGStIonBAlMsMsNCjta55oBTDrWq7XdFgBCutgerYLZRNHtbRl6wMm80mGOGWVa1bgjLqsJdLsRRbZ+s2MSV31HyEoORzE/Zqb8KEZEZLl6m8KFIyA+G8WDJ7n48TJPIPYnRf5pBTsMAAHjaY2BiAIP/cxiMGLABfiBWYTjJyMRgw8jMyMLIysjGyM7IwcDMyMnIxcjN5phUlFqWyhlaXFKUmFmSXMlempdpYOLkCKFdLThL0WScoDKWYNrA0YDJOQjENDJwMgEAa+4bNwA=)
      format("woff");
  unicode-range:
    U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/assets/manrope-cyrillic-600-normal-DvRl3Mj-.woff2) format("woff2"),
    url(/assets/manrope-cyrillic-600-normal-It4mZcQk.woff) format("woff");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/assets/manrope-greek-600-normal-BoRV6lzK.woff2) format("woff2"),
    url(/assets/manrope-greek-600-normal-CF2i9ZRY.woff) format("woff");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/assets/manrope-vietnamese-600-normal-C1J5PCl_.woff2) format("woff2"),
    url(/assets/manrope-vietnamese-600-normal-lA7a_7Ok.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/assets/manrope-latin-ext-600-normal-_gBojHdJ.woff2) format("woff2"),
    url(/assets/manrope-latin-ext-600-normal-u5Pl7hTU.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),
    url(/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(data:font/woff2;base64,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)
      format("woff2"),
    url(data:font/woff;base64,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)
      format("woff");
  unicode-range:
    U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(/assets/manrope-cyrillic-700-normal-Dw_fZAg2.woff2) format("woff2"),
    url(/assets/manrope-cyrillic-700-normal-7JNVKxyl.woff) format("woff");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(/assets/manrope-greek-700-normal-CHUG9PD8.woff2) format("woff2"),
    url(/assets/manrope-greek-700-normal-DyfsrCpP.woff) format("woff");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(/assets/manrope-vietnamese-700-normal-CUqMx5-1.woff2) format("woff2"),
    url(/assets/manrope-vietnamese-700-normal-pt65Fn2Z.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(/assets/manrope-latin-ext-700-normal-DYOwVNan.woff2) format("woff2"),
    url(/assets/manrope-latin-ext-700-normal-eVCcYqtJ.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),
    url(/assets/manrope-latin-700-normal-DGRFkw-m.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(data:font/woff2;base64,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)
      format("woff2"),
    url(data:font/woff;base64,d09GRgABAAAAAAiIAA4AAAAAC0gAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHUE9TAAABRAAAAJsAAAD8jkqUrUdTVUIAAAHgAAAALQAAAC4jdiSCT1MvMgAAAhAAAABNAAAAYHPJrjFTVEFUAAACYAAAACYAAAAqeZZrrWNtYXAAAAKIAAAAZAAAAIpNu/P9Z2FzcAAAAuwAAAAIAAAACAAAABBnbHlmAAAC9AAAA2AAAASSElra4mhlYWQAAAZUAAAANgAAADYglsUZaGhlYQAABowAAAAfAAAAJBD9BtZobXR4AAAGrAAAADcAAAA8RcwDXGxvY2EAAAbkAAAAIAAAACAI4wpobWF4cAAABwQAAAAcAAAAIAAmAL9uYW1lAAAHIAAAAQEAAAIUKwxPmHBvc3QAAAgkAAAAYwAAAI7B1Xo4eNpiYGRgYOBi0GKwYGB2cfMJATQ51gYIQ1EUPfEgZbZBVsEb3KVGh6BigtSpGYJtPvejee7vknR28yHJsLUck+ADGIMDOIPefEwM7wwfV5kjdZkqgxsHQuWWMA9p09pcfs9lVdmLSQE7l5qluVI3mSrvWesz8vTd10+pi0dASKSsiCMuq2IZ1cElxMchEjsfnJaxe8r9J7ePKfoAeNpjYGRgYOBi0AFCZhc3nxAGieTKohwGkZzEkjwGEQYQYAER//+DSACWTwc8AAAAeNpjYGG5x6zAwMrAwCrCsoGBgWEahGbaw2DE1MGAApjYQQSMF+zh68lwgIFXYQtHyN8VDAwcIUwRCgyM80FyLBasC4CUAgMLACrPDBIAAAB42mNgBEIOIGZgEAGTMgxM5ekZJSAmAxMDmGJkZ1ZgYAAAK20CKAAAeNpVyDUBQgEUBdCDu8tMlV+DDMzkoQDOgkMSRiwEru9dRxgRVEWEHh7VRl1RRFxOQ6BjGwpH+9F59NiYXC787b3oLHp47pfzZXNpXYJLCNg1hdR9LyuvCHJikuJSEtJXUj0X5gABAAH//wAPeNqUkwOwHEkYgP+/h/XW89a2dx/WV7HtPJ5tTMWFsxUnhbNt2zaLZ8bm9KYnRilt/fq6G0zwMYAAwt3AgQQGsEAruMAHIYhBCnLQBiWAUiXiSBxn/Ziv7zrOqqoLp0yZNW6cOmrUrGHDZg0YoNbrc9rb1XxezWbnxONqODzL6wUgkGY+F5nPErQw7zCCES7CIcel8WVcji/Tf0/Sfu8nuffeFu7eeSrm6fckS+ZqNwK3T1J6fa+k+QhZjLWWjpHHEZ8++OmRSngjXgcHNXUxTU7wHKYpmkxWSnZnZ5W1oth6lFN4Yc/Crm8H9w3+tmvhOYf8E91dC3sKgwcX2O5uZa+vCCzxq1mUMkDExtSzYsPV1I6DsM7yIGon47gu7XcS3P2o9iI0mwckiAg8GyLcwuZfMw1uNrFVa9VSp9PpsEVs5SKJRSVRYkO8s2P0WRc9/+PJdHVLx2XnXjKhI0jXCndrfwcV7+3ag/R0nDD0hlmjk26vdsPeVzKg+bvwtPAmGFjcYQA+TqxKPMwrVsJzTmajFnG6nE5MppLJuMhskCD96JFHsIFPY+ORR+hHP9/4YtFl2P27wV14kbgNruKLdO2LBbch+DpOw7dx2uuv0yfpEPrk6whkwaUnjBjeuHgBmaW3vD4FhDRdyY/h6zoXPMjlaToPrQgsW+k8uhLP5euanaze9TFdeYDECCbj3UtCB+EKkr0odEdj0f0sGjeNffhDvywhXc0ZlO6pI0+P0bV8nd4bCKxcmOkeZ6cb0WyfkR09MOGjfr7OeExp/s4v57vAwihHAYRoklTKim5BcdiJmOrcj0QnotthRNT7tt54y9a779t2083b7r16aNJCLdb0UJxvTQ27slf1GaTgYsSHHkFcuJg2H3qYNhfR3vLoceUufHBMuWvKaH8IyF67+j3EYIxuVQ+jUq7F2NeLMCMOu34LpU52Icy8yFZETEX0WeVgxGw1wnb30WAPwy6VHOSKMUsqZ18qT+NP1VKyYA1E4mP8A3ricguPbi7uG/mbNoOQbwkxCIrdMyrVmGg3Gjj6q1gIDf189ilPDBgwRj49GPFVPrwok/r2W1n2ZNINl9tarRr8puK5+Usv5dzfcpySM4XbHIFQPdwat+2ZfZlubLKdhfmyYFX1SwCpGzFLAAEAAAAEgQaDNptmXw889QADB9AAAAAA27amhAAAAADdH1Gf/uL9ignECZsAAAAGAAIAAAAAAAB42mNgZGDgCPm7goGBy+bfo3+POI8ARVABPwCm3QbmAHjaYz3BcII1jEEDhlneMDCAMGsMQw+bCIMNSwFQbApDD8szhgDGCQwMIMyyASjPwBAAAHPHC2cAAAAAWgB3AJwAzQDmAO4BGAFZAXMBoAHcAdwB3AHcAkl42mNgZGBg4GdIYeBliGRgA/MQgJmBEQAUnQDmeNqFkLVVRUEYBgd3zXBJcHdIcHdNee5+Lw4lUAPVUAG1EPOdw3NdnX/WF6jngwrKKuuAL37jXMYgP3Eup5nvOFewzGecK9PmVNGJEedq+cs4NzNP7z+XQSPtca4RwQ5PGESxsEkIP3bucODBhVteVTnMKlPKMWxE8Sg2xJPExH71IVkXU5yxyzEnWAgSlQ3jYCLPCbfyUbRacZB+5plkgWnm02iNK/Y54UBUesdLeRem2EI0a35/nvlbaIxnosmX9jPLNDOsiK5ltC5nn3PEeMU2tIINTPRHcnqN4uHkf8XiP+bCg2ZgYmUSGyEC6B9lLERVg9ixMCWbftLIH+hQUM8AAAB42mNgYgCD/3MYjBiwAX4gVmE4ycjEYMPIzMjCyMrIxsjOyMHAzMjJyMXIzeaYVJRalsoZWlxSlJhZklzJXpqXaWDi5AihXS04S9FknKAylmDawNGAyTkIxDQycDIBAGvuGzcA)
      format("woff");
  unicode-range:
    U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(/assets/manrope-cyrillic-800-normal-AvdZ5mAV.woff2) format("woff2"),
    url(/assets/manrope-cyrillic-800-normal-BuEMjQU-.woff) format("woff");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(/assets/manrope-greek-800-normal-CDvU698_.woff2) format("woff2"),
    url(/assets/manrope-greek-800-normal-Bw-67qu9.woff) format("woff");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(/assets/manrope-vietnamese-800-normal-ClPWri-A.woff2) format("woff2"),
    url(/assets/manrope-vietnamese-800-normal-bvg7iBCV.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(/assets/manrope-latin-ext-800-normal-DdFx7KEb.woff2) format("woff2"),
    url(/assets/manrope-latin-ext-800-normal-BQAQsuQc.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2) format("woff2"),
    url(/assets/manrope-latin-800-normal-uHUdIJgA.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:
    url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),
    url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");
  unicode-range:
    U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:
    url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),
    url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:
    url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),
    url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:
    url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),
    url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:
    url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),
    url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:
    url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),
    url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:
    url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),
    url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),
    url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");
  unicode-range:
    U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),
    url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),
    url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),
    url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),
    url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),
    url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),
    url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),
    url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");
  unicode-range:
    U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),
    url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),
    url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),
    url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),
    url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),
    url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),
    url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --color-background: #f5f5f0;
  --color-foreground: #0a0a0a;
  --color-accent: #03315d;
  --color-accent-hover: #0a4179;
  --color-accent-light: #6e93c2;
  --color-muted: #50504a;
  --color-border: #0a0a0a1a;
  --color-surface: #fff;
  --color-surface-alt: #edede6;
  --color-accent-dark: #0b1f33;
  --color-ink: #3a3a38;
  --color-border-dark: #525250;
  --color-muted-light: #a8a8a0;
  --font-display: "Manrope", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
}

@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-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-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-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-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

.leading-\[1\.15\] {
  --tw-leading: 1.15;
  line-height: 1.15;
}

.text-\[clamp\(2\.25rem\,6vw\,3\.75rem\)\] {
  font-size: clamp(2.25rem, 6vw, 3.75rem);
}

.py-16 {
  padding-block: calc(var(--spacing) * 16);
}

.pt-6 {
  padding-top: calc(var(--spacing) * 6);
}

.text-right {
  text-align: right;
}

.pt-16 {
  padding-top: calc(var(--spacing) * 16);
}

.pb-4 {
  padding-bottom: calc(var(--spacing) * 4);
}

.pt-4 {
  padding-top: calc(var(--spacing) * 4);
}

.h-6 {
  height: calc(var(--spacing) * 6);
}

.h-14 {
  height: calc(var(--spacing) * 14);
}

.hover\:text-\[\#F5F5F0\]:hover {
  color: #f5f5f0;
}

.h-4 {
  height: calc(var(--spacing) * 4);
}

.w-4 {
  width: calc(var(--spacing) * 4);
}

.text-cta-inverse {
  color: var(--color-accent);
}

/* Überschriften: keine automatische Silbentrennung, ausgewogener Zeilenumbruch */
h1, h2, h3 {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  text-wrap: balance;
}


/* Fehlende Regeln für die abgesenkten Überschriften-Mindestgrößen */
.text-\[clamp\(1\.6875rem\,6vw\,3\.75rem\)\] {
  font-size: clamp(1.6875rem, 6vw, 3.75rem);
}
.text-\[clamp\(1\.5rem\,4\.5vw\,3\.5rem\)\] {
  font-size: clamp(1.5rem, 4.5vw, 3.5rem);
}

/* Eyebrow: kleiner und enger auf schmalen Screens, damit es einzeilig bleibt */
@media (width<40rem) {
  .eyebrow {
    font-size: 0.625rem;
    letter-spacing: 0.08em;
  }
}

/* Tagline/Zitat: kleiner auf Mobile (nutzt vorhandenes .text-lg), ab sm wieder text-xl */
@media (width>=40rem) {
  .sm\:text-xl {
    font-size: var(--text-xl);
  }
  .sm\:text-lg {
    font-size: var(--text-lg);
  }
}

/* Abschnitts-Abstände: kleiner auf Mobile, ab lg wieder py-28 */
.py-16 {
  padding-block: calc(var(--spacing) * 16);
}
@media (width>=40rem) {
  .sm\:py-28 {
    padding-block: calc(var(--spacing) * 28);
  }
}

/* Copyright-Zeile: linksbündig auf Mobile, ab sm wieder rechtsbündig */
.text-left {
  text-align: left;
}
@media (width>=40rem) {
  .sm\:text-right {
    text-align: right;
  }
}

/* Footer-Badge: normaler Abstand ab md (Claim wieder sichtbar) */
@media (width>=40rem) {
  .sm\:mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
}

/* Copyright-Zeile: kleiner auf Mobile, damit sie garantiert einzeilig bleibt */
@media (width<40rem) {
  footer p:last-child {
    font-size: 0.6875rem;
  }
}

/* Footer-Abschnittsüberschriften (Kontakt/Rechtliches/Navigation): prägnanter als das kleine Eyebrow-Label, nur auf Mobile – Desktop bleibt beim ursprünglichen Eyebrow-Stil */
@media (width<40rem) {
  .footer-section-label {
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #F5F5F0;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(245, 245, 240, 0.15);
  }
}

/* Kachel-Fließtext: kleiner auf Mobile für mehr Kontrast zur Überschrift */
@media (width>=40rem) {
  .sm\:text-sm {
    font-size: var(--text-sm);
  }
}

/* Tagline: exakt 15px auf Mobile */
.text-\[0\.9375rem\] {
  font-size: 0.9375rem;
}

/* Überschrift-zu-Inhalt-Abstände: kleiner auf Mobile, ab lg wieder Original */
.pb-10 {
  padding-bottom: calc(var(--spacing) * 10);
}
@media (width>=40rem) {
  .sm\:pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }
  .sm\:mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
}

/* Footer: zentriert auf Mobile, ab md wieder linksbündig wie ursprünglich */
@media (width>=40rem) {
  .sm\:text-left {
    text-align: left;
  }
}

/* Footer-Logo: zentriert auf Mobile, ab md wieder linksbündig */
@media (width>=40rem) {
  .sm\:mx-0 {
    margin-left: 0;
    margin-right: 0;
  }
}

/* Seiten-Header (Leistungen/Produkte/Referenzen, Über mich, Kontakt, Rechtliches): korrekt wiederhergestellter Original-Desktop-Wert */
@media (width>=40rem) {
  .sm\:pt-40 {
    padding-top: calc(var(--spacing) * 40);
  }
}

/* Unterüberschriften-Abstand: einheitlich 24px auf Mobile, Original-Desktop-Werte je Stelle erhalten */
@media (width>=40rem) {
  .sm\:mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .sm\:mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }
  .sm\:mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
}

/* Rechtliche Seiten + 404: Mindestgröße vereinheitlicht mit anderen Seitentiteln, Original-Maximalwert/Wachstumsrate erhalten */
.text-\[clamp\(1\.6875rem\,4\.5vw\,3rem\)\] {
  font-size: clamp(1.6875rem, 4.5vw, 3rem);
}

/* Seiten-Header Fließtext-Abstand: reduziert auf Mobile, Original-Desktop-Wert erhalten */
@media (width>=40rem) {
  .sm\:pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }
}

/* Produkte-Seite Abschluss-Sektion: Abstände zur letzten Kachel und zum Footer auf Mobile reduziert */
.pt-10 {
  padding-top: calc(var(--spacing) * 10);
}
@media (width>=40rem) {
  .sm\:pt-16 {
    padding-top: calc(var(--spacing) * 16);
  }
  .sm\:pb-32 {
    padding-bottom: calc(var(--spacing) * 32);
  }
}

/* Seiten-Header: genug Abstand, um den fixierten Header (81px) nicht zu überlappen */
.pt-24 {
  padding-top: calc(var(--spacing) * 24);
}

/* Panel-Innenabstand: kompakter auf Mobile, Desktop-Wert (lg:py-14) unverändert */
.py-8 {
  padding-block: calc(var(--spacing) * 8);
}
.pb-8 {
  padding-bottom: calc(var(--spacing) * 8);
}

/* Über-mich/Kontakt-Porträtbild: eigener zentrierter Block auf Mobile statt winzigem Float, ab sm wieder Textumfluss wie ursprünglich */
.max-w-\[200px\] {
  max-width: 200px;
}
@media (width>=40rem) {
  .sm\:float-left {
    float: left;
  }
  .sm\:float-right {
    float: right;
  }
  .sm\:mx-0 {
    margin-left: 0;
    margin-right: 0;
  }
  .sm\:mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
}

/* Über-mich: vier geometrisch definierte Layoutzustände, ausschließlich CSS.
   Das Originalbild ist 800x800 (quadratisch). Keine Streckung, keine Höhenmessung,
   kein Float. Die mittlere Hochformatfläche nutzt nur einen milden, kontrollierten
   Zoom (4:5); ab breiter Desktopfläche wird wieder das quadratische Original gezeigt. */
.about-intro {
  margin: 0;
  max-width: 75ch;
}

.about-media-grid {
  display: block;
  margin-top: 1.5rem;
  width: 100%;
  max-width: 70rem;
}

.about-portrait-frame {
  width: min(15rem, 100%);
  margin: 0 auto 1.5rem;
  overflow: hidden;
  aspect-ratio: 1 / 1;
}

.about-portrait-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 40%;
}

.about-copy {
  min-width: 0;
  max-width: 75ch;
}

.about-copy p,
.about-copy-third-mid { margin: 0; }
.about-copy-third-desktop { margin-top: 1.5rem !important; }
.about-copy-third-mid { display: none; }

/* 46–51.999rem: Bild + langer Hauptabsatz. Der kurze Schlussabsatz steht darunter
   über volle Breite. Das vermeidet eine überlange rechte Spalte auf schmalen Tablets. */
@media (min-width: 46rem) and (max-width: 51.999rem) {
  .about-media-grid {
    display: grid;
    grid-template-columns: clamp(18rem, 39vw, 19rem) minmax(20rem, 1fr);
    column-gap: clamp(1.75rem, 3.5vw, 2.25rem);
    row-gap: 1.5rem;
    align-items: center;
  }
  .about-portrait-frame {
    width: 100%;
    margin: 0;
    aspect-ratio: 4 / 5;
  }
  .about-copy { max-width: none; }
  .about-copy-third-desktop { display: none; }
  .about-copy-third-mid {
    display: block;
    grid-column: 1 / -1;
    max-width: 75ch;
  }
}

/* 52–65.999rem: Beide Restabsätze passen als zusammenhängender Textblock rechts.
   Das 4:5-Fenster hält Bild- und Texthöhe in diesem Bereich optisch zusammen. */
@media (min-width: 52rem) and (max-width: 65.999rem) {
  .about-media-grid {
    display: grid;
    grid-template-columns: clamp(18.5rem, 34vw, 19rem) minmax(0, 1fr);
    column-gap: clamp(2rem, 3.5vw, 2.5rem);
    align-items: center;
  }
  .about-portrait-frame {
    width: 100%;
    margin: 0;
    aspect-ratio: 4 / 5;
  }
  .about-copy { max-width: 47rem; }
}

/* Ab 66rem: Der Textblock wird breit genug, dass das quadratische Original wieder
   die ausgewogenere Proportion liefert. Bild und Gesamtblock wachsen danach nicht
   unbegrenzt weiter. */
@media (min-width: 66rem) {
  .about-media-grid {
    display: grid;
    grid-template-columns: 19rem minmax(0, 47rem);
    column-gap: clamp(2.25rem, 3vw, 3rem);
    align-items: center;
  }
  .about-portrait-frame {
    width: 19rem;
    margin: 0;
    aspect-ratio: 1 / 1;
  }
  .about-copy { max-width: 47rem; }
}

/* Header-Navigation: expliziter Breakpoint ohne nachträglich fehlende Tailwind-Utilities. */
.site-nav-desktop,
.site-cta-desktop {
  display: none;
}
.site-menu-toggle {
  display: flex;
}
.site-mobile-menu {
  display: flex;
}
@media (width>=70rem) {
  .site-nav-desktop {
    display: flex;
  }
  .site-cta-desktop {
    display: inline-flex;
  }
  .site-menu-toggle,
  .site-mobile-menu {
    display: none;
  }
}

/* Über-mich/Kontakt Porträtfoto: größer auf Mobile (200px war zu klein) */
.max-w-\[240px\] {
  max-width: 240px;
}

/* Wie-ich-arbeite-Sektion: redundantes Top-Padding auf Mobile entfernt (Zertifikate-Sektion liefert schon Abstand) */
.pt-0 {
  padding-top: 0px;
}

/* Rechtstext-Unterüberschriften: kontrollierte Silbentrennung erlauben (überschreibt die globale Sperre gezielt für lange Fachbegriffe) */
.legal-heading-hyphens {
  hyphens: auto !important;
  -webkit-hyphens: auto !important;
}

/* Rechtstexte: Schrift wächst jetzt am selben Breakpoint wie die Kachel breiter wird (kein schmaler Zwischenbereich mehr) */
@media (width>=40rem) {
  .sm\:text-lg {
    font-size: var(--text-lg);
  }
}

/* Zentrierung: Seitenköpfe, Hero, Startseiten-Teaser, Kontaktdaten auf Mobile, ab sm wieder linksbündig wie ursprünglich */
@media (width>=40rem) {
  .sm\:text-left {
    text-align: left;
  }
  .sm\:border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }
  .sm\:border-accent {
    border-color: var(--color-accent);
  }
  .sm\:pl-6 {
    padding-left: calc(var(--spacing) * 6);
  }
  .sm\:justify-start {
    justify-content: flex-start;
  }
}

/* Kontakt: noch mehr Abstand zwischen Fließtext und Kontaktdaten */
.mt-14 {
  margin-top: calc(var(--spacing) * 14);
}

/* Kontakt-Seite: kleines rundes Foto neben dem Namen (nur Mobile) */
.h-16 {
  height: calc(var(--spacing) * 16);
}
.w-16 {
  width: calc(var(--spacing) * 16);
}

/* Kontakt-Foto: etwas größer */
.w-20 {
  width: calc(var(--spacing) * 20);
}

/* Situations-Titel: einheitlicher Umbruch. Unter 420px zweizeilig am &, darüber bis Desktop einzeilig. */
@media (width >= 26.25rem) and (width < 64rem) {
  .situation-title-break {
    display: none;
  }
  .situation-title {
    white-space: nowrap;
  }
}

/* Einheitliches 3er-Kachelsystem:
   Mobile volle Breite, Tablet einspaltig und zentriert (max. 768px),
   ab 1200px drei gleich breite Kacheln. Text nutzt die Kachelbreite vollständig. */
.teaser-card {
  flex-basis: 100%;
  max-width: none;
}

.teaser-card-copy {
  max-width: none;
}

@media (min-width: 640px) and (max-width: 1199px) {
  .teaser-card {
    max-width: 48rem;
  }
}

@media (min-width: 1200px) {
  .teaser-card {
    flex-basis: calc(33.333% - 0.667rem);
    max-width: none;
  }
}


/* Release: abgestufter Seiten-Gutter – Mobile 24px, Tablet 32px, Desktop 40px. */
@media (width >= 40rem) and (width < 64rem) {
  .sm\:px-8 {
    padding-left: calc(var(--spacing) * 8);
    padding-right: calc(var(--spacing) * 8);
  }
}

/* Release: Kontakt – Bild etwas kleiner; Kontaktdaten ab Tablet vertikal mittig zum Bild. */
.contact-layout {
  width: 100%;
}
.contact-details-list {
  margin-top: 3.5rem;
}
@media (width >= 40rem) {
  .contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 12.5rem;
    column-gap: clamp(2rem, 5vw, 3rem);
    row-gap: 2rem;
    align-items: center;
    max-width: 56rem;
  }
  .contact-intro {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  .contact-details-list {
    grid-column: 1;
    grid-row: 2;
    align-self: center;
    margin-top: 0;
  }
  .contact-portrait-frame {
    grid-column: 2;
    grid-row: 2;
    width: 12.5rem;
    margin: 0;
    align-self: center;
  }
  .contact-portrait-frame img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: .5rem;
  }
}

/* Release 2 – verbindliches Spacing-Raster: Mobile 64/24px, Tablet+Desktop 112/32px. */
@media (width >= 40rem) {
  .sm\:pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }
  .sm\:mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
}

/* Release 4 – Footer mit drei klaren Zuständen:
   Mobil <640px minimalistisch, Tablet 640–959px zweispaltig ohne Navigation,
   Desktop ab 960px vollständiger Dreispalter. */
@media (min-width: 40rem) and (max-width: 59.999rem) {
  .site-footer .site-footer-main-grid {
    grid-template-columns: minmax(0, 1fr) minmax(14.5rem, 1fr) !important;
    gap: 3rem !important;
    text-align: left !important;
    align-items: start;
  }
  .site-footer .footer-navigation {
    display: none !important;
  }
  .site-footer .footer-brand-detail,
  .site-footer .footer-contact {
    display: block !important;
  }
  .site-footer .footer-contact-legal {
    min-width: 0;
  }
  .site-footer .footer-compact-only {
    display: none !important;
  }
  .site-footer .footer-brand-logo {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .site-footer .footer-legal-label {
    margin-top: 2rem !important;
  }
  .site-footer .footer-copyright {
    text-align: right !important;
  }
}

@media (min-width: 60rem) {
  .site-footer .site-footer-main-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .site-footer .footer-navigation,
  .site-footer .footer-brand-detail,
  .site-footer .footer-contact {
    display: block !important;
  }
  .site-footer .footer-compact-only {
    display: none !important;
  }
}

/* Punkt 3 – Über mich: Desktop klassisch zweispaltig, kompletter Text rechts. */
.about-copy-intro-desktop {
  display: none;
}
@media (min-width: 64rem) {
  .about-intro {
    display: none;
  }
  .about-media-grid {
    display: grid;
    grid-template-columns: 19rem minmax(0, 1fr);
    column-gap: clamp(2.25rem, 3vw, 3rem);
    align-items: stretch;
    margin-top: 0;
    max-width: none;
  }
  .about-portrait-frame {
    position: relative;
    width: 19rem;
    min-height: 19rem;
    height: auto;
    margin: 0;
    align-self: stretch;
    aspect-ratio: auto;
  }
  .about-portrait-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .about-copy {
    max-width: none;
  }
  .about-copy-intro-desktop {
    display: block;
    margin: 0 !important;
  }
  .about-copy-main {
    margin-top: 1.5rem !important;
  }
  .about-copy-third-desktop {
    display: block;
    margin-top: 1.5rem !important;
  }
  .about-copy-third-mid {
    display: none;
  }
}

/* Punkt 2 – Kontakt: Tablet bleibt wie bisher; Desktop Bild über die volle Inhaltsblock-Höhe. */
@media (min-width: 64rem) {
  .contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 15rem;
    grid-template-rows: auto minmax(0, 1fr);
    column-gap: clamp(2.5rem, 5vw, 4rem);
    row-gap: 2rem;
    align-items: stretch;
    max-width: none;
    width: 100%;
  }
  .contact-intro {
    grid-column: 1;
    grid-row: 1;
  }
  .contact-details-list {
    grid-column: 1;
    grid-row: 2;
    align-self: center;
    margin-top: 0;
  }
  .contact-portrait-frame {
    grid-column: 2;
    grid-row: 1 / 3;
    width: 15rem;
    height: 100%;
    margin: 0;
    align-self: stretch;
  }
  .contact-portrait-frame img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    border-radius: .5rem;
  }
}

/* Release 4 – Hero Tablet: Bild und Overlays füllen die gesamte Hero-Höhe;
   die bestehende Textpositionierung bleibt unangetastet. */
@media (min-width: 40rem) and (max-width: 63.999rem) {
  .hero-media {
    top: 0 !important;
    bottom: 0 !important;
    height: auto !important;
  }
}

/* Release 5 – Hero Tablet analog zur Desktop-Komposition:
   voller Bildkontrast, kein mobiles Bottom-Gradient, Textblock vertikal wie Desktop ausgerichtet. */
@media (min-width: 40rem) and (max-width: 63.999rem) {
  .hero-content {
    justify-content: center !important;
  }
  .hero-image {
    opacity: 1 !important;
  }
  .hero-gradient-x {
    background-image: linear-gradient(to right, #0A0A0A 0%, transparent 50%, transparent 100%) !important;
  }
  .hero-gradient-y {
    display: none !important;
  }
}

/* Release 6 – Tablet-Hero: dieselbe Zentrierungslogik wie Desktop,
   aber den gesamten Textblock optisch etwas tiefer setzen. */
@media (min-width: 40rem) and (max-width: 63.999rem) {
  .hero-content {
    justify-content: center !important;
    transform: translateY(3rem);
  }
}

/* Release 6 – Tablet-Footer: Copyright bündig zur linken Footer-Spalte. */
@media (min-width: 40rem) and (max-width: 59.999rem) {
  .site-footer .footer-copyright {
    text-align: left !important;
  }
}

/* Release 7 – Hero Tablet: robuste untere Verankerung statt konkurrierender
   31vh-/Center-/Translate-Mechanismen. Mobile und Desktop bleiben unverändert. */
@media (min-width: 40rem) and (max-width: 63.999rem) {
  .hero-content {
    justify-content: flex-end !important;
    padding-top: 5rem !important;
    padding-bottom: 6rem !important;
    transform: none !important;
  }
}

/* Release 9 – konsolidiertes Spacing-System und Tablet-Hero-Bildausschnitt.
   Es gibt nur noch eine aktive semantische Spacing-Definition.
   Echte Abschnittsübergänge: 72 / 80 / 88px gesamt.
   Intro/Überschrift -> direkt zugehöriger Inhalt: 24 / 32 / 32px.
   CTA-Innenraum bleibt als eigener Komponententyp großzügiger. */

.content-section,
.content-section-top,
.content-section-bottom,
.page-intro,
.page-intro-joined,
.joined-content,
.page-end-space,
.pre-cta-section,
.cta-section {
  box-sizing: border-box;
}

/* Zwei benachbarte normale Inhaltsabschnitte ergeben zusammen exakt 72px. */
.content-section {
  padding-top: 2.25rem !important;
  padding-bottom: 2.25rem !important;
}
.content-section-top {
  padding-top: 2.25rem !important;
}
.content-section-bottom {
  padding-bottom: 2.25rem !important;
}

/* Seitenintro + direkt zugehöriger Inhalt: kleiner Innenabstand, kein Abschnittsabstand. */
.page-intro-joined {
  padding-bottom: 1.5rem !important;
}
.joined-content {
  padding-top: 0 !important;
}

/* Normales Seitenintro, wenn danach ein eigener Hauptabschnitt beginnt. */
.page-intro:not(.page-intro-joined) {
  padding-bottom: 1.5rem !important;
}

/* CTA-Farbwechsel: außen und innen symmetrisch; eigener Komponententyp. */
.pre-cta-section {
  padding-bottom: 4rem !important;
}
.cta-section {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

/* Seitenabschluss zum Footer bleibt ein eigener Abschlussabstand. */
.page-end-space {
  padding-bottom: 4rem !important;
}

@media (min-width: 40rem) {
  .content-section {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
  .content-section-top {
    padding-top: 2.5rem !important;
  }
  .content-section-bottom {
    padding-bottom: 2.5rem !important;
  }
  .page-intro-joined,
  .page-intro:not(.page-intro-joined) {
    padding-bottom: 2rem !important;
  }
  .pre-cta-section {
    padding-bottom: 5rem !important;
  }
  .cta-section {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .page-end-space {
    padding-bottom: 4.5rem !important;
  }
}

@media (min-width: 64rem) {
  .content-section {
    padding-top: 2.75rem !important;
    padding-bottom: 2.75rem !important;
  }
  .content-section-top {
    padding-top: 2.75rem !important;
  }
  .content-section-bottom {
    padding-bottom: 2.75rem !important;
  }
  .page-intro-joined,
  .page-intro:not(.page-intro-joined) {
    padding-bottom: 2rem !important;
  }
  .pre-cta-section {
    padding-bottom: 5.5rem !important;
  }
  .cta-section {
    padding-top: 5.5rem !important;
    padding-bottom: 5.5rem !important;
  }
  .page-end-space {
    padding-bottom: 5rem !important;
  }
}

/* Hero -> erster Startseitenabschnitt: technisch voller Wert, damit der sichtbare
   Übergang exakt denselben 72 / 80 / 88px entspricht wie alle anderen Abschnitte. */
.hero-section + .content-section-top,
.hero-section + .content-section {
  padding-top: 4.5rem !important;
}
@media (min-width: 40rem) {
  .hero-section + .content-section-top,
  .hero-section + .content-section {
    padding-top: 5rem !important;
  }
}
@media (min-width: 64rem) {
  .hero-section + .content-section-top,
  .hero-section + .content-section {
    padding-top: 5.5rem !important;
  }
}

/* Release 10 – Tablet-Hero: wieder vollflächiges Bild ohne sichtbaren Rand.
   Der Bildausschnitt wird nur horizontal verschoben, damit das Motiv weiter rechts
   liegt und links mehr ruhige Fläche für den Text bleibt. */
@media (min-width: 40rem) and (max-width: 63.999rem) {
  .hero-media {
    background: transparent !important;
  }
  .hero-image {
    width: 100% !important;
    margin-left: 0 !important;
object-position: 68% 8% !important;
  }
}


/* Release 15 – Tablet-Hero: Bildzustand auf den akzeptierten v7-Crop zurückgesetzt.
   Nur der komplette Textblock wird links unten proportional verkleinert. */
@media (min-width: 40rem) and (max-width: 63.999rem) {
  .hero-copy {
    transform: scale(0.70);
    transform-origin: left bottom;
    align-self: flex-start;
  }
}


/* Release 16 – Tablet-Hero: Bild und Text werden vollständig entkoppelt.
   Oben steht ausschließlich das unveränderte Originalfoto als eigener Bildbereich,
   unten der Hero-Text auf der dunklen Hero-Fläche. Mobile und Desktop bleiben unverändert. */
@media (min-width: 40rem) and (max-width: 63.999rem) {
  .hero-section {
    display: flex;
    min-height: 100svh;
    flex-direction: column;
  }

  .hero-media {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 58svh !important;
    min-height: 0 !important;
    flex: 0 0 58svh;
    order: 0;
  }

  .hero-image {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: 100% 8% !important;
    opacity: 1 !important;
  }

  .hero-gradient-x,
  .hero-gradient-y {
    display: none !important;
  }

  .hero-content {
    position: relative !important;
    min-height: 42svh !important;
    flex: 1 0 42svh;
    justify-content: center !important;
    align-items: center !important;
    padding-top: 3rem !important;
    padding-bottom: 4rem !important;
    transform: none !important;
    order: 1;
  }

  .hero-copy {
    width: 100%;
    max-width: 48rem !important;
    align-self: center !important;
    transform: none !important;
    transform-origin: center center !important;
    text-align: center !important;
  }

  .hero-copy .max-w-xl {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .hero-copy .flex {
    justify-content: center !important;
  }

  .hero-scroll {
    display: none !important;
  }
}

/* Release 19 – Tablet-Hero exakt auf die produktive Geometrie zurückgeführt.
   Ausschließlich 640–1023px. Mobile und Desktop bleiben unverändert. */
@media (min-width: 40rem) and (max-width: 63.999rem) {
  .hero-section {
    display: block !important;
    min-height: 0 !important;
  }

  .hero-media {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(5rem - 5vh) !important;
    bottom: auto !important;
    width: auto !important;
    height: 54vh !important;
    min-height: 0 !important;
    flex: none !important;
    order: initial !important;
    background: transparent !important;
  }

  .hero-image {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: 68% 8% !important;
    opacity: .70 !important;
  }

  .hero-gradient-x {
    display: block !important;
    background-image: linear-gradient(to right, #0A0A0A 0%, rgba(10,10,10,.40) 50%, transparent 100%) !important;
  }

  .hero-gradient-y {
    display: block !important;
    background-image: linear-gradient(to top, #0A0A0A 0%, transparent 50%, transparent 100%) !important;
  }

  .hero-content {
    position: relative !important;
    min-height: 0 !important;
    flex: none !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    padding-top: calc(5rem + 31vh) !important;
    padding-bottom: 4rem !important;
    transform: none !important;
    order: initial !important;
  }

  .hero-copy {
    width: auto !important;
    max-width: 48rem !important;
    align-self: auto !important;
    transform: none !important;
    transform-origin: initial !important;
    text-align: left !important;
  }

  .hero-copy .max-w-xl {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .hero-copy .flex {
    justify-content: flex-start !important;
  }

  .hero-scroll {
    display: flex !important;
  }
}

/* Release 21 – kurze Seiten: Footer in der ersten Ansicht vollständig unterhalb des Viewports.
   Lange Seiten bleiben durch die reine min-height-Regel unverändert. */
.site-main {
  min-height: 100svh;
}

/* Release 21 – Mobile + Tablet Hero: voller sichtbarer Viewport, Bild vollflächig,
   Textblock unten auf dem Bild. Desktop bleibt unverändert. */
@media (max-width: 63.999rem) {
  .hero-section {
    position: relative !important;
    display: block !important;
    min-height: 100svh !important;
  }

  .hero-media {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    flex: none !important;
    background: transparent !important;
  }

  .hero-image {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
  }

  .hero-gradient-x,
  .hero-gradient-y {
    display: block !important;
  }

  .hero-content {
    position: relative !important;
    min-height: 100svh !important;
    justify-content: flex-end !important;
    padding-top: 5rem !important;
    padding-bottom: 4rem !important;
    transform: none !important;
  }
}

@media (min-width: 40rem) and (max-width: 63.999rem) {
  .hero-content {
    padding-bottom: 5rem !important;
  }
}

/* Release 25 – Mobile-Hero auf die Nasenspitze als horizontale Bildmitte ausrichten. */
@media (max-width: 39.999rem) {
  .hero-image {
    object-position: 59% 8% !important;
  }
}


/* Release 29 – Spacing-QA:
   1) Fehlende Mobile-Utility pb-6 ergänzen (Startseite H2 -> erste Kachel).
   2) Über-mich: zusammengehörige weiße Unterabschnitte erhalten einen kleineren,
      konsistenten Rhythmus 56 / 64 / 72px gesamt. Große Hauptabschnitte bleiben
      beim bestehenden 72 / 80 / 88px-Raster. */
.pb-6 {
  padding-bottom: calc(var(--spacing) * 6);
}

.about-subsection-bottom {
  padding-bottom: 1.75rem !important;
}
.about-subsection {
  padding-top: 1.75rem !important;
  padding-bottom: 1.75rem !important;
}

@media (min-width: 40rem) {
  .about-subsection-bottom {
    padding-bottom: 2rem !important;
  }
  .about-subsection {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
}

@media (min-width: 64rem) {
  .about-subsection-bottom {
    padding-bottom: 2.25rem !important;
  }
  .about-subsection {
    padding-top: 2.25rem !important;
    padding-bottom: 2.25rem !important;
  }
}

/* Der CTA-Abstand bleibt bewusst der größere Komponententyp. */
.about-subsection.pre-cta-section {
  padding-bottom: 4rem !important;
}
@media (min-width: 40rem) {
  .about-subsection.pre-cta-section {
    padding-bottom: 5rem !important;
  }
}
@media (min-width: 64rem) {
  .about-subsection.pre-cta-section {
    padding-bottom: 5.5rem !important;
  }
}

/* Typography bugfix: missing desktop utilities used by current bundle */
@media (width >= 64rem) {
  .lg\:text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .lg\:text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .lg\:text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
}

/* Footer desktop: copyright aligned with left footer grid edge */
@media (min-width: 60rem) {
  .site-footer .footer-copyright {
    text-align: left !important;
  }
}

/* Rent-a-CISO: missing responsive centering utility used by current bundle */
@media (min-width: 40rem) {
  .sm\:mx-auto {
    margin-left: auto;
    margin-right: auto;
  }
}

/* Large desktop – Header und Hero ab 1440px.
   Kleinere Viewports bleiben vollständig unverändert. */
@media (min-width: 90rem) {
  .site-nav-desktop a {
    font-size: 1rem;
  }

  .hero-section .hero-copy {
    max-width: 53.125rem;
  }

  .hero-section .hero-copy .eyebrow {
    font-size: 0.875rem;
  }

  .hero-section .hero-copy h1 {
    font-size: 4.25rem;
  }

  .hero-section .hero-copy .max-w-xl {
    font-size: 1.5rem;
  }
}
