/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
/*!
 * Justified gallery style
 */
@layer properties;
@layer theme, base, components, utilities;
@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-red-50: oklch(97.1% 0.013 17.38);
    --color-red-200: oklch(88.5% 0.062 18.334);
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-yellow-200: oklch(94.5% 0.129 101.54);
    --color-green-50: oklch(98.2% 0.018 155.826);
    --color-green-200: oklch(92.5% 0.084 155.995);
    --color-green-600: oklch(62.7% 0.194 149.214);
    --color-emerald-500: oklch(69.6% 0.17 162.48);
    --color-blue-200: oklch(88.2% 0.059 254.128);
    --color-pink-200: oklch(89.9% 0.061 343.231);
    --color-slate-200: oklch(92.9% 0.013 255.508);
    --color-slate-300: oklch(86.9% 0.022 252.894);
    --color-slate-400: oklch(70.4% 0.04 256.788);
    --color-slate-500: oklch(55.4% 0.046 257.417);
    --color-slate-700: oklch(37.2% 0.044 257.287);
    --color-slate-800: oklch(27.9% 0.041 260.031);
    --color-slate-900: oklch(20.8% 0.042 265.755);
    --color-gray-200: oklch(92.8% 0.006 264.531);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-4xl: 56rem;
    --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);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-wide: 0.025em;
    --tracking-widest: 0.1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --default-transition-duration: 150ms;
    --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);
    --font-secondary: "Montserrat", sans-serif;
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: 0px;
  }
  .top-0 {
    top: 0px;
  }
  .top-6 {
    top: calc(var(--spacing) * 6);
  }
  .top-30 {
    top: calc(var(--spacing) * 30);
  }
  .top-60 {
    top: calc(var(--spacing) * 60);
  }
  .top-\[10\%\] {
    top: 10%;
  }
  .right-0 {
    right: 0px;
  }
  .right-6 {
    right: calc(var(--spacing) * 6);
  }
  .right-\[-10\%\] {
    right: -10%;
  }
  .bottom-0 {
    bottom: 0px;
  }
  .left-0 {
    left: 0px;
  }
  .-z-1 {
    z-index: calc(1 * -1);
  }
  .z-0 {
    z-index: 0;
  }
  .z-10 {
    z-index: 10;
  }
  .z-20 {
    z-index: 20;
  }
  .z-30 {
    z-index: 30;
  }
  .z-50 {
    z-index: 50;
  }
  .order-0 {
    order: 0;
  }
  .order-1 {
    order: 1;
  }
  .order-3 {
    order: 3;
  }
  .order-first {
    order: -1;
    order: -9999;
  }
  .order-last {
    order: 13;
    order: 9999;
  }
  .col-12 {
    grid-column: 12;
  }
  .col-auto {
    grid-column: auto;
  }
  .col-span-6 {
    grid-column: span 6 / span 6;
  }
  .float-left {
    float: left;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .m-1 {
    margin: var(--spacing);
  }
  .m-3 {
    margin: calc(var(--spacing) * 3);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-6 {
    margin-block: calc(var(--spacing) * 6);
  }
  .my-8 {
    margin-block: calc(var(--spacing) * 8);
  }
  .row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(var(--bs-gutter-y) * -1);
    margin-right: calc(var(--bs-gutter-x) / -2);
    margin-left: calc(var(--bs-gutter-x) / -2);
    & > * {
      box-sizing: border-box;
      flex-shrink: 0;
      width: 100%;
      max-width: 100%;
      padding-right: calc(var(--bs-gutter-x) / 2);
      padding-left: calc(var(--bs-gutter-x) / 2);
      margin-top: var(--bs-gutter-y);
    }
  }
  .mt-0 {
    margin-top: 0px;
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-7 {
    margin-top: calc(var(--spacing) * 7);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-9 {
    margin-top: calc(var(--spacing) * 9);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-14 {
    margin-top: calc(var(--spacing) * 14);
  }
  .mt-16 {
    margin-top: calc(var(--spacing) * 16);
  }
  .mt-20 {
    margin-top: calc(var(--spacing) * 20);
  }
  .mt-24 {
    margin-top: calc(var(--spacing) * 24);
  }
  .mt-30 {
    margin-top: calc(var(--spacing) * 30);
  }
  .mr-1 {
    margin-right: var(--spacing);
  }
  .mr-5 {
    margin-right: calc(var(--spacing) * 5);
  }
  .mr-10 {
    margin-right: calc(var(--spacing) * 10);
  }
  .form-label {
    margin-bottom: calc(var(--spacing) * 2);
    display: block;
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-text-dark);
  }
  .\!mb-12 {
    margin-bottom: calc(var(--spacing) * 12) !important;
  }
  .-mb-10 {
    margin-bottom: calc(var(--spacing) * -10);
  }
  .mb-0 {
    margin-bottom: 0px;
  }
  .mb-1 {
    margin-bottom: var(--spacing);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-2\! {
    margin-bottom: calc(var(--spacing) * 2) !important;
  }
  .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-14 {
    margin-bottom: calc(var(--spacing) * 14);
  }
  .mb-15 {
    margin-bottom: calc(var(--spacing) * 15);
  }
  .mb-16 {
    margin-bottom: calc(var(--spacing) * 16);
  }
  .mb-16\! {
    margin-bottom: calc(var(--spacing) * 16) !important;
  }
  .mb-20 {
    margin-bottom: calc(var(--spacing) * 20);
  }
  .mb-30 {
    margin-bottom: calc(var(--spacing) * 30);
  }
  .ml-0 {
    margin-left: 0px;
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }
  .ml-10 {
    margin-left: calc(var(--spacing) * 10);
  }
  .ml-auto {
    margin-left: auto;
  }
  .form-input {
    appearance: none;
    background-color: #fff;
    border-color: oklch(55.1% 0.027 264.364);
    border-width: 1px;
    border-radius: 0px;
    padding-top: 0.5rem;
    padding-right: 0.75rem;
    padding-bottom: 0.5rem;
    padding-left: 0.75rem;
    font-size: 1rem;
    line-height: 1.5rem;
    --tw-shadow: 0 0 #0000;
    &:focus {
      outline: 2px solid transparent;
      outline-offset: 2px;
      --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-color: oklch(54.6% 0.245 262.881);
      --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
      --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
      box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      border-color: oklch(54.6% 0.245 262.881);
    }
    &::placeholder {
      color: oklch(55.1% 0.027 264.364);
      opacity: 1;
    }
    &::-webkit-datetime-edit-fields-wrapper {
      padding: 0;
    }
    &::-webkit-date-and-time-value {
      min-height: 1.5em;
    }
    &::-webkit-date-and-time-value {
      text-align: inherit;
    }
    &::-webkit-datetime-edit {
      display: inline-flex;
    }
    &::-webkit-datetime-edit {
      padding-top: 0;
      padding-bottom: 0;
    }
    &::-webkit-datetime-edit-year-field {
      padding-top: 0;
      padding-bottom: 0;
    }
    &::-webkit-datetime-edit-month-field {
      padding-top: 0;
      padding-bottom: 0;
    }
    &::-webkit-datetime-edit-day-field {
      padding-top: 0;
      padding-bottom: 0;
    }
    &::-webkit-datetime-edit-hour-field {
      padding-top: 0;
      padding-bottom: 0;
    }
    &::-webkit-datetime-edit-minute-field {
      padding-top: 0;
      padding-bottom: 0;
    }
    &::-webkit-datetime-edit-second-field {
      padding-top: 0;
      padding-bottom: 0;
    }
    &::-webkit-datetime-edit-millisecond-field {
      padding-top: 0;
      padding-bottom: 0;
    }
    &::-webkit-datetime-edit-meridiem-field {
      padding-top: 0;
      padding-bottom: 0;
    }
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .aspect-square {
    aspect-ratio: 1 / 1;
  }
  .size-\(--icon-size\) {
    width: var(--icon-size);
    height: var(--icon-size);
  }
  .h-1\/2 {
    height: calc(1 / 2 * 100%);
  }
  .h-2 {
    height: calc(var(--spacing) * 2);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-25 {
    height: calc(var(--spacing) * 25);
  }
  .h-\[1px\] {
    height: 1px;
  }
  .h-\[44px\] {
    height: 44px;
  }
  .h-\[240px\]\! {
    height: 240px !important;
  }
  .h-\[300px\] {
    height: 300px;
  }
  .h-\[300px\]\! {
    height: 300px !important;
  }
  .h-\[350px\]\! {
    height: 350px !important;
  }
  .h-\[450px\] {
    height: 450px;
  }
  .h-full {
    height: 100%;
  }
  .h-full\! {
    height: 100% !important;
  }
  .max-h-full {
    max-height: 100%;
  }
  .min-h-full {
    min-height: 100%;
  }
  .col-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .col-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .form-input {
    width: 100%;
    border-radius: var(--radius-md);
    border-color: transparent;
    background-color: var(--color-light);
    padding-inline: calc(var(--spacing) * 6);
    padding-block: calc(var(--spacing) * 4);
    color: var(--color-text-dark);
    &::placeholder {
      color: var(--color-text-dark);
    }
    &:focus {
      border-color: var(--color-primary);
    }
    &:focus {
      --tw-ring-color: transparent;
    }
  }
  .w-1\/2 {
    width: calc(1 / 2 * 100%);
  }
  .w-2 {
    width: calc(var(--spacing) * 2);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-14 {
    width: calc(var(--spacing) * 14);
  }
  .w-\[30px\] {
    width: 30px;
  }
  .w-\[44px\] {
    width: 44px;
  }
  .w-\[400px\]\! {
    width: 400px !important;
  }
  .w-\[450px\] {
    width: 450px;
  }
  .w-\[600px\] {
    width: 600px;
  }
  .w-\[700px\]\! {
    width: 700px !important;
  }
  .w-\[950px\] {
    width: 950px;
  }
  .w-\[1000px\] {
    width: 1000px;
  }
  .w-full {
    width: 100%;
  }
  .max-w-4xl {
    max-width: var(--container-4xl);
  }
  .max-w-\[600px\] {
    max-width: 600px;
  }
  .max-w-full {
    max-width: 100%;
  }
  .max-w-max {
    max-width: max-content;
  }
  .col {
    flex: 1 0 0%;
  }
  .flex-1 {
    flex: 1;
  }
  .flex-shrink {
    flex-shrink: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .flex-grow {
    flex-grow: 1;
  }
  .grow {
    flex-grow: 1;
  }
  .-translate-x-full {
    --tw-translate-x: -100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-\[20\%\] {
    --tw-translate-x: 20%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-full {
    --tw-translate-y: 100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .scale-x-\[-1\] {
    --tw-scale-x: -1;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .-rotate-90 {
    rotate: calc(90deg * -1);
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-ping {
    animation: var(--animate-ping);
  }
  .animate-pulse {
    animation: var(--animate-pulse);
  }
  .cursor-default {
    cursor: default;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .resize {
    resize: both;
  }
  .list-disc {
    list-style-type: disc;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .grid-cols-\[48px_1fr_1fr\] {
    grid-template-columns: 48px 1fr 1fr;
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-col-reverse {
    flex-direction: column-reverse;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .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-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }
  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-8 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }
  .gap-x-10 {
    column-gap: calc(var(--spacing) * 10);
  }
  :where(.space-x-1 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(var(--spacing) * var(--tw-space-x-reverse));
    margin-inline-end: calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)));
  }
  :where(.space-x-4 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
  }
  .gap-y-4 {
    row-gap: calc(var(--spacing) * 4);
  }
  .gap-y-6 {
    row-gap: calc(var(--spacing) * 6);
  }
  .gap-y-8 {
    row-gap: calc(var(--spacing) * 8);
  }
  .gap-y-10 {
    row-gap: calc(var(--spacing) * 10);
  }
  .gap-y-12 {
    row-gap: calc(var(--spacing) * 12);
  }
  .self-start {
    align-self: flex-start;
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-visible {
    overflow: visible;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-x-hidden {
    overflow-x: hidden;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-t-3 {
    border-top-style: var(--tw-border-style);
    border-top-width: 3px;
  }
  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-none {
    --tw-border-style: none;
    border-style: none;
  }
  .active-shuffle button {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    color: var(--color-white);
  }
  .border-border {
    border-color: var(--color-border);
  }
  .border-border\/20 {
    border-color: var(--color-border);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-border) 20%, transparent);
    }
  }
  .border-dark {
    border-color: var(--color-dark);
  }
  .border-primary {
    border-color: var(--color-primary);
  }
  .border-primary\/40 {
    border-color: var(--color-primary);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-primary) 40%, transparent);
    }
  }
  .border-secondary {
    border-color: var(--color-secondary);
  }
  .border-secondary\/50 {
    border-color: var(--color-secondary);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-secondary) 50%, transparent);
    }
  }
  .border-secondary\/60 {
    border-color: var(--color-secondary);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-secondary) 60%, transparent);
    }
  }
  .border-slate-200 {
    border-color: var(--color-slate-200);
  }
  .border-slate-300 {
    border-color: var(--color-slate-300);
  }
  .border-white\/60 {
    border-color: color-mix(in srgb, #fff 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }
  .bg-\[\#F4F4F4\] {
    background-color: #F4F4F4;
  }
  .bg-\[\#f8fafc\] {
    background-color: #f8fafc;
  }
  .bg-body {
    background-color: var(--color-body);
  }
  .bg-border {
    background-color: var(--color-border);
  }
  .bg-dark\/70 {
    background-color: var(--color-dark);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-dark) 70%, transparent);
    }
  }
  .bg-emerald-500 {
    background-color: var(--color-emerald-500);
  }
  .bg-gray-200 {
    background-color: var(--color-gray-200);
  }
  .bg-green-50 {
    background-color: var(--color-green-50);
  }
  .bg-light {
    background-color: var(--color-light);
  }
  .bg-primary {
    background-color: var(--color-primary);
  }
  .bg-red-50 {
    background-color: var(--color-red-50);
  }
  .bg-secondary {
    background-color: var(--color-secondary);
  }
  .bg-secondary\/10 {
    background-color: var(--color-secondary);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-secondary) 10%, transparent);
    }
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-\[url\(\'\/images\/shapes\/call-to-action-shape\.svg\'\)\] {
    background-image: url('/images/shapes/call-to-action-shape.svg');
  }
  .bg-\[url\(\'\/images\/shapes\/case-studies-bg\.svg\'\)\] {
    background-image: url('/images/shapes/case-studies-bg.svg');
  }
  .bg-cover {
    background-size: cover;
  }
  .bg-fixed {
    background-attachment: fixed;
  }
  .bg-center {
    background-position: center;
  }
  .bg-no-repeat {
    background-repeat: no-repeat;
  }
  .fill-current {
    fill: currentcolor;
  }
  .fill-primary {
    fill: var(--color-primary);
  }
  .fill-secondary {
    fill: var(--color-secondary);
  }
  .fill-transparent {
    fill: transparent;
  }
  .fill-white {
    fill: var(--color-white);
  }
  .stroke-dark {
    stroke: var(--color-dark);
  }
  .stroke-secondary {
    stroke: var(--color-secondary);
  }
  .object-contain {
    object-fit: contain;
  }
  .object-cover {
    object-fit: cover;
  }
  .object-scale-down {
    object-fit: scale-down;
  }
  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .p-10 {
    padding: calc(var(--spacing) * 10);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .px-10 {
    padding-inline: calc(var(--spacing) * 10);
  }
  .\!py-14 {
    padding-block: calc(var(--spacing) * 14) !important;
  }
  .py-1 {
    padding-block: var(--spacing);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-\[2\.5px\] {
    padding-block: 2.5px;
  }
  .pt-0 {
    padding-top: 0px;
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pt-10 {
    padding-top: calc(var(--spacing) * 10);
  }
  .pt-14 {
    padding-top: calc(var(--spacing) * 14);
  }
  .pr-5 {
    padding-right: calc(var(--spacing) * 5);
  }
  .\!pb-10 {
    padding-bottom: calc(var(--spacing) * 10) !important;
  }
  .pb-0 {
    padding-bottom: 0px;
  }
  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }
  .pb-10 {
    padding-bottom: calc(var(--spacing) * 10);
  }
  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }
  .pl-6 {
    padding-left: calc(var(--spacing) * 6);
  }
  .pl-10 {
    padding-left: calc(var(--spacing) * 10);
  }
  .text-center {
    text-align: center;
  }
  .fpn {
    font-family: var(--font-primary);
    --tw-font-weight: var(--font-weight-normal) !important;
    font-weight: var(--font-weight-normal) !important;
  }
  .fsb {
    font-family: var(--font-secondary);
    --tw-font-weight: var(--font-weight-bold) !important;
    font-weight: var(--font-weight-bold) !important;
  }
  .font-mono {
    font-family: var(--font-mono);
  }
  .font-primary {
    font-family: var(--font-primary);
  }
  .font-secondary {
    font-family: var(--font-secondary);
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--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-\[8rem\] {
    font-size: 8rem;
  }
  .text-\[10px\] {
    font-size: 10px;
  }
  .text-\[12px\] {
    font-size: 12px;
  }
  .text-base {
    font-size: var(--text-base);
  }
  .text-h2 {
    font-size: var(--text-h2);
  }
  .text-h3 {
    font-size: var(--text-h3);
  }
  .text-h4 {
    font-size: var(--text-h4);
  }
  .text-h5 {
    font-size: var(--text-h5);
  }
  .text-h6 {
    font-size: var(--text-h6);
  }
  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .hasColorFull pm {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    font-style: normal;
  }
  .hasColorFull sc {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-secondary);
    font-style: normal;
  }
  .hasPrimary em {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    font-style: normal;
  }
  .hasSecondary em {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-secondary);
    font-style: normal;
  }
  .\!font-medium {
    --tw-font-weight: var(--font-weight-medium) !important;
    font-weight: var(--font-weight-medium) !important;
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .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);
  }
  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .text-balance {
    text-wrap: balance;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .text-black {
    color: var(--color-black);
  }
  .text-dark {
    color: var(--color-dark);
  }
  .text-green-600 {
    color: var(--color-green-600);
  }
  .text-light {
    color: var(--color-light);
  }
  .text-primary {
    color: var(--color-primary);
  }
  .text-red-500 {
    color: var(--color-red-500);
  }
  .text-secondary {
    color: var(--color-secondary);
  }
  .text-slate-400 {
    color: var(--color-slate-400);
  }
  .text-slate-500 {
    color: var(--color-slate-500);
  }
  .text-slate-700 {
    color: var(--color-slate-700);
  }
  .text-slate-800 {
    color: var(--color-slate-800);
  }
  .text-slate-900 {
    color: var(--color-slate-900);
  }
  .text-text-dark {
    color: var(--color-text-dark);
  }
  .text-text-dark\/60 {
    color: var(--color-text-dark);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-text-dark) 60%, transparent);
    }
  }
  .text-text-dark\/80 {
    color: var(--color-text-dark);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-text-dark) 80%, transparent);
    }
  }
  .text-white {
    color: var(--color-white);
  }
  .text-white\/80 {
    color: color-mix(in srgb, #fff 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }
  .text-white\/90 {
    color: color-mix(in srgb, #fff 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }
  .text_primary {
    color: var(--color-primary);
  }
  .capitalize {
    text-transform: capitalize;
  }
  .lowercase {
    text-transform: lowercase;
  }
  .normal-case {
    text-transform: none;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .opacity-0 {
    opacity: 0%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .opacity-75 {
    opacity: 75%;
  }
  .opacity-\[0\.65\] {
    opacity: 0.65;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-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: 300ms;
    transition-duration: 300ms;
  }
  .duration-500 {
    --tw-duration: 500ms;
    transition-duration: 500ms;
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .\[--icon-size\:12px\] {
    --icon-size: 12px;
  }
  .backface-hidden {
    backface-visibility: hidden;
  }
  .bg-gradient-secondary {
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 58.72%, #b1c8f1 100%);
  }
  .bg-white-gradient {
    background: linear-gradient(180deg, #dadddf 0%, #ffffff 34.14%, #ffffff 100%);
  }
  .gx-5 {
    --bs-gutter-x: 3rem;
  }
  @media (hover: hover) {
    .group-hover\:translate-x-0:is(:where(.group):hover *) {
      --tw-translate-x: 0px;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\:translate-x-full:is(:where(.group):hover *) {
      --tw-translate-x: 100%;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\:-translate-y-full:is(:where(.group):hover *) {
      --tw-translate-y: -100%;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\:translate-y-0:is(:where(.group):hover *) {
      --tw-translate-y: 0px;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\:overflow-visible:is(:where(.group):hover *) {
      overflow: visible;
    }
    .group-hover\:fill-primary\!:is(:where(.group):hover *) {
      fill: var(--color-primary) !important;
    }
    .group-hover\:fill-secondary\!:is(:where(.group):hover *) {
      fill: var(--color-secondary) !important;
    }
    .group-hover\:fill-white:is(:where(.group):hover *) {
      fill: var(--color-white);
    }
    .group-hover\:text-white\!:is(:where(.group):hover *) {
      color: var(--color-white) !important;
    }
    .group-hover\:brightness-0\!:is(:where(.group):hover *) {
      --tw-brightness: brightness(0%) !important;
      filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,) !important;
    }
    .group-hover\:invert\!:is(:where(.group):hover *) {
      --tw-invert: invert(100%) !important;
      filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,) !important;
    }
    .group-hover\:saturate-100\!:is(:where(.group):hover *) {
      --tw-saturate: saturate(100%) !important;
      filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,) !important;
    }
    .hover\:-translate-y-2:hover {
      --tw-translate-y: calc(var(--spacing) * -2);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .hover\:-translate-y-6:hover {
      --tw-translate-y: calc(var(--spacing) * -6);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .hover\:bg-primary:hover {
      background-color: var(--color-primary);
    }
    .hover\:text-primary:hover {
      color: var(--color-primary);
    }
    .hover\:text-secondary:hover {
      color: var(--color-secondary);
    }
    .hover\:text-white:hover {
      color: var(--color-white);
    }
    .hover\:shadow-xl:hover {
      --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  @media (width >= 40rem) {
    .sm\:col-6 {
      grid-column: 6;
    }
    .sm\:col-10 {
      grid-column: 10;
    }
    .sm\:block {
      display: block;
    }
    .sm\:hidden {
      display: none;
    }
    .sm\:h-\[580px\]\! {
      height: 580px !important;
    }
    .sm\:col-6 {
      flex: 0 0 auto;
      width: 50%;
    }
    .sm\:col-10 {
      flex: 0 0 auto;
      width: 83.33333333333334%;
    }
    .sm\:w-\[500px\] {
      width: 500px;
    }
    .sm\:-translate-x-30 {
      --tw-translate-x: calc(var(--spacing) * -30);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .sm\:translate-x-30 {
      --tw-translate-x: calc(var(--spacing) * 30);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm\:flex-row {
      flex-direction: row;
    }
    .sm\:items-end {
      align-items: flex-end;
    }
    .sm\:self-auto {
      align-self: auto;
    }
    .sm\:bg-red-200 {
      background-color: var(--color-red-200);
    }
    .sm\:p-14 {
      padding: calc(var(--spacing) * 14);
    }
    .sm\:px-8 {
      padding-inline: calc(var(--spacing) * 8);
    }
    .sm\:pr-10 {
      padding-right: calc(var(--spacing) * 10);
    }
  }
  @media (width >= 48rem) {
    .md\:order-2 {
      order: 2;
    }
    .md\:col-4 {
      grid-column: 4;
    }
    .md\:col-5 {
      grid-column: 5;
    }
    .md\:col-6 {
      grid-column: 6;
    }
    .md\:col-7 {
      grid-column: 7;
    }
    .md\:col-8 {
      grid-column: 8;
    }
    .md\:col-span-3 {
      grid-column: span 3 / span 3;
    }
    .md\:mt-4 {
      margin-top: calc(var(--spacing) * 4);
    }
    .md\:mb-12 {
      margin-bottom: calc(var(--spacing) * 12);
    }
    .md\:mb-16 {
      margin-bottom: calc(var(--spacing) * 16);
    }
    .md\:mb-20 {
      margin-bottom: calc(var(--spacing) * 20);
    }
    .md\:mb-25 {
      margin-bottom: calc(var(--spacing) * 25);
    }
    .md\:block {
      display: block;
    }
    .md\:hidden {
      display: none;
    }
    .md\:col-4 {
      flex: 0 0 auto;
      width: 33.333333333333336%;
    }
    .md\:col-5 {
      flex: 0 0 auto;
      width: 41.66666666666667%;
    }
    .md\:col-6 {
      flex: 0 0 auto;
      width: 50%;
    }
    .md\:col-7 {
      flex: 0 0 auto;
      width: 58.333333333333336%;
    }
    .md\:col-8 {
      flex: 0 0 auto;
      width: 66.66666666666667%;
    }
    .md\:w-\[280px\] {
      width: 280px;
    }
    .md\:\!max-w-\[400px\] {
      max-width: 400px !important;
    }
    .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-end {
      align-items: flex-end;
    }
    .md\:bg-yellow-200 {
      background-color: var(--color-yellow-200);
    }
    .md\:p-10 {
      padding: calc(var(--spacing) * 10);
    }
    .md\:px-20 {
      padding-inline: calc(var(--spacing) * 20);
    }
    .md\:px-26 {
      padding-inline: calc(var(--spacing) * 26);
    }
    .md\:px-30 {
      padding-inline: calc(var(--spacing) * 30);
    }
    .md\:px-40 {
      padding-inline: calc(var(--spacing) * 40);
    }
    .md\:pl-6 {
      padding-left: calc(var(--spacing) * 6);
    }
  }
  @media (width >= 64rem) {
    .lg\:sticky {
      position: sticky;
    }
    .lg\:top-\[120px\] {
      top: 120px;
    }
    .lg\:order-1 {
      order: 1;
    }
    .lg\:order-2 {
      order: 2;
    }
    .lg\:col-4 {
      grid-column: 4;
    }
    .lg\:col-5 {
      grid-column: 5;
    }
    .lg\:col-6 {
      grid-column: 6;
    }
    .lg\:col-7 {
      grid-column: 7;
    }
    .lg\:col-8 {
      grid-column: 8;
    }
    .lg\:col-10 {
      grid-column: 10;
    }
    .lg\:col-12 {
      grid-column: 12;
    }
    .lg\:col-span-2 {
      grid-column: span 2 / span 2;
    }
    .lg\:col-span-5 {
      grid-column: span 5 / span 5;
    }
    .lg\:col-span-7 {
      grid-column: span 7 / span 7;
    }
    .lg\:mb-12 {
      margin-bottom: calc(var(--spacing) * 12);
    }
    .lg\:block {
      display: block;
    }
    .lg\:flex {
      display: flex;
    }
    .lg\:hidden {
      display: none;
    }
    .lg\:h-full\! {
      height: 100% !important;
    }
    .lg\:col-4 {
      flex: 0 0 auto;
      width: 33.333333333333336%;
    }
    .lg\:col-5 {
      flex: 0 0 auto;
      width: 41.66666666666667%;
    }
    .lg\:col-6 {
      flex: 0 0 auto;
      width: 50%;
    }
    .lg\:col-7 {
      flex: 0 0 auto;
      width: 58.333333333333336%;
    }
    .lg\:col-8 {
      flex: 0 0 auto;
      width: 66.66666666666667%;
    }
    .lg\:col-10 {
      flex: 0 0 auto;
      width: 83.33333333333334%;
    }
    .lg\:col-12 {
      flex: 0 0 auto;
      width: 100%;
    }
    .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-12 {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }
    .lg\:flex-row {
      flex-direction: row;
    }
    .lg\:items-center {
      align-items: center;
    }
    .lg\:justify-end {
      justify-content: flex-end;
    }
    .lg\:justify-start {
      justify-content: flex-start;
    }
    .lg\:gap-8 {
      gap: calc(var(--spacing) * 8);
    }
    .lg\:bg-green-200 {
      background-color: var(--color-green-200);
    }
    .lg\:p-10 {
      padding: calc(var(--spacing) * 10);
    }
    .lg\:p-16 {
      padding: calc(var(--spacing) * 16);
    }
    .lg\:p-20 {
      padding: calc(var(--spacing) * 20);
    }
    .lg\:px-30 {
      padding-inline: calc(var(--spacing) * 30);
    }
    .lg\:px-40 {
      padding-inline: calc(var(--spacing) * 40);
    }
    .lg\:px-50 {
      padding-inline: calc(var(--spacing) * 50);
    }
    .lg\:px-80 {
      padding-inline: calc(var(--spacing) * 80);
    }
    .lg\:py-10 {
      padding-block: calc(var(--spacing) * 10);
    }
    .lg\:pt-5 {
      padding-top: calc(var(--spacing) * 5);
    }
    .lg\:pt-40 {
      padding-top: calc(var(--spacing) * 40);
    }
    .lg\:pr-8 {
      padding-right: calc(var(--spacing) * 8);
    }
    .lg\:pl-0 {
      padding-left: 0px;
    }
    .lg\:pl-10 {
      padding-left: calc(var(--spacing) * 10);
    }
    .lg\:text-3xl {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
    .lg\:text-\[57px\] {
      font-size: 57px;
    }
    .lg\:text-\[60px\] {
      font-size: 60px;
    }
  }
  @media (width >= 80rem) {
    .xl\:order-1 {
      order: 1;
    }
    .xl\:col-4 {
      grid-column: 4;
    }
    .xl\:col-8 {
      grid-column: 8;
    }
    .xl\:ml-0 {
      margin-left: 0px;
    }
    .xl\:block {
      display: block;
    }
    .xl\:flex {
      display: flex;
    }
    .xl\:hidden {
      display: none;
    }
    .xl\:inline-block {
      display: inline-block;
    }
    .xl\:h-30 {
      height: calc(var(--spacing) * 30);
    }
    .xl\:h-\[380px\]\! {
      height: 380px !important;
    }
    .xl\:col-4 {
      flex: 0 0 auto;
      width: 33.333333333333336%;
    }
    .xl\:col-8 {
      flex: 0 0 auto;
      width: 66.66666666666667%;
    }
    .xl\:w-auto {
      width: auto;
    }
    .xl\:w-full {
      width: 100%;
    }
    .xl\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .xl\:flex-row {
      flex-direction: row;
    }
    .xl\:gap-0 {
      gap: 0px;
    }
    .xl\:gap-6 {
      gap: calc(var(--spacing) * 6);
    }
    :where(.xl\:space-x-2 > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
    }
    .xl\:border-r-0 {
      border-right-style: var(--tw-border-style);
      border-right-width: 0px;
    }
    .xl\:bg-blue-200 {
      background-color: var(--color-blue-200);
    }
    .xl\:px-10 {
      padding-inline: calc(var(--spacing) * 10);
    }
    .xl\:px-14 {
      padding-inline: calc(var(--spacing) * 14);
    }
    .xl\:px-20 {
      padding-inline: calc(var(--spacing) * 20);
    }
    .xl\:py-0 {
      padding-block: 0px;
    }
    .xl\:py-15 {
      padding-block: calc(var(--spacing) * 15);
    }
    .xl\:pr-0 {
      padding-right: 0px;
    }
    .xl\:pr-14 {
      padding-right: calc(var(--spacing) * 14);
    }
    .xl\:pr-16 {
      padding-right: calc(var(--spacing) * 16);
    }
    .xl\:pb-0 {
      padding-bottom: 0px;
    }
    .xl\:pl-20 {
      padding-left: calc(var(--spacing) * 20);
    }
    @media (hover: hover) {
      .xl\:group-hover\:visible:is(:where(.group):hover *) {
        visibility: visible;
      }
      .xl\:group-hover\:opacity-100:is(:where(.group):hover *) {
        opacity: 100%;
      }
    }
  }
  @media (width >= 96rem) {
    .\32 xl\:block {
      display: block;
    }
    .\32 xl\:hidden {
      display: none;
    }
    .\32 xl\:w-\[980px\] {
      width: 980px;
    }
    .\32 xl\:\!max-w-\[650px\] {
      max-width: 650px !important;
    }
    :where(.\32 xl\:space-x-6 > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)));
    }
    .\32 xl\:bg-pink-200 {
      background-color: var(--color-pink-200);
    }
  }
  .prose-h2\:mt-0 :is(:where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *))) {
    margin-top: 0px;
  }
  .prose-p\:mt-0\! :is(:where(p):not(:where([class~="not-prose"], [class~="not-prose"] *))) {
    margin-top: 0px !important;
  }
  .prose-p\:text-xl :is(:where(p):not(:where([class~="not-prose"], [class~="not-prose"] *))) {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .prose-p\:text-h5 :is(:where(p):not(:where([class~="not-prose"], [class~="not-prose"] *))) {
    font-size: var(--text-h5);
  }
  .prose-strong\:font-medium :is(:where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *))) {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .prose-strong\:text-text-light :is(:where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *))) {
    color: var(--color-text-light);
  }
  @media (hover: hover) {
    .\[\&_p\]\:group-hover\:text-white\! p:is(:where(.group):hover *) {
      color: var(--color-white) !important;
    }
  }
  .\[\&\>\*\:not\(\:nth-child\(3n\)\)\]\:border-border > :not(:nth-child(3n)) {
    border-color: var(--color-border);
  }
  @media (width >= 64rem) {
    .lg\:\[\&\>\*\:not\(\:nth-child\(3n\)\)\]\:border-r > :not(:nth-child(3n)) {
      border-right-style: var(--tw-border-style);
      border-right-width: 1px;
    }
  }
}
input#nav-toggle:checked + label #show-button {
  display: none;
}
input#nav-toggle:checked + label #hide-button {
  display: block;
}
input#nav-toggle:checked ~ #nav-menu {
  display: block;
}
.swiper-pagination-bullet {
  height: calc(var(--spacing) * 2.5) !important;
  width: calc(var(--spacing) * 2.5) !important;
  background-color: var(--color-light) !important;
  opacity: 100% !important;
}
.swiper-pagination-bullet-active {
  height: calc(var(--spacing) * 4) !important;
  width: calc(var(--spacing) * 4) !important;
  background-color: var(--color-primary) !important;
}
@layer base {
  html {
    font-size: var(--text-base-sm);
    @media (width >= 48rem) {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
    @media (width >= 48rem) {
      font-size: var(--text-base);
    }
    scroll-behavior: smooth;
  }
  body {
    background-color: var(--color-body);
    font-family: var(--font-primary);
    line-height: var(--tw-leading, var(--text-base--line-height));
    font-size: var(--text-base);
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-text);
  }
  h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-secondary);
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-dark);
  }
  h1, .h1 {
    font-size: var(--text-h1-sm);
    @media (width >= 48rem) {
      font-size: var(--text-h1);
    }
  }
  h2, .h2 {
    font-size: var(--text-h2-sm);
    @media (width >= 48rem) {
      font-size: var(--text-h2);
    }
  }
  h3, .h3 {
    font-size: var(--text-h3-sm);
    @media (width >= 48rem) {
      font-size: var(--text-h3);
    }
  }
  h4, .h4 {
    font-size: var(--text-h4);
  }
  h5, .h5 {
    font-size: var(--text-h5);
  }
  h6, .h6 {
    font-size: var(--text-h6);
  }
  b, strong {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  code::after {
    content: var(--tw-content);
    --tw-border-style: none;
    border-style: none;
  }
  blockquote > p {
    margin-block: 0px !important;
  }
  sc, pm {
    display: inline-block;
    padding-top: calc(var(--spacing) * 2);
  }
}
@layer components {
  .section {
    padding-block: calc(var(--spacing) * 24);
    @media (width >= 80rem) {
      padding-block: calc(var(--spacing) * 30);
    }
  }
  .section-lg {
    padding-block: calc(var(--spacing) * 28);
    @media (width >= 80rem) {
      padding-block: calc(var(--spacing) * 41);
    }
  }
  .section-sm {
    padding-block: calc(var(--spacing) * 16);
    @media (width >= 80rem) {
      padding-block: calc(var(--spacing) * 20);
    }
  }
  .container {
    margin-inline: auto;
    padding-inline: calc(var(--spacing) * 4);
    @media (width >= 80rem) {
      max-width: 1360px !important;
    }
  }
  :where(.social-icons > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
  }
  .social-icons li {
    display: inline-block;
  }
  .social-icons li a {
    display: flex;
    height: calc(var(--spacing) * 9);
    width: calc(var(--spacing) * 9);
    align-items: center;
    justify-content: center;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-secondary);
    background-color: var(--color-secondary);
    text-align: center;
    --tw-leading: calc(var(--spacing) * 9);
    line-height: calc(var(--spacing) * 9);
    color: var(--color-white);
    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));
    --tw-duration: 300ms;
    transition-duration: 300ms;
    &:hover {
      @media (hover: hover) {
        background-color: transparent;
      }
    }
    &:hover {
      @media (hover: hover) {
        background-color: transparent;
      }
    }
    &:hover {
      @media (hover: hover) {
        color: var(--color-secondary);
      }
    }
  }
  .social-icons li a svg {
    height: calc(var(--spacing) * 5);
    width: calc(var(--spacing) * 5);
  }
  .content {
    color: var(--tw-prose-body);
    max-width: 65ch;
    :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.25em;
      margin-bottom: 1.25em;
    }
    :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-lead);
      font-size: 1.25em;
      line-height: 1.6;
      margin-top: 1.2em;
      margin-bottom: 1.2em;
    }
    :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-links);
      text-decoration: underline;
      font-weight: 500;
    }
    :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-bold);
      font-weight: 600;
    }
    :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: decimal;
      margin-top: 1.25em;
      margin-bottom: 1.25em;
      padding-inline-start: 1.625em;
    }
    :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: upper-alpha;
    }
    :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: lower-alpha;
    }
    :where(ol[type="A" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: upper-alpha;
    }
    :where(ol[type="a" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: lower-alpha;
    }
    :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: upper-roman;
    }
    :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: lower-roman;
    }
    :where(ol[type="I" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: upper-roman;
    }
    :where(ol[type="i" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: lower-roman;
    }
    :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: decimal;
    }
    :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: disc;
      margin-top: 1.25em;
      margin-bottom: 1.25em;
      padding-inline-start: 1.625em;
    }
    :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker {
      font-weight: 400;
      color: var(--tw-prose-counters);
    }
    :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker {
      color: var(--tw-prose-bullets);
    }
    :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      margin-top: 1.25em;
    }
    :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      border-color: var(--tw-prose-hr);
      border-top-width: 1px;
      margin-top: 3em;
      margin-bottom: 3em;
    }
    :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-weight: 500;
      font-style: italic;
      color: var(--tw-prose-quotes);
      border-inline-start-width: 0.25rem;
      border-inline-start-color: var(--tw-prose-quote-borders);
      quotes: "\201C""\201D""\2018""\2019";
      margin-top: 1.6em;
      margin-bottom: 1.6em;
      padding-inline-start: 1em;
    }
    :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before {
      content: open-quote;
    }
    :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after {
      content: close-quote;
    }
    :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 800;
      font-size: 2.25em;
      margin-top: 0;
      margin-bottom: 0.8888889em;
      line-height: 1.1111111;
    }
    :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-weight: 900;
      color: inherit;
    }
    :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 700;
      font-size: 1.5em;
      margin-top: 2em;
      margin-bottom: 1em;
      line-height: 1.3333333;
    }
    :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-weight: 800;
      color: inherit;
    }
    :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      font-size: 1.25em;
      margin-top: 1.6em;
      margin-bottom: 0.6em;
      line-height: 1.6;
    }
    :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-weight: 700;
      color: inherit;
    }
    :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      margin-top: 1.5em;
      margin-bottom: 0.5em;
      line-height: 1.5;
    }
    :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-weight: 700;
      color: inherit;
    }
    :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      display: block;
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-weight: 500;
      font-family: inherit;
      color: var(--tw-prose-kbd);
      box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
      font-size: 0.875em;
      border-radius: 0.3125rem;
      padding-top: 0.1875em;
      padding-inline-end: 0.375em;
      padding-bottom: 0.1875em;
      padding-inline-start: 0.375em;
    }
    :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-code);
      font-weight: 600;
      font-size: 0.875em;
    }
    :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before {
      content: "`";
    }
    :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after {
      content: "`";
    }
    :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
      font-size: 0.875em;
    }
    :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
      font-size: 0.9em;
    }
    :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-pre-code);
      background-color: var(--tw-prose-pre-bg);
      overflow-x: auto;
      font-weight: 400;
      font-size: 0.875em;
      line-height: 1.7142857;
      margin-top: 1.7142857em;
      margin-bottom: 1.7142857em;
      border-radius: 0.375rem;
      padding-top: 0.8571429em;
      padding-inline-end: 1.1428571em;
      padding-bottom: 0.8571429em;
      padding-inline-start: 1.1428571em;
    }
    :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      background-color: transparent;
      border-width: 0;
      border-radius: 0;
      padding: 0;
      font-weight: inherit;
      color: inherit;
      font-size: inherit;
      font-family: inherit;
      line-height: inherit;
    }
    :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before {
      content: none;
    }
    :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after {
      content: none;
    }
    :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      width: 100%;
      table-layout: auto;
      margin-top: 2em;
      margin-bottom: 2em;
      font-size: 0.875em;
      line-height: 1.7142857;
    }
    :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      border-bottom-width: 1px;
      border-bottom-color: var(--tw-prose-th-borders);
    }
    :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      vertical-align: bottom;
      padding-inline-end: 0.5714286em;
      padding-bottom: 0.5714286em;
      padding-inline-start: 0.5714286em;
    }
    :where(tbody tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      border-bottom-width: 1px;
      border-bottom-color: var(--tw-prose-td-borders);
    }
    :where(tbody tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      border-bottom-width: 0;
    }
    :where(tbody td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      vertical-align: baseline;
    }
    :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      border-top-width: 1px;
      border-top-color: var(--tw-prose-th-borders);
    }
    :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      vertical-align: top;
    }
    :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      text-align: start;
    }
    :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
      margin-bottom: 0;
    }
    :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-captions);
      font-size: 0.875em;
      line-height: 1.4285714;
      margin-top: 0.8571429em;
    }
    --tw-prose-body: oklch(37.3% 0.034 259.733);
    --tw-prose-headings: oklch(21% 0.034 264.665);
    --tw-prose-lead: oklch(44.6% 0.03 256.802);
    --tw-prose-links: oklch(21% 0.034 264.665);
    --tw-prose-bold: oklch(21% 0.034 264.665);
    --tw-prose-counters: oklch(55.1% 0.027 264.364);
    --tw-prose-bullets: oklch(87.2% 0.01 258.338);
    --tw-prose-hr: oklch(92.8% 0.006 264.531);
    --tw-prose-quotes: oklch(21% 0.034 264.665);
    --tw-prose-quote-borders: oklch(92.8% 0.006 264.531);
    --tw-prose-captions: oklch(55.1% 0.027 264.364);
    --tw-prose-kbd: oklch(21% 0.034 264.665);
    --tw-prose-kbd-shadows: color-mix(in oklab, oklch(21% 0.034 264.665) 10%, transparent);
    --tw-prose-code: oklch(21% 0.034 264.665);
    --tw-prose-pre-code: oklch(92.8% 0.006 264.531);
    --tw-prose-pre-bg: oklch(27.8% 0.033 256.848);
    --tw-prose-th-borders: oklch(87.2% 0.01 258.338);
    --tw-prose-td-borders: oklch(92.8% 0.006 264.531);
    --tw-prose-invert-body: oklch(87.2% 0.01 258.338);
    --tw-prose-invert-headings: #fff;
    --tw-prose-invert-lead: oklch(70.7% 0.022 261.325);
    --tw-prose-invert-links: #fff;
    --tw-prose-invert-bold: #fff;
    --tw-prose-invert-counters: oklch(70.7% 0.022 261.325);
    --tw-prose-invert-bullets: oklch(44.6% 0.03 256.802);
    --tw-prose-invert-hr: oklch(37.3% 0.034 259.733);
    --tw-prose-invert-quotes: oklch(96.7% 0.003 264.542);
    --tw-prose-invert-quote-borders: oklch(37.3% 0.034 259.733);
    --tw-prose-invert-captions: oklch(70.7% 0.022 261.325);
    --tw-prose-invert-kbd: #fff;
    --tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);
    --tw-prose-invert-code: #fff;
    --tw-prose-invert-pre-code: oklch(87.2% 0.01 258.338);
    --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
    --tw-prose-invert-th-borders: oklch(44.6% 0.03 256.802);
    --tw-prose-invert-td-borders: oklch(37.3% 0.034 259.733);
    font-size: 1rem;
    line-height: 1.75;
    :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
      margin-bottom: 0;
    }
    :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0.5em;
      margin-bottom: 0.5em;
    }
    :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-start: 0.375em;
    }
    :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-start: 0.375em;
    }
    :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0.75em;
      margin-bottom: 0.75em;
    }
    :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.25em;
    }
    :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-bottom: 1.25em;
    }
    :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.25em;
    }
    :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-bottom: 1.25em;
    }
    :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0.75em;
      margin-bottom: 0.75em;
    }
    :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.25em;
      margin-bottom: 1.25em;
    }
    :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0.5em;
      padding-inline-start: 1.625em;
    }
    :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-start: 0;
    }
    :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-end: 0;
    }
    :where(tbody td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-top: 0.5714286em;
      padding-inline-end: 0.5714286em;
      padding-bottom: 0.5714286em;
      padding-inline-start: 0.5714286em;
    }
    :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-start: 0;
    }
    :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-end: 0;
    }
    :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-bottom: 0;
    }
    max-width: none;
    & :is(:where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      margin-top: 1.6em;
    }
    & :is(:where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      margin-bottom: .8em;
    }
    & :is(:where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      color: var(--color-text-dark);
    }
    & :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      font-size: var(--text-h1-sm);
    }
    @media (width >= 48rem) {
      & :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
        font-size: var(--text-h1);
      }
    }
    & :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      font-size: var(--text-h2-sm);
    }
    @media (width >= 48rem) {
      & :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
        font-size: var(--text-h2);
      }
    }
    & :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      font-size: var(--text-h3-sm);
    }
    @media (width >= 48rem) {
      & :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
        font-size: var(--text-h3);
      }
    }
    & :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
    & :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      color: var(--color-text);
    }
    & :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      color: var(--color-text);
    }
    & :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      &.btn {
        text-decoration-line: none;
      }
    }
    & :is(:where(img):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      max-width: 100%;
    }
    & :is(:where(img):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      border-radius: 0.25rem;
    }
    & :is(:where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      color: var(--color-text-dark);
    }
    & :is(:where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      border-color: var(--color-border);
    }
    & :is(:where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      border-radius: var(--radius-lg);
    }
    & :is(:where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      background-color: var(--color-light);
    }
    & :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      color: var(--color-text-dark);
    }
    & :is(:where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      margin-left: calc(var(--spacing) * 5);
    }
    & :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      color: var(--color-text);
    }
    & :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      & *::marker {
        color: var(--color-secondary);
      }
      &::marker {
        color: var(--color-secondary);
      }
      & *::-webkit-details-marker {
        color: var(--color-secondary);
      }
      &::-webkit-details-marker {
        color: var(--color-secondary);
      }
    }
    & :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      border-radius: var(--radius-lg);
    }
    & :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      border-style: var(--tw-border-style);
      border-width: 1px;
    }
    & :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      border-left-style: var(--tw-border-style);
      border-left-width: 10px;
    }
    & :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      border-color: var(--color-white);
    }
    & :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      background-color: var(--color-secondary);
    }
    & :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      padding-inline: calc(var(--spacing) * 8);
    }
    & :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      padding-block: calc(var(--spacing) * 10);
    }
    & :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      font-family: var(--font-primary);
    }
    & :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
    & :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      font-style: normal;
    }
    & :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      position: relative;
    }
    & :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      margin-inline: auto;
    }
    & :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      max-width: 900px;
    }
    & :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      overflow: hidden;
    }
    & :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      border-radius: var(--radius-lg);
    }
    & :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      &::before {
        content: var(--tw-content);
        position: absolute;
      }
    }
    & :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      &::before {
        content: var(--tw-content);
        top: 0px;
      }
    }
    & :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      &::before {
        content: var(--tw-content);
        left: 0px;
      }
    }
    & :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      &::before {
        content: var(--tw-content);
        height: 100%;
      }
    }
    & :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      &::before {
        content: var(--tw-content);
        width: 100%;
      }
    }
    & :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      &::before {
        content: var(--tw-content);
        border-radius: inherit;
      }
    }
    & :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      &::before {
        content: var(--tw-content);
        border-style: var(--tw-border-style);
        border-width: 1px;
      }
    }
    & :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      &::before {
        content: var(--tw-content);
        border-color: var(--color-secondary);
      }
    }
    & :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      &::before {
        content: var(--tw-content);
        --tw-content: "";
        content: var(--tw-content);
      }
    }
    & :is(:where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      border-color: var(--color-secondary);
    }
    & :is(:where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      background-color: var(--color-secondary);
    }
    & :is(:where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      color: var(--color-white);
    }
    & :is(:where(th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      position: relative;
    }
    & :is(:where(th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      z-index: 10;
    }
    & :is(:where(th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      padding-inline: calc(var(--spacing) * 6);
    }
    & :is(:where(th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      padding-block: 18px;
    }
    & :is(:where(th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      color: var(--color-white);
    }
    & :is(:where(tr):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      border-color: var(--color-secondary);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-secondary) 10%, transparent);
      }
    }
    & :is(:where(tr):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      &:nth-child(even) {
        background-color: var(--color-secondary);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-secondary) 5%, transparent);
        }
      }
    }
    & :is(:where(td):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      position: relative;
    }
    & :is(:where(td):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      z-index: 10;
    }
    & :is(:where(td):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      padding-inline: calc(var(--spacing) * 6);
    }
    & :is(:where(td):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
      padding-block: 18px;
    }
  }
  @keyframes hero_circle {
    0% {
      transform: scale(3);
    }
    50% {
      transform: scale(1);
    }
    100% {
      transform: scale(1);
    }
  }
  @keyframes hero_circle_pulse {
    0%, 100% {
      filter: drop-shadow(-5px -2px 1rem #ce1082ff);
    }
    50% {
      filter: drop-shadow(-20px -20px 4rem #ce1082ff);
    }
  }
  @keyframes reveal_hero_sub_circle {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  .animate-hero-circle {
    position: relative;
    animation: hero_circle 1.5s ease-out forwards, hero_circle_pulse 3s ease-in-out 2s infinite alternate;
    background: #b01572;
    background: radial-gradient( circle, rgba(176, 21, 114, 1) 31%, rgba(145, 145, 145, 1) 74%, rgba(207, 207, 207, 1) 100% );
    aspect-ratio: 1/1;
    border-radius: 50%;
    filter: drop-shadow(-5px -2px 1rem #ce1082ff);
    border-color: #690541ff;
    overflow: hidden;
  }
  .white_inner_shape {
    background: #ffffff;
    position: absolute;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    filter: blur(3rem);
    opacity: 0;
    animation: reveal_hero_sub_circle 3s ease-out 1.3s forwards;
  }
  .white_inner_shape:nth-child(1) {
    top: 0;
    left: 50%;
    width: 190px;
    height: 190px;
  }
  .white_inner_shape:nth-child(2) {
    top: 50%;
    left: 0%;
    width: 350px;
    height: 350px;
  }
  .white_inner_shape:nth-child(3) {
    top: 20%;
    left: 20%;
    width: 140px;
    height: 140px;
    filter: blur(4rem);
    background: #940e5fff;
  }
  .header {
    overflow: hidden;
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-primary) 40%, transparent);
    }
    background-color: var(--color-body);
    @media (width >= 40rem) {
      overflow: visible;
    }
    position: relative;
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
    border-color: var(--color-primary);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-primary) 40%, transparent);
    }
    padding-block: calc(var(--spacing) * 6);
  }
  .header::before {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0px;
    z-index: 10;
    height: 1px;
    width: calc(var(--spacing) * 30);
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
    --tw-gradient-via-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));
    --tw-gradient-from: var(--color-white);
    --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));
    transform: translateY(50%);
  }
  .header::after {
    content: "";
    position: absolute;
    right: 0px;
    bottom: 0px;
    z-index: 10;
    height: 1px;
    width: calc(var(--spacing) * 30);
    --tw-gradient-position: to left in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
    --tw-gradient-via-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));
    --tw-gradient-from: var(--color-white);
    --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));
    transform: translateY(50%);
  }
  .navbar {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }
  .navbar-brand {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-dark);
    image {
      max-height: 100%;
      max-width: 100%;
    }
  }
  .navbar-nav {
    text-align: center;
    @media (width >= 80rem) {
      text-align: left;
    }
  }
  .nav-link {
    display: block;
    cursor: pointer;
    padding: calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-dark);
    text-transform: uppercase;
    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));
    &:hover {
      @media (hover: hover) {
        color: var(--color-primary);
      }
    }
    @media (width >= 80rem) {
      padding-inline: var(--spacing);
    }
    @media (width >= 80rem) {
      padding-block: calc(var(--spacing) * 3);
    }
  }
  .nav-dropdown {
    margin-right: 0px;
  }
  .nav-dropdown > svg {
    pointer-events: none;
  }
  .nav-dropdown.active .nav-dropdown-list {
    display: block;
  }
  .nav-dropdown-list {
    z-index: 10;
    display: none;
    min-width: 250px;
    border-radius: 0.25rem;
    background-color: var(--color-body);
    padding: calc(var(--spacing) * 4);
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    @media (width >= 80rem) {
      visibility: hidden;
    }
    @media (width >= 80rem) {
      position: absolute;
    }
    @media (width >= 80rem) {
      display: block;
    }
    @media (width >= 80rem) {
      opacity: 0%;
    }
  }
  .nav-dropdown-item:not(:last-child) {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .nav-dropdown-link {
    display: block;
    padding-block: var(--spacing);
    color: var(--color-text-dark);
    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));
    &:hover {
      @media (hover: hover) {
        color: var(--color-primary);
      }
    }
  }
  .theme-switcher {
    display: inline-flex;
    label {
      position: relative;
      display: inline-block;
      height: calc(var(--spacing) * 4);
      width: calc(var(--spacing) * 6);
      cursor: pointer;
      border-radius: var(--radius-2xl);
      background-color: var(--color-border);
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 10);
      }
    }
    input {
      position: absolute;
      opacity: 0%;
    }
    span {
      position: absolute;
      top: calc(var(--spacing) * -1);
      left: 0px;
      display: flex;
      height: calc(var(--spacing) * 6);
      width: calc(var(--spacing) * 6);
      align-items: center;
      justify-content: center;
      border-radius: calc(infinity * 1px);
      background-color: var(--color-dark);
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
      --tw-duration: 300ms;
      transition-duration: 300ms;
    }
    input:checked + label {
      span {
        @media (width >= 64rem) {
          left: calc(var(--spacing) * 4);
        }
      }
    }
  }
  .btn {
    display: inline-block;
    border-radius: var(--radius-lg);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: transparent;
    padding-inline: calc(var(--spacing) * 6);
    padding-block: calc(var(--spacing) * 2);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    text-transform: capitalize;
    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));
  }
  .btn-sm {
    border-radius: var(--radius-sm);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 1.5);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .btn-primary {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    color: var(--color-white);
  }
  .btn-gradient-primary {
    color: var(--color-white);
    background: linear-gradient(90deg, #ec008c 0%, #bf188d 100%);
  }
  .btn-secondary {
    border-color: var(--color-secondary);
    background-color: var(--color-secondary);
    color: var(--color-white);
  }
  .btn-outline-primary {
    border-color: var(--color-primary);
    background-color: transparent;
    color: var(--color-primary);
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-primary);
      }
    }
    &:hover {
      @media (hover: hover) {
        color: var(--color-white);
      }
    }
  }
  .btn-outline-secondary {
    border-color: var(--color-secondary);
    background-color: transparent;
    color: var(--color-secondary);
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-secondary);
      }
    }
    &:hover {
      @media (hover: hover) {
        color: var(--color-white);
      }
    }
  }
}
.search-wrapper {
  position: relative;
  z-index: 1;
}
.search-wrapper svg {
  display: inline-block;
  background-color: transparent;
}
.search-wrapper-header {
  padding: 14px;
  position: relative;
}
.search-wrapper-header input {
  border: 1px solid #ddd;
  width: 100%;
  border-radius: 4px;
  height: 52px;
  padding: 0 15px 0 40px;
  transition: 0.25s;
}
.search-wrapper-header input:focus {
  border-color: var(--color-primary);
  box-shadow: none;
  outline: none;
}
.search-wrapper-header label {
  position: absolute;
  left: 28px;
  top: calc(50% - 13px);
}
.search-wrapper-header label .search-reset {
  display: none;
  transition: 0.1s;
}
.search-wrapper-header label .search-reset:hover {
  cursor: pointer;
  color: #fb5c5c;
}
.search-result-empty {
  display: block;
  text-align: center;
  padding: 32px 0;
  cursor: text;
  user-select: none;
}
.search-result mark {
  padding: 0;
  border-radius: 2px;
}
.search-result:not(:empty) + .search-result-empty {
  display: none;
}
.search-not-found {
  text-align: center;
}
.search-not-found svg {
  margin-bottom: 16px;
}
.search-not-found p {
  margin-bottom: 0;
}
.search-result-item {
  position: relative;
  display: block;
  padding: 16px;
  border-radius: 4px;
  border: 1px solid #eee;
  background-color: #fff;
  transition: 0s;
  margin-bottom: 4px;
  display: flex;
  align-items: flex-start;
}
.search-result-item div:empty, .search-result-item .search-result-item-description:empty {
  display: none;
}
.search-result-item-image {
  flex-shrink: 0;
}
.search-result-item-image:empty {
  display: none;
}
.search-result-item-body {
  flex-grow: 1;
}
.search-result-item > div > img {
  border-radius: 4px;
  max-height: 400px;
  width: 100%;
  object-fit: cover;
}
.search-page .search-result-item > div > img {
  object-fit: cover;
  max-height: 250px;
  width: 100%;
}
.search-result-item:focus, .search-result-item.search-item-selected, .search-result-item:hover {
  background-color: var(--color-primary);
}
.search-result-item:focus *, .search-result-item.search-item-selected *, .search-result-item:hover * {
  color: white;
}
.search-result-item:focus mark, .search-result-item.search-item-selected mark, .search-result-item:hover mark {
  background-color: #fef08a;
  color: #060606;
}
.search-result-item [data-result-item] u {
  color: var(--color-primary);
}
.search-result-item .hidden {
  display: none;
}
.search-result-group-title {
  padding: 0 12px;
  display: inline-block;
  margin-bottom: 5px;
  margin-top: 15px;
  font-size: 18px;
}
.search-result-item-title {
  transition: 0s;
  font-size: 18px;
  color: black;
  margin-bottom: 0;
  line-height: 1.35;
  font-weight: bold;
}
.search-result-item-title::before {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  z-index: 10;
  content: "";
}
.search-result-item-content {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 6px 0;
}
.search-result-item-description {
  font-size: 90%;
  margin-top: 6px;
  margin-bottom: 4px;
}
.search-result-item-content:empty {
  display: none;
}
.search-result-item-taxonomies {
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  align-items: center;
}
.search-result-item-taxonomies > div {
  margin-right: 12px;
  color: #999;
}
.search-result-item-taxonomies > div svg {
  margin-right: 4px;
}
.search-wrapper-footer {
  color: #999;
  font-size: 12px;
  padding: 8px 14px;
  user-select: none;
  line-height: 1;
  display: flex;
  align-items: center;
}
.search-wrapper-footer kbd {
  color: #777;
  background-color: #eee;
  font-size: 12px;
  border-radius: 3px;
  margin-right: 3px;
  padding: 2px 4px;
  line-height: 1;
  text-align: center;
  display: inline-block;
}
.search-wrapper-footer span:not(:last-child) {
  margin-right: 16px;
}
.search-wrapper-footer span:last-child {
  margin-left: auto;
}
.search-wrapper-footer .search-result-info:empty {
  display: none;
}
.search-wrapper-footer .search-result-info {
  margin-left: -3px;
}
.search-wrapper-footer .search-result-info em {
  color: black;
  font-style: normal;
  padding: 0 3px;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.search-modal {
  position: fixed;
  height: 100%;
  width: 100%;
  inset: 0;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
}
.search-modal.show {
  opacity: 1;
  visibility: visible;
}
.search-modal-overlay {
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
}
.search-modal .search-wrapper {
  width: 660px;
  max-width: 96%;
  margin: 100px auto;
  border-radius: 4px;
  background-color: white;
}
.search-modal .search-wrapper-body {
  max-height: calc(100vh - 350px);
  padding: 14px;
  overflow-y: auto;
  background-color: #f5f6f7;
  box-shadow: inset 0 2px 18px #ddd;
  border-radius: 4px;
}
.search-modal .search-result-group:first-child .search-result-group-title:not(:empty) {
  margin-top: -15px;
}
.search-modal .search-result-item a > div {
  margin-right: 16px;
}
.search-modal .search-result-item-image {
  margin-right: 15px;
}
.search-modal .search-result-item-image img {
  width: 100px;
  height: 100px;
  object-fit: cover;
}
@media (max-width: 576px) {
  .search-modal .search-result-item-image img {
    width: 60px;
    height: 60px;
  }
  .search-wrapper-footer {
    display: none;
  }
}
.dark .search-modal .search-wrapper {
  background-color: #1c1c1c;
}
.dark .search-modal .search-wrapper-header input {
  color: #fff;
  background-color: #222222;
  border-color: #535353;
}
.dark .search-modal .search-wrapper-header input:focus {
  border-color: #fff;
}
.dark .search-modal .search-wrapper-body {
  background-color: #222222;
  box-shadow: none;
}
.dark .search-modal .search-result-item {
  border-color: #3e3e3e;
  background-color: #1c1c1c;
}
.dark .search-modal .search-result-item:focus, .dark .search-modal .search-result-item.search-item-selected, .dark .search-modal .search-result-item:hover {
  background-color: #060606;
}
.dark .search-modal .search-result-item .search-result-item-title {
  color: #fff;
}
.dark .search-wrapper-footer kbd {
  background-color: #3e3e3e;
  color: #ccc;
}
.dark .search-wrapper-footer .search-result-info em {
  color: #fff;
}
.search-page .search-wrapper {
  padding: 100px 0;
}
.search-page .search-wrapper-header, .search-page .search-wrapper-footer {
  width: 660px;
  max-width: 96%;
  margin: 0 auto;
}
.search-page .search-wrapper-footer {
  padding-top: 0;
  padding-bottom: 0;
  margin-bottom: 60px;
}
.search-page .search-wrapper-body {
  padding: 0 16px;
}
.search-page .search-result-group {
  display: flex;
  flex-wrap: wrap;
}
.search-page .search-result-item {
  margin-right: -15px;
  margin-left: -15px;
}
.search-page .search-result-group > p, .search-page .search-result-item {
  padding-right: 15px !important;
  padding-left: 15px !important;
}
.search-page .search-result-group > p {
  width: 100%;
}
.search-page .search-result-item {
  flex: 0 0 auto;
  width: calc(100% - (4 * 4px));
  display: block;
  padding-top: 15px !important;
  padding-bottom: 15px !important;
  margin: 0 8px 16px 8px;
}
.search-page .search-result-item .search-result-item-image {
  margin-bottom: 10px;
}
.search-page .search-result-group-title {
  font-size: 22px;
  font-weight: bold;
}
.search-page .search-result-info {
  display: block;
  text-align: center;
}
.search-page .search-wrapper-header input {
  padding: 0 20px;
}
@media (min-width: 576px) {
  .search-page .search-result-item {
    width: calc(50% - (4 * 4px));
  }
}
@media (max-width: 576px) {
  .search-wrapper .search-wrapper-footer span:not(.search-result-info) {
    display: none;
  }
}
@media (min-width: 768px) {
  .search-page .search-result-item {
    width: calc(33.3333333333% - (4 * 4px));
  }
}
@media (min-width: 992px) {
  .search-page .search-result-item {
    width: calc(25% - (4 * 4px));
  }
}
.dark .search-page .search-wrapper-header input {
  color: #fff;
  background-color: #222222;
  border-color: #535353;
}
.dark .search-page .search-wrapper-header input:focus {
  border-color: #fff;
}
.dark .search-page .search-result-item {
  border-color: #3e3e3e;
  background-color: #1c1c1c;
}
.dark .search-page .search-result-item:focus, .dark .search-page .search-result-item.search-item-selected, .dark .search-page .search-result-item:hover {
  background-color: #060606;
}
.dark .search-page .search-result-item-title {
  color: #fff;
}
.share-link {
  border-radius: 0.25rem;
  transition: 25ms ease-out;
  height: 2.5em;
  width: 2.5em;
  line-height: 2.5em;
  text-align: center;
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  text-decoration: none;
  color: #fff;
  margin: 0.5em;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
}
.share-icon {
  fill: #fff;
  stroke: none;
  display: block;
  height: 100%;
}
.share-icon svg {
  width: 1em;
  height: 100%;
  margin: auto;
}
.share-pinterest {
  background-color: #bd081c;
}
.share-pinterest:hover {
  background-color: #8c0615;
}
.share-facebook {
  background-color: #3b5998;
}
.share-facebook:hover {
  background-color: #2d4373;
}
.share-tumblr {
  background-color: #35465c;
}
.share-tumblr:hover {
  background-color: #222d3c;
}
.share-reddit {
  background-color: #5f99cf;
}
.share-reddit:hover {
  background-color: #3a80c1;
}
.share-linkedin {
  background-color: #0077b5;
}
.share-linkedin:hover {
  background-color: #046293;
}
.share-vk {
  background-color: #507299;
}
.share-vk:hover {
  background-color: #43648c;
}
.share-x {
  background-color: #000;
}
.share-x:hover {
  background-color: #000;
}
.share-email {
  background-color: #777777;
}
.share-email:hover {
  background-color: #5e5e5e;
}
.share-whatsapp {
  background-color: #25d366;
}
.share-whatsapp:hover {
  background-color: #1da851;
}
.share-telegram {
  background-color: #54a9eb;
}
.share-telegram:hover {
  background-color: #4b97d1;
}
.share-copy {
  background-color: #28a745;
}
.share-copy:hover {
  background-color: #218838;
}
.share-fediverse {
  background-color: #6364ff;
}
.share-fediverse:hover {
  background-color: #4b4ccf;
}
.fediverse-share {
  position: relative;
  display: inline-block;
}
.fediverse-input-wrapper {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 8px;
  background: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  padding: 8px;
  display: none;
  z-index: 10;
  white-space: nowrap;
}
.dark .fediverse-input-wrapper {
  background: #2d2d2d;
  border-color: #444;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.5);
}
.fediverse-input {
  width: 200px;
  padding: 6px 8px;
  border: 1px solid #ccc;
  font-size: 14px;
  margin-right: 8px;
}
.fediverse-input:focus {
  outline: none;
  border-color: #4b4ccf;
}
.fediverse-check-button {
  padding: 7px 12px;
  background-color: #4b4ccf;
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 14px;
}
.fediverse-check-button:hover {
  background-color: #4b4ccf;
}
.img {
  max-width: 100%;
  height: auto;
}
.gallery {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}
.gallery .gallery-item {
  margin: 0 10px;
  margin-bottom: 20px;
  overflow: hidden;
  max-width: calc(100% - 20px);
}
.gallery .gallery-item img {
  user-select: none;
  width: 100%;
  vertical-align: middle;
  transition: 0.3s;
}
.gallery.zoomable .gallery-item:hover img {
  transform: scale(1.05);
  cursor: zoom-in;
}
.gallery::after {
  content: "";
  flex-grow: 99999;
  min-width: calc(100vw / 3);
}
@media (max-width: 460px) {
  .gallery {
    flex-direction: column;
  }
  .gallery .gallery-item {
    width: calc(100% - 20px) !important;
  }
}
.gallery-slider .swiper-slide img {
  width: 100%;
}
.gallery-slider .swiper-button-prev, .gallery-slider .swiper-button-next {
  color: white;
  opacity: 0;
  transition: 0.3s;
}
.gallery-slider:hover .swiper-button-prev, .gallery-slider:hover .swiper-button-next {
  opacity: 1;
}
.gallery-slider:hover .swiper-button-prev {
  left: 30px;
}
.gallery-slider:hover .swiper-button-next {
  right: 30px;
}
.img {
  max-width: 100%;
  height: auto;
}
.img-light {
  display: initial;
}
.img-dark {
  display: none;
}
.dark .img-light {
  display: none;
}
.dark .img-dark {
  display: initial;
}
.content img {
  max-width: 100%;
  margin-bottom: 1.5rem;
  height: auto;
  display: inline-block;
}
.content img.glightbox {
  cursor: pointer;
}
.content img.img-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.content img.img-left {
  display: block;
  margin-left: 0;
  margin-right: auto;
}
.content img.img-right {
  display: block;
  margin-left: auto;
  margin-right: 0;
}
.content img.img-float-left {
  float: left;
  margin-right: 1.5rem;
}
.content img.img-float-right {
  float: right;
  margin-left: 1.5rem;
}
.content figure {
  display: inline-block;
  margin-bottom: 1.5rem;
}
.content figure img {
  margin-bottom: 0.7rem;
}
.content figure.img-center {
  display: block;
  text-align: center;
}
.content figure.img-left {
  display: block;
  text-align: left;
}
.content figure.img-right {
  display: block;
  text-align: right;
}
.content figure.img-float-left {
  float: left;
  margin-right: 1.5rem;
}
.content figure.img-float-right {
  float: right;
  margin-left: 1.5rem;
}
.table-of-content {
  margin: 1rem 0 1.5rem;
}
.table-of-content summary {
  font-size: 18px;
  color: #fff;
  background-color: #555;
  padding: 5px 20px;
  margin-bottom: 0 !important;
}
.table-of-content ul li:before {
  display: none;
}
#TableOfContents {
  padding: 10px;
  background-color: #f7f7f7;
}
#TableOfContents li, #TableOfContents a {
  color: #333 !important;
}
#TableOfContents a {
  text-decoration: none;
}
#TableOfContents a:hover {
  text-decoration: underline;
}
.content .table-of-content ul li, .content .table-of-content ol li {
  margin-bottom: 6px !important;
}
.dark #TableOfContents {
  background-color: #333;
}
.dark #TableOfContents li, .dark #TableOfContents a {
  color: #fff !important;
}
.tab-nav {
  list-style: none;
  padding: 0;
  margin: 0 !important;
  display: flex;
  border-bottom: 1px solid #aaa;
  overflow-x: auto;
}
.tab-nav::-webkit-scrollbar {
  width: 2px;
}
.tab-nav-item {
  padding: 0.5rem 1rem !important;
  cursor: pointer;
  opacity: 0.8;
  margin: 0 !important;
  white-space: nowrap;
}
.tab-nav-item::before {
  display: none !important;
}
.tab-nav-item.active {
  border-bottom: 3px solid #aaa;
  opacity: 1;
}
.tab-content .tab-content-panel {
  display: none;
  padding: 1rem;
}
.tab-content .tab-content-panel p {
  margin-bottom: 0 !important;
}
.tab-content .tab-content-panel.active {
  display: block;
}
.accordion {
  border: 1px solid #ccc;
}
.accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  font-size: 1.1rem;
  width: 100%;
  font-weight: bold;
  text-align: left;
  cursor: pointer;
}
.accordion-icon {
  width: 0.78em;
  height: 0.78em;
  transform: rotate(-90deg);
  transition: transform 0.2s ease;
}
.accordion-content {
  max-height: 0;
  overflow: hidden;
  padding: 0 1rem;
}
.accordion.active .accordion-icon {
  transform: rotate(0deg);
}
.accordion.active .accordion-content {
  max-height: max-content;
}
.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 40;
  display: none;
  height: 100%;
  width: 100%;
  overflow: auto;
}
.modal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 40;
  display: none;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}
.modal-content {
  position: relative;
  top: 50%;
  z-index: 50;
  transform: translateY(-50%);
  background-color: #fff;
  border-radius: 0.5rem;
  padding: 2rem;
  max-width: 90%;
  margin: 0 auto;
}
.modal-close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  height: 2rem;
  width: 2rem;
  background-color: #f2f2f2;
  color: #000;
  border-radius: 50%;
  text-align: center;
  line-height: 2rem;
}
.notice {
  margin-bottom: 1.5rem;
  border: 1px solid;
  padding: 1.5rem;
  border-color: currentColor;
}
.notice-head {
  display: flex;
  align-items: center;
}
.notice-head svg {
  margin-right: 0.75rem;
}
.notice-head p {
  font-size: 1.25rem;
  font-weight: 600;
  color: #1f2937;
  margin: 0;
  line-height: 1;
}
.notice-body {
  margin-top: 0.75rem;
}
.notice-body p {
  margin: 0;
}
.notice.note {
  color: #293df2;
  background-color: rgba(41, 61, 242, 0.15);
}
.notice.abstract {
  color: #0ca68c;
  background-color: rgba(12, 166, 140, 0.15);
}
.notice.info {
  color: #09c3ed;
  background-color: rgba(9, 195, 237, 0.15);
}
.notice.todo {
  color: #8d05a8;
  background-color: rgba(141, 5, 168, 0.15);
}
.notice.tip {
  color: #19cfb0;
  background-color: rgba(25, 207, 176, 0.15);
}
.notice.success {
  color: #04d904;
  background-color: rgba(4, 217, 4, 0.15);
}
.notice.question {
  color: #e38902;
  background-color: rgba(227, 137, 2, 0.15);
}
.notice.warning {
  color: #e38902;
  background-color: rgba(227, 137, 2, 0.15);
}
.notice.failure {
  color: #e31a00;
  background-color: rgba(227, 26, 0, 0.15);
}
.notice.danger {
  color: #e31a00;
  background-color: rgba(227, 26, 0, 0.15);
}
.notice.bug {
  color: #e31a00;
  background-color: rgba(227, 26, 0, 0.15);
}
.notice.example {
  color: #b83acf;
  background-color: rgba(184, 54, 207, 0.15);
}
.notice.quote {
  color: #918e91;
  background-color: rgba(145, 142, 145, 0.15);
}
.dark .notice-head p {
  color: #d1d5db;
}
.table-of-content {
  overflow: hidden;
  border-radius: 0.25rem;
}
.table-of-content > summary {
  cursor: pointer;
  background-color: var(--color-secondary);
  padding-inline: calc(var(--spacing) * 6);
  padding-block: calc(var(--spacing) * 3);
  color: var(--color-light);
}
#TableOfContents {
  padding-inline: calc(var(--spacing) * 4);
}
.share-icons .share-link {
  height: calc(var(--spacing) * 9);
  width: calc(var(--spacing) * 9);
  border-radius: 0.25rem;
  background-color: var(--color-primary);
  --tw-leading: calc(var(--spacing) * 9);
  line-height: calc(var(--spacing) * 9);
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-primary);
    }
  }
}
.fediverse-input-wrapper {
  border-radius: 0.25rem;
  background-color: var(--color-body);
  input {
    border-radius: 0.25rem;
    &:focus {
      border-color: var(--color-primary);
    }
    &:focus {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  button {
    border-radius: 0.25rem;
    background-color: var(--color-primary);
    color: var(--color-light);
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-primary);
      }
    }
  }
}
.notice {
  border-radius: var(--radius-lg);
}
.tab {
  overflow: hidden;
  border-radius: var(--radius-lg);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-border);
}
.tab-nav {
  border-color: var(--color-border);
  background-color: var(--color-light);
  padding-left: calc(var(--spacing) * 4);
}
.tab-nav-item {
  padding-inline: calc(var(--spacing) * 8);
  font-size: var(--text-lg) !important;
  line-height: var(--tw-leading, var(--text-lg--line-height)) !important;
  color: var(--color-text-dark);
}
.tab-nav-item.active {
  border-color: var(--color-dark);
}
.tab-content-panel {
  padding-inline: calc(var(--spacing) * 4);
  padding-top: 0px !important;
}
.accordion {
  margin-bottom: calc(var(--spacing) * 6);
  overflow: hidden;
  border-radius: var(--radius-lg);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-border);
  background-color: var(--color-light);
}
.accordion-header {
  color: var(--color-text-dark);
}
.cookie-box {
  border-radius: var(--radius-lg) !important;
}
.gallery-slider {
  margin-left: 0px !important;
}
.product-card-link {
  text-decoration: none;
  display: block;
  margin-bottom: 12px;
}
.product-card {
  border: 1.5px solid #e4e4e9;
  border-radius: 10px;
  padding: 16px 20px;
  font-size: 1.1em;
  color: #0f0f14;
  background: #fff;
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
  cursor: pointer;
}
.product-card:hover {
  border-color: #EC008C;
  box-shadow: 0 4px 18px rgba(236, 0, 140, 0.15);
  transform: translateY(-2px);
}
.product-card-title {
  color: #EC008C;
  font-weight: 700;
  margin-right: 4px;
}
:root {
  --canvas: #f5f6fa;
  --surface: #ffffff;
  --surface-2: #fbfbfe;
  --surface-tint: #f0f2f8;
  --line: rgba(14, 18, 32, 0.09);
  --line-2: rgba(14, 18, 32, 0.14);
  --line-strong: rgba(14, 18, 32, 0.22);
  --ink-100: #0e1220;
  --ink-200: #3a4157;
  --ink-300: #6b7284;
  --ink-400: #9aa1b2;
  --pink: #ec008c;
  --pink-bright: #ff2ea3;
  --pink-soft: #ff5cba;
  --pink-deep: #b4006c;
  --blue: #0059de;
  --blue-bright: #2f7bff;
  --glass: rgba(255, 255, 255, 0.72);
  --glass-2: rgba(255, 255, 255, 0.9);
  --glass-brd: rgba(14, 18, 32, 0.08);
  --shadow-sm: 0 2px 10px rgba(16, 20, 40, 0.05);
  --shadow-lift: 0 30px 70px -30px rgba(16, 20, 40, 0.22),
    0 6px 18px rgba(16, 20, 40, 0.05);
  --glow-pink: 0 24px 60px -22px rgba(236, 0, 140, 0.34);
  --font-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out-soft: cubic-bezier(0.65, 0, 0.35, 1);
}
body:has(.re-v2-root) {
  background-color: var(--canvas);
  color: var(--ink-200);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body:has(.re-v2-root)::before {
  content: "";
  position: fixed;
  inset: -20vmax;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(42vmax 42vmax at 10% -8%, rgba(236, 0, 140, 0.1), transparent 60%), radial-gradient(46vmax 46vmax at 98% 4%, rgba(0, 89, 222, 0.08), transparent 62%), radial-gradient(52vmax 52vmax at 82% 110%, rgba(236, 0, 140, 0.06), transparent 60%);
  animation: v2-drift 28s var(--ease-in-out-soft) infinite alternate;
}
body:has(.re-v2-root)::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.035;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@keyframes v2-drift {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  100% {
    transform: translate3d(-3%, 2%, 0) scale(1.08);
  }
}
body:has(.re-v2-root) main, body:has(.re-v2-root) .header, body:has(.re-v2-root) footer {
  position: relative;
  z-index: 2;
}
.v2-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  backdrop-filter: blur(14px) saturate(1.15);
  border-bottom: 1px solid var(--line);
  transition: background 0.35s var(--ease-out-expo), border-color 0.35s ease, box-shadow 0.45s var(--ease-out-expo);
  transform: translateZ(0);
  backface-visibility: hidden;
}
.v2-header.is-scrolled {
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 10px 34px -18px rgba(18, 20, 45, 0.22);
}
.v2-header__inner {
  width: 100%;
  max-width: 1400px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 4vw, 3rem);
  height: 4.75rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  transition: height 0.35s var(--ease-out-expo);
}
.v2-header.is-scrolled .v2-header__inner {
  height: 4rem;
}
.v2-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
.v2-brand__word {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
  line-height: 1;
  gap: 0.2em;
  transform: scale(1);
  transform-origin: left center;
  transition: transform 0.35s var(--ease-out-expo);
}
.v2-brand__word-top {
  font-family: var(--font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.76rem;
  color: var(--ink-300);
  white-space: nowrap;
}
.v2-brand__word-bottom {
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-size: 1.12rem;
  color: var(--pink);
  white-space: nowrap;
}
.v2-brand__word::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 38%, rgba(255, 255, 255, 0.9) 50%, transparent 62%);
  mix-blend-mode: overlay;
  transform: translateX(-140%);
  opacity: 0;
}
.v2-brand__mark {
  display: inline-flex;
  position: relative;
}
.v2-brand__mark img {
  height: 2.6rem;
  width: auto;
  display: block;
  position: relative;
  z-index: 1;
  transition: height 0.35s var(--ease-out-expo), transform 0.5s var(--ease-out-expo);
}
.v2-brand__mark::before {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  left: 50%;
  top: 34%;
  width: 150%;
  aspect-ratio: 1;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0.3);
  opacity: 0;
  background: radial-gradient(circle, rgba(236, 0, 140, 0.55), transparent 62%);
}
.v2-header.is-scrolled .v2-brand__word {
  transform: scale(0.9);
}
.v2-header.is-scrolled .v2-brand__mark img {
  height: 2.35rem;
}
.v2-brand:hover .v2-brand__mark img {
  transform: scale(1.06) rotate(-2deg);
}
.v2-nav {
  flex: 1;
  display: flex;
  justify-content: center;
}
.v2-nav__list {
  display: flex;
  align-items: center;
  gap: clamp(0.1rem, 1vw, 0.75rem);
  list-style: none;
  margin: 0;
  padding: 0;
}
.v2-nav__item {
  position: relative;
}
.v2-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.55rem 0.8rem;
  font-family: var(--font-secondary);
  font-weight: 500;
  font-size: 0.925rem;
  color: var(--ink-200);
  border-radius: 9px;
  white-space: nowrap;
  transition: color 0.25s var(--ease-out-expo);
}
.v2-nav__link::after {
  content: "";
  position: absolute;
  left: 0.8rem;
  right: 0.8rem;
  bottom: 0.28rem;
  height: 2px;
  border-radius: 2px;
  background: var(--pink);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s var(--ease-out-expo);
}
.v2-nav__link:hover {
  color: var(--pink);
}
.v2-nav__item.is-active > .v2-nav__link {
  color: var(--ink-100);
}
.v2-nav__link:hover::after, .v2-nav__item.is-active > .v2-nav__link::after {
  transform: scaleX(1);
}
.v2-nav__caret {
  transition: transform 0.3s var(--ease-out-expo);
  opacity: 0.65;
}
.has-dropdown:hover .v2-nav__caret, .has-dropdown:focus-within .v2-nav__caret {
  transform: rotate(180deg);
}
.v2-nav__panel {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 15rem;
  margin-top: 0.5rem;
  padding: 0.5rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow-lift);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s var(--ease-out-expo), transform 0.3s var(--ease-out-expo), visibility 0.3s;
}
.v2-nav__panel::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -0.75rem;
  height: 0.75rem;
}
.v2-nav__panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.has-dropdown:hover .v2-nav__panel, .has-dropdown:focus-within .v2-nav__panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.v2-nav__sublink {
  display: block;
  padding: 0.6rem 0.85rem;
  border-radius: 10px;
  font-family: var(--font-secondary);
  font-size: 0.9rem;
  color: var(--ink-200);
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease;
}
.v2-nav__sublink:hover {
  background: var(--surface-tint);
  color: var(--pink);
}
.v2-header__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
  margin-left: auto;
}
.v2-header__cta {
  padding: 0.62rem 1.15rem;
  font-size: 0.9rem;
}
.v2-header__cta svg {
  width: 15px;
  height: 15px;
}
.v2-burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0 0.65rem;
  border: 1px solid var(--line-2);
  border-radius: 12px;
  background: var(--surface);
  cursor: pointer;
}
.v2-burger span {
  display: block;
  height: 2px;
  width: 100%;
  border-radius: 2px;
  background: var(--ink-100);
  transition: transform 0.3s var(--ease-out-expo), opacity 0.2s ease;
}
.v2-header.nav-open .v2-burger span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.v2-header.nav-open .v2-burger span:nth-child(2) {
  opacity: 0;
}
.v2-header.nav-open .v2-burger span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
.v2-mobile {
  position: fixed;
  inset: 0;
  z-index: 60;
}
.v2-mobile[hidden] {
  display: none;
}
.v2-mobile__overlay {
  position: absolute;
  inset: 0;
  background: rgba(14, 18, 32, 0.5);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.v2-mobile.is-open .v2-mobile__overlay {
  opacity: 1;
}
.v2-mobile__panel {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: min(86vw, 22rem);
  overflow-y: auto;
  background: var(--surface);
  border-left: 1px solid var(--line);
  padding: 5rem clamp(1.25rem, 5vw, 2rem) 2rem;
  transform: translateX(100%);
  transition: transform 0.35s var(--ease-out-expo);
  box-shadow: -20px 0 60px -30px rgba(18, 20, 45, 0.4);
}
.v2-mobile.is-open .v2-mobile__panel {
  transform: none;
}
.v2-mobile__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.v2-mobile__item {
  border-bottom: 1px solid var(--line);
}
.v2-mobile__link, .v2-mobile__group > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 0.25rem;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.15rem;
  color: var(--ink-100);
  cursor: pointer;
  list-style: none;
}
.v2-mobile__group > summary::-webkit-details-marker {
  display: none;
}
.v2-mobile__group > summary svg {
  flex-shrink: 0;
  transition: transform 0.3s var(--ease-out-expo);
  color: var(--ink-300);
}
.v2-mobile__group[open] > summary svg {
  transform: rotate(180deg);
}
.v2-mobile__group > ul {
  list-style: none;
  margin: 0 0 0.75rem;
  padding: 0 0 0 0.5rem;
}
.v2-mobile__group > ul a {
  display: block;
  padding: 0.5rem 0.25rem;
  font-family: var(--font-secondary);
  font-size: 0.95rem;
  color: var(--ink-200);
  transition: color 0.2s ease;
}
.v2-mobile__group > ul a:hover, .v2-mobile__link:hover {
  color: var(--pink);
}
.v2-mobile__cta {
  width: 100%;
  justify-content: center;
  margin-top: 1.5rem;
}
@media (max-width: 1120px) {
  .v2-nav {
    display: none;
  }
  .v2-header .v2-header__cta {
    display: none;
  }
  .v2-burger {
    display: flex;
  }
}
@media (min-width: 1121px) {
  .v2-mobile {
    display: none !important;
  }
}
.v2-header--intro .v2-brand__word {
  animation: rx-word 1.1s var(--ease-out-expo) 0.3s both;
}
.v2-header--intro .v2-brand__word::after {
  animation: rx-sheen 1s ease-in-out 2.15s both;
}
.v2-header--intro .v2-brand__mark::before {
  animation: rx-flash 1.3s ease-out 2.35s both;
}
.v2-header--intro .v2-nav__item {
  animation: v2-navitem-in 0.55s var(--ease-out-expo) both;
}
.v2-header--intro .v2-nav__item:nth-child(1) {
  animation-delay: 0.5s;
}
.v2-header--intro .v2-nav__item:nth-child(2) {
  animation-delay: 0.57s;
}
.v2-header--intro .v2-nav__item:nth-child(3) {
  animation-delay: 0.64s;
}
.v2-header--intro .v2-nav__item:nth-child(4) {
  animation-delay: 0.71s;
}
.v2-header--intro .v2-nav__item:nth-child(5) {
  animation-delay: 0.78s;
}
.v2-header--intro .v2-nav__item:nth-child(6) {
  animation-delay: 0.85s;
}
.v2-header--intro .v2-nav__item:nth-child(7) {
  animation-delay: 0.92s;
}
.v2-header--intro .v2-header__cta {
  animation: v2-navitem-in 0.55s var(--ease-out-expo) 1.05s both;
}
@keyframes rx-word {
  0% {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
  }
  100% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}
@keyframes rx-sheen {
  0% {
    transform: translateX(-140%);
    opacity: 0;
  }
  12% {
    opacity: 1;
  }
  88% {
    opacity: 1;
  }
  100% {
    transform: translateX(140%);
    opacity: 0;
  }
}
@keyframes rx-flash {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.3);
  }
  30% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.35);
  }
}
@keyframes v2-navitem-in {
  0% {
    opacity: 0;
    transform: translateY(-8px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .v2-header--intro .v2-brand__word, .v2-header--intro .v2-brand__word::after, .v2-header--intro .v2-brand__mark::before, .v2-header--intro .v2-nav__item, .v2-header--intro .v2-header__cta {
    animation: none;
  }
  .v2-brand:hover .v2-brand__mark img, .v2-nav__link, .v2-mobile__panel {
    transition: none;
  }
}
.v2-footer {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-tint) 100%);
  border-top: 1px solid var(--line);
  color: var(--ink-300);
  font-family: var(--font-secondary);
  padding-block: clamp(2.75rem, 4.5vw, 4rem) clamp(1.75rem, 3vw, 2.5rem);
}
.v2-footer > .v2-wrap {
  position: relative;
  z-index: 1;
}
.v2-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--pink) 24%, var(--blue) 76%, transparent);
  opacity: 0.5;
}
.v2-footer__field {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 80%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 80%, transparent 100%);
}
.v2-footer__field canvas {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.v2-footer__nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.5rem, 2.5vw, 2.5rem);
}
.v2-footer__heading {
  margin: 0 0 1.1rem;
  font-family: var(--font-secondary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-100);
}
.v2-footer__nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.v2-footer__nav li {
  margin-bottom: 0.7rem;
}
.v2-footer__nav a, .v2-footer__linkbtn {
  display: inline-block;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 0.925rem;
  color: var(--ink-300);
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
  transition: color 0.2s ease, transform 0.2s var(--ease-out-expo);
}
.v2-footer__nav a:hover, .v2-footer__linkbtn:hover {
  color: var(--pink);
  transform: translateX(3px);
}
.v2-footer__offices {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
  margin-top: clamp(2.5rem, 4vw, 3.5rem);
  padding-top: clamp(2rem, 3vw, 2.5rem);
  border-top: 1px solid var(--line);
}
.v2-footer__office {
  display: flex;
  gap: 0.85rem;
}
.v2-footer__pin {
  flex: none;
  align-self: flex-start;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.7rem;
  background: rgba(236, 0, 140, 0.08);
  color: var(--pink);
}
.v2-footer__pin svg {
  display: block;
  width: 18px;
  height: 18px;
  stroke: var(--pink);
}
.v2-footer__office b {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--ink-100);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.v2-footer__office div span {
  display: block;
  white-space: pre-line;
  color: var(--ink-300);
  font-size: 0.875rem;
  line-height: 1.6;
}
.v2-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-top: clamp(2.5rem, 4vw, 3.5rem);
  padding-top: clamp(1.5rem, 2.5vw, 2rem);
  border-top: 1px solid var(--line);
}
.v2-footer__bottom-brand {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.85rem 1.25rem;
}
.v2-footer__logo {
  display: inline-flex;
}
.v2-footer__logo img {
  height: 26px;
  width: auto;
}
.v2-footer__bottom-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.85rem 1.4rem;
}
.v2-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.v2-footer__social a {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: var(--surface);
  border: 1px solid var(--line-2);
  color: var(--ink-200);
  font-size: 0.98rem;
  transition: transform 0.25s var(--ease-out-expo), background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.v2-footer__social a:hover {
  background: linear-gradient(120deg, var(--pink), var(--pink-deep));
  border-color: transparent;
  color: #fff;
  transform: translateY(-3px);
  box-shadow: var(--glow-pink);
}
.v2-footer__copy {
  color: var(--ink-400);
  font-size: 0.85rem;
}
.v2-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.v2-footer__legal a {
  color: var(--ink-300);
  font-size: 0.85rem;
  transition: color 0.2s ease;
}
.v2-footer__legal a:hover {
  color: var(--pink);
}
.v2-footer__totop {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: 0;
  background: none;
  color: var(--ink-300);
  font: inherit;
  font-size: 0.85rem;
  cursor: pointer;
  transition: color 0.2s ease;
}
.v2-footer__totop:hover {
  color: var(--pink);
}
.v2-footer__totop svg {
  transition: transform 0.25s var(--ease-out-expo);
}
.v2-footer__totop:hover svg {
  transform: translateY(-2px);
}
@media (max-width: 860px) {
  .v2-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem 1.5rem;
  }
}
@media (max-width: 680px) {
  .v2-footer__bottom {
    justify-content: flex-start;
  }
}
@media (max-width: 560px) {
  .v2-footer__offices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
  .v2-footer__office {
    position: relative;
  }
  .v2-footer__office > div {
    width: 100%;
  }
  .v2-footer__pin {
    position: absolute;
    top: 0;
    left: 0;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 0.5rem;
  }
  .v2-footer__pin svg {
    width: 14px;
    height: 14px;
  }
  .v2-footer__office b {
    padding-left: 1.9rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .v2-footer__social a:hover, .v2-footer__nav a:hover, .v2-footer__linkbtn:hover {
    transform: none;
  }
  .v2-footer__totop:hover svg {
    transform: none;
  }
}
.re-v2-root {
  position: relative;
}
.v2-section {
  position: relative;
  padding-block: clamp(3.5rem, 6vw, 6rem);
}
.v2-wrap {
  width: 100%;
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 4vw, 3rem);
}
.v2-wrap--wide {
  max-width: 1400px;
}
.v2-wrap--narrow {
  max-width: 940px;
}
.v2-rule {
  height: 1px;
  border: 0;
  background: linear-gradient(90deg, transparent, var(--line-2) 18%, var(--line-2) 82%, transparent);
  margin: 0;
}
.v2-rule + .v2-wrap {
  padding-top: clamp(0.65rem, 1vw, 0.9rem);
}
.re-v2-root .font-display, .re-v2-root .v2-display {
  font-family: var(--font-display);
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: var(--ink-100);
}
.re-v2-root .v2-display em {
  font-style: italic;
  font-weight: 500;
}
.v2-display--xl {
  font-size: clamp(2.5rem, 5vw, 4.3rem);
}
.v2-display--lg {
  font-size: clamp(2.3rem, 4.6vw, 3.9rem);
}
.v2-display--md {
  font-size: clamp(1.9rem, 3.2vw, 2.7rem);
}
.re-v2-root .v2-lede {
  font-family: var(--font-secondary);
  font-weight: 400;
  color: var(--ink-200);
  font-size: clamp(1.05rem, 1.5vw, 1.3rem);
  line-height: 1.6;
  letter-spacing: 0.006em;
}
.v2-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-secondary);
  text-transform: uppercase;
  letter-spacing: 0.24em;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--pink);
}
.v2-kicker::before {
  content: "";
  width: 1.6rem;
  height: 1px;
  background: linear-gradient(90deg, var(--pink), transparent);
}
.v2-signal-text {
  background: linear-gradient(100deg, var(--pink-bright) 10%, var(--pink) 50%, var(--pink-deep));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.v2-reagent {
  position: relative;
}
.v2-reagent::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%);
  width: min(92%, 33rem);
  height: 13rem;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(236, 0, 140, 0.1), rgba(0, 89, 222, 0.03) 46%, transparent 72%);
  filter: blur(20px);
  pointer-events: none;
}
.v2-reagent__sig {
  position: relative;
  background-image: linear-gradient(100deg, rgba(255, 46, 163, 0.6) 10%, rgba(236, 0, 140, 0.6) 50%, rgba(180, 0, 108, 0.6));
}
.v2-reagent__sig::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 54%;
  transform: translate(-50%, -50%);
  width: 0.62em;
  height: 0.62em;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(236, 0, 140, 0.55), transparent 66%);
  opacity: 0.5;
  pointer-events: none;
  animation: reagent-glow 2.6s ease-in-out infinite;
}
.v2-reagent__sig::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 54%;
  transform: translate(-50%, -50%);
  width: 0.4em;
  height: 0.4em;
  border-radius: 50%;
  border: 1.5px solid rgba(236, 0, 140, 0.32);
  opacity: 0;
  pointer-events: none;
  animation: reagent-ping 2.6s cubic-bezier(0, 0.2, 0.5, 1) infinite;
}
@keyframes reagent-glow {
  0%, 100% {
    opacity: 0.22;
    transform: translate(-50%, -50%) scale(0.85);
  }
  50% {
    opacity: 0.5;
    transform: translate(-50%, -50%) scale(1.06);
  }
}
@keyframes reagent-ping {
  0% {
    opacity: 0.65;
    transform: translate(-50%, -50%) scale(0.5);
  }
  70% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(2.6);
  }
}
@media (prefers-reduced-motion: reduce) {
  .v2-reagent__sig::before {
    animation: none;
    opacity: 0.4;
  }
  .v2-reagent__sig::after {
    animation: none;
  }
}
.re-v2-root h1, .re-v2-root h2, .re-v2-root h3, .re-v2-root h4 {
  color: var(--ink-100);
}
.re-v2-root p {
  color: var(--ink-200);
}
.v2-card {
  position: relative;
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-lift);
  overflow: hidden;
  transition: transform 0.5s var(--ease-out-expo), border-color 0.4s ease, box-shadow 0.5s var(--ease-out-expo);
}
.v2-card:hover {
  transform: translateY(-6px);
  border-color: rgba(236, 0, 140, 0.35);
  box-shadow: var(--shadow-lift), 0 16px 42px -24px rgba(236, 0, 140, 0.2);
}
.v2-card--flat {
  box-shadow: var(--shadow-sm);
  background: var(--surface);
}
.v2-card--flat:hover {
  box-shadow: var(--shadow-sm), 0 0 0 1px rgba(236, 0, 140, 0.3);
}
.wim-stat-grid {
  display: grid;
  gap: 2rem;
  align-items: center;
  grid-template-columns: minmax(0, auto) 1fr;
}
@media (max-width: 640px) {
  .wim-stat-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.v2-card--interactive {
  transition: transform 0.18s var(--ease-out-expo), border-color 0.4s ease, box-shadow 0.5s var(--ease-out-expo);
}
.re-v2-root.reveal-ready .v2-card--interactive.is-in {
  transition: transform 0.18s var(--ease-out-expo), border-color 0.4s ease, box-shadow 0.5s var(--ease-out-expo);
}
.v2-card--interactive::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  opacity: 0;
  transition: opacity 0.45s var(--ease-out-expo);
  background: radial-gradient( 9rem 9rem at var(--mx, 50%) var(--my, 50%), rgba(236, 0, 140, 0.07), rgba(236, 0, 140, 0.02) 38%, transparent 64% );
}
.v2-card--interactive:hover::after {
  opacity: 1;
}
.v2-card--interactive > * {
  position: relative;
  z-index: 1;
}
.v2-card--interactive .v2-chip {
  transition: transform 0.4s var(--ease-out-expo), color 0.3s ease, box-shadow 0.4s var(--ease-out-expo);
}
.v2-card--interactive:hover .v2-chip {
  transform: scale(1.08) rotate(-3deg);
  box-shadow: var(--glow-pink);
}
.v2-surface {
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 14px;
}
.v2-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 14px;
  background: radial-gradient(120% 120% at 30% 20%, rgba(236, 0, 140, 0.14), transparent 62%), var(--surface-tint);
  border: 1px solid var(--line-2);
  color: var(--pink);
  font-size: 1.3rem;
}
.v2-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-secondary);
  font-weight: 500;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
  padding: 0.95rem 1.6rem;
  border-radius: 999px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.35s var(--ease-out-expo);
  will-change: transform;
}
.v2-btn svg {
  transition: transform 0.35s var(--ease-out-expo);
}
.v2-btn:hover svg {
  transform: translateX(4px);
}
.v2-btn--primary {
  position: relative;
  background: linear-gradient(120deg, var(--pink-bright), var(--pink));
  color: #fff;
  box-shadow: var(--glow-pink);
}
.v2-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 60px -18px rgba(236, 0, 140, 0.55);
}
@property --btn-flow {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
.v2-btn--primary.is-flowing::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 2px;
  background: conic-gradient( from var(--btn-flow), transparent 0deg 205deg, rgba(255, 210, 236, 0.45) 288deg, #ffcfec 332deg, #fff4fb 353deg, transparent 360deg );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: btn-flow-sweep 2.8s linear 0.2s both;
  pointer-events: none;
}
@keyframes btn-flow-sweep {
  0% {
    --btn-flow: -35deg;
    opacity: 0;
  }
  8% {
    opacity: 1;
  }
  92% {
    opacity: 1;
  }
  100% {
    --btn-flow: 395deg;
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .v2-btn--primary.is-flowing::after {
    display: none;
  }
}
.v2-btn--ghost {
  background: var(--surface);
  border-color: var(--line-2);
  color: var(--ink-100);
}
.v2-btn--ghost:hover {
  border-color: var(--pink);
  color: var(--pink);
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}
.v2-hero {
  position: relative;
  min-height: min(85svh, 700px);
  display: flex;
  align-items: flex-start;
  padding-top: clamp(4.5rem, 6.5vw, 6rem);
  padding-bottom: clamp(2.75rem, 4.5vw, 4rem);
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.v2-hero > .v2-wrap {
  width: 100%;
}
.v2-hero--compact {
  min-height: 0;
  padding-bottom: 100px;
}
.v2-hero__canvas--mobile-only {
  display: none;
}
@media (max-width: 900px) {
  .v2-hero__canvas--desktop-only {
    display: none;
  }
  .v2-hero__canvas--mobile-only {
    display: block;
  }
}
@media (max-width: 640px) {
  .v2-hero {
    min-height: 0;
    padding-bottom: 48px;
  }
  .v2-section--after-hero {
    padding-top: 48px !important;
  }
}
.v2-headline__lead, .v2-headline__tail {
  display: block;
}
.v2-rotator {
  display: inline-grid;
  vertical-align: top;
}
.v2-rotator__item {
  grid-area: 1 / 1;
  white-space: nowrap;
  font-style: italic;
  font-weight: 420;
  opacity: 0;
  transform: translateY(0.3em);
  filter: blur(5px);
  transition: opacity 0.7s var(--ease-out-expo), transform 0.7s var(--ease-out-expo), filter 0.7s var(--ease-out-expo);
  will-change: opacity, transform;
}
.v2-rotator__item.is-active {
  opacity: 1;
  transform: none;
  filter: none;
}
@media (prefers-reduced-motion: reduce) {
  .v2-rotator__item {
    transition: none;
    transform: none;
    filter: none;
  }
}
.v2-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 2rem;
  align-items: center;
  width: 100%;
}
@media (max-width: 991px) {
  .v2-hero__grid {
    grid-template-columns: 1fr;
  }
}
.v2-hero__visual {
  display: grid;
  place-items: center;
}
@media (max-width: 991px) {
  .v2-hero__visual {
    margin-top: 2.5rem;
  }
}
.v2-triad {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1.4rem;
  font-family: var(--font-secondary);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.82rem;
  color: var(--ink-200);
}
.v2-triad span {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
}
.v2-triad span::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--pink);
  box-shadow: 0 0 8px 1px rgba(236, 0, 140, 0.5);
}
.re-v2-root.reveal-ready [data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  filter: blur(6px);
  transition: opacity 0.9s var(--ease-out-expo), transform 0.9s var(--ease-out-expo), filter 0.9s var(--ease-out-expo);
  transition-delay: var(--reveal-delay, 0ms);
}
.re-v2-root.reveal-ready [data-reveal].is-in {
  opacity: 1;
  transform: none;
  filter: none;
}
@media (prefers-reduced-motion: reduce) {
  body:has(.re-v2-root)::before {
    animation: none !important;
  }
  .re-v2-root [data-reveal] {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}
.v2-hero__canvas {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.v2-hero__canvas canvas {
  width: 100%;
  height: 100%;
  display: block;
}
.v2-hero__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient( 90deg, #f5f6fa 0%, rgba(245, 246, 250, 0.94) 24%, rgba(245, 246, 250, 0.4) 54%, rgba(245, 246, 250, 0) 72% ), linear-gradient(0deg, #f5f6fa, rgba(245, 246, 250, 0) 28%);
}
.v2-hero__content {
  max-width: 40rem;
}
@media (max-width: 991px) {
  .v2-hero__scrim {
    background: linear-gradient( 0deg, #f5f6fa 3%, rgba(245, 246, 250, 0.78) 42%, rgba(245, 246, 250, 0.5) );
  }
  .v2-hero__content {
    max-width: 100%;
  }
}
.v2-diagram {
  position: relative;
  margin-top: clamp(2.5rem, 5vw, 3.75rem);
}
.v2-diagram__wires {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.v2-diagram__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1.55fr 1fr;
  gap: clamp(1.25rem, 3.5vw, 3.25rem);
  align-items: center;
}
.v2-diagram__col {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.v2-diagram__coltitle {
  font-family: var(--font-secondary);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.68rem;
  font-weight: 700;
  margin-bottom: 0.3rem;
}
.v2-diagram__col--in .v2-diagram__coltitle {
  color: var(--pink);
}
.v2-diagram__col--out {
  text-align: right;
}
.v2-diagram__col--out .v2-diagram__coltitle {
  color: var(--blue);
}
.v2-diagram__node {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 0.72rem 0.95rem;
  box-shadow: var(--shadow-sm);
  transition: border-color 0.35s var(--ease-out-expo), box-shadow 0.35s var(--ease-out-expo), transform 0.35s var(--ease-out-expo), opacity 0.35s ease;
}
.v2-diagram__node b {
  display: block;
  font-family: var(--font-secondary);
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--ink-100);
}
.v2-diagram__node span {
  font-size: 0.74rem;
  color: var(--ink-400);
}
.v2-diagram__platform {
  position: relative;
  border: 1px solid var(--line-2);
  border-radius: 18px;
  background: linear-gradient(180deg, var(--surface), var(--surface-2));
  box-shadow: var(--shadow-lift);
  padding: clamp(0.9rem, 1.8vw, 1.35rem);
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.v2-diagram__platform::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  z-index: -1;
  background: radial-gradient(62% 78% at 50% 50%, rgba(236, 0, 140, 0.16), transparent 72%);
}
.v2-diagram__ptitle {
  text-align: center;
  font-family: var(--font-secondary);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--pink);
  margin-bottom: 0.15rem;
}
.v2-diagram__module {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  padding: 0.72rem 0.9rem;
  transition: border-color 0.35s var(--ease-out-expo), box-shadow 0.35s var(--ease-out-expo), transform 0.35s var(--ease-out-expo), opacity 0.35s ease;
}
.v2-diagram__module h4 {
  font-family: var(--font-secondary);
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--ink-100);
  margin: 0;
}
.v2-diagram__module h4 em {
  font-style: normal;
  color: var(--pink);
  font-weight: 600;
}
.v2-diagram__module ul {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.12rem 0.7rem;
}
.v2-diagram__module li {
  font-size: 0.73rem;
  color: var(--ink-300);
  position: relative;
  padding-left: 0.72rem;
}
.v2-diagram__module li::before {
  content: "›";
  position: absolute;
  left: 0;
  color: var(--pink);
}
.v2-diagram.is-focusing .v2-diagram__node:not(.is-lit), .v2-diagram.is-focusing .v2-diagram__module:not(.is-lit) {
  opacity: 0.4;
}
.v2-diagram .v2-diagram__node.is-lit {
  border-color: var(--pink);
  box-shadow: var(--shadow-sm), var(--glow-pink);
  transform: translateY(-2px);
}
.v2-diagram .v2-diagram__module.is-lit {
  border-color: var(--pink);
  box-shadow: var(--glow-pink);
  transform: translateY(-2px);
}
@media (max-width: 900px) {
  #platform {
    display: none;
  }
}
.v2-diagram-hint--flow {
  display: none;
}
@media (max-width: 900px), (hover: none) {
  .v2-diagram-hint--hover {
    display: none;
  }
  .v2-diagram-hint--flow {
    display: inline;
  }
}
.v2-deepdive {
  scroll-margin-top: 6rem;
}
.v2-deepdive .v2-wrap {
  padding-top: clamp(2.25rem, 4vw, 3.5rem);
}
.v2-deepdive__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.6fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.v2-deepdive__num {
  display: inline-flex;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}
.v2-deepdive__rail {
  position: sticky;
  top: 6rem;
}
.v2-deepdive__title {
  margin: 0;
}
.v2-deepdive__caps {
  list-style: none;
  margin: clamp(1.25rem, 2vw, 1.75rem) 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.v2-deepdive__caps li {
  font-family: var(--font-secondary);
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--ink-200);
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  background: var(--surface);
}
.v2-deepdive__lead {
  font-family: var(--font-secondary);
  font-weight: 500;
  font-size: clamp(1.15rem, 1.7vw, 1.4rem);
  line-height: 1.5;
  color: var(--ink-100);
  margin: 0 0 1.6rem;
}
@media (max-width: 900px) {
  .v2-deepdive__grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .v2-deepdive__rail {
    position: static;
  }
}
.v2-prose {
  color: var(--ink-200);
  font-family: var(--font-secondary);
  font-size: clamp(1rem, 1.15vw, 1.12rem);
  line-height: 1.75;
}
.v2-prose p {
  margin: 0 0 1.15rem;
}
.v2-prose p:last-child {
  margin-bottom: 0;
}
.v2-prose strong {
  color: var(--ink-100);
  font-weight: 600;
}
.v2-prose span {
  display: block;
  margin: 2.4rem 0 0.5rem;
  font-family: var(--font-display);
  font-style: normal;
  font-weight: 500;
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--ink-100);
}
.re-v2-root.reveal-ready [data-dd] {
  opacity: 0;
  transform: translateY(30px);
  filter: blur(5px);
  transition: opacity 0.75s var(--ease-out-expo), transform 0.75s var(--ease-out-expo), filter 0.75s ease;
}
.re-v2-root.reveal-ready [data-dd].is-in {
  opacity: 1;
  transform: none;
  filter: none;
}
@media (prefers-reduced-motion: reduce) {
  .re-v2-root [data-dd] {
    opacity: 1;
    transform: none;
    filter: none;
  }
}
.v2-story {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.v2-story__img {
  width: 100%;
  border-radius: 20px;
  box-shadow: var(--shadow-lift);
  display: block;
}
@media (max-width: 860px) {
  .v2-story {
    grid-template-columns: 1fr;
  }
}
.v2-team {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 2.5vw, 1.75rem);
}
.v2-team-member {
  display: grid;
  grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 2.75rem);
  align-items: start;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: clamp(1.5rem, 2.5vw, 2.25rem);
  box-shadow: var(--shadow-sm);
  transition: border-color 0.4s var(--ease-out-expo), box-shadow 0.5s var(--ease-out-expo);
}
.v2-team-member:hover {
  border-color: rgba(236, 0, 140, 0.28);
  box-shadow: var(--shadow-lift);
}
.v2-team-member__img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 14px;
  display: block;
}
.v2-team-member__name {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.15;
  color: var(--ink-100);
  margin-top: 1rem;
  display: flex;
  align-items: center;
  gap: 0.55rem;
}
.v2-team-member__ln {
  color: var(--ink-400);
  display: inline-flex;
  transition: color 0.25s ease;
}
.v2-team-member__ln:hover {
  color: var(--pink);
}
.v2-team-member__role {
  font-family: var(--font-secondary);
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--pink);
  margin-top: 0.35rem;
}
.v2-team-member__bio {
  font-size: clamp(0.95rem, 1.05vw, 1.02rem);
}
@media (max-width: 720px) {
  .v2-team-member {
    grid-template-columns: 1fr;
  }
  .v2-team-member__img {
    max-width: 200px;
  }
}
.v2-jobs {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}
.v2-job {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: clamp(1rem, 3vw, 2.5rem);
  padding: clamp(1.25rem, 2.2vw, 1.6rem) clamp(1.4rem, 2.5vw, 2rem);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow-sm);
  text-decoration: none;
  transition: border-color 0.35s var(--ease-out-expo), box-shadow 0.45s var(--ease-out-expo), transform 0.35s var(--ease-out-expo);
}
.v2-job:hover {
  border-color: var(--pink);
  box-shadow: var(--shadow-lift);
  transform: translateY(-2px);
}
.v2-job__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  color: var(--ink-100);
  line-height: 1.15;
}
.v2-job__desc {
  color: var(--ink-300);
  margin-top: 0.4rem;
  font-size: 0.94rem;
  line-height: 1.55;
  max-width: 46ch;
}
.v2-job__meta {
  display: flex;
  gap: 0.5rem;
}
.v2-job__chip {
  font-family: var(--font-secondary);
  font-size: 0.76rem;
  font-weight: 500;
  color: var(--ink-200);
  padding: 0.35rem 0.8rem;
  border: 1px solid var(--line-2);
  border-radius: 999px;
  white-space: nowrap;
}
.v2-job__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-secondary);
  font-weight: 500;
  color: var(--pink);
  white-space: nowrap;
}
.v2-job__cta svg {
  transition: transform 0.35s var(--ease-out-expo);
}
.v2-job:hover .v2-job__cta svg {
  transform: translateX(4px);
}
@media (max-width: 780px) {
  .v2-job {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 1rem;
  }
  .v2-job__meta {
    flex-wrap: wrap;
  }
}
.v2-chip__icon {
  width: 1.5rem;
  height: 1.5rem;
}
.v2-jobpage {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 0.85fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}
.v2-jobdetail {
  position: sticky;
  top: 6rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: clamp(1.5rem, 2.5vw, 2rem);
  box-shadow: var(--shadow-lift);
}
.v2-jobdetail__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.4rem;
  color: var(--ink-100);
  margin-bottom: 1rem;
}
.v2-jobdetail__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.v2-jobdetail__list li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.7rem 0;
  border-top: 1px solid var(--line);
  font-family: var(--font-secondary);
  font-size: 0.9rem;
}
.v2-jobdetail__list li span {
  color: var(--ink-300);
}
.v2-jobdetail__list li b {
  color: var(--ink-100);
  font-weight: 600;
  text-align: right;
}
@media (max-width: 860px) {
  .v2-jobpage {
    grid-template-columns: 1fr;
  }
  .v2-jobdetail {
    position: static;
  }
}
.v2-article {
  color: var(--ink-200);
  font-family: var(--font-secondary);
  font-size: 1.02rem;
  line-height: 1.75;
}
.v2-article > h1:first-child {
  display: none;
}
.v2-article h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  color: var(--ink-100);
  margin: 2.5rem 0 1rem;
  letter-spacing: -0.015em;
  line-height: 1.15;
}
.v2-article h3 {
  font-family: var(--font-secondary);
  font-weight: 600;
  font-size: 1.2rem;
  color: var(--ink-100);
  margin: 1.75rem 0 0.6rem;
}
.v2-article p {
  margin: 0 0 1.1rem;
}
.v2-article ul, .v2-article ol {
  margin: 0 0 1.25rem;
  padding-left: 1.3rem;
}
.v2-article ul {
  list-style: disc;
}
.v2-article ol {
  list-style: decimal;
}
.v2-article li {
  margin: 0 0 0.5rem;
}
.v2-article ul li::marker {
  color: var(--pink);
}
.v2-article strong {
  color: var(--ink-100);
  font-weight: 600;
}
.v2-article a {
  color: var(--pink);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.v2-article h4, .v2-article h5 {
  font-family: var(--font-secondary);
  font-weight: 700;
  font-size: 1.02rem;
  color: var(--ink-100);
  letter-spacing: 0.01em;
  margin: 1.6rem 0 0.5rem;
}
.v2-article pm, .v2-article sc {
  color: var(--pink);
  font-weight: 600;
  font-style: normal;
}
.v2-contact {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: stretch;
}
.v2-contact__block {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.v2-contact__block .v2-kicker {
  margin-bottom: 0.5rem;
}
.v2-contact__block a {
  color: var(--ink-100);
  font-family: var(--font-secondary);
  font-size: 1.05rem;
  width: fit-content;
  transition: color 0.25s ease;
}
.v2-contact__block a:hover {
  color: var(--pink);
}
.v2-social {
  display: flex;
  gap: 0.6rem;
}
.v2-social a {
  display: inline-grid;
  place-items: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 999px;
  background: var(--surface-tint);
  border: 1px solid var(--line-2);
  color: var(--ink-200);
  font-size: 1.1rem;
  transition: all 0.3s var(--ease-out-expo);
}
.v2-social a:hover {
  background: var(--pink);
  color: #fff;
  border-color: transparent;
  box-shadow: var(--glow-pink);
}
.v2-contact__form {
  padding: clamp(1.5rem, 3vw, 2.25rem);
}
.v2-contact__form-title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.5rem;
  color: var(--ink-100);
  margin-bottom: 1.25rem;
}
.v2-office__pin {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.45rem;
  color: var(--ink-100);
}
.v2-office__pin svg {
  color: var(--pink);
  flex-shrink: 0;
}
.v2-contact__tel {
  display: inline-block;
  color: var(--pink);
  font-family: var(--font-secondary);
  font-weight: 500;
}
@media (max-width: 820px) {
  .v2-contact {
    grid-template-columns: 1fr;
  }
}
.v2-contact-panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: linear-gradient(150deg, #ffdcef, #ffeaf4);
  color: var(--ink-200);
  border: 1px solid rgba(236, 0, 140, 0.16);
  border-radius: 22px;
  padding: clamp(1.9rem, 4vw, 3rem);
  box-shadow: var(--shadow-sm);
  position: relative;
  overflow: hidden;
}
.v2-contact-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(60% 60% at 90% 6%, rgba(236, 0, 140, 0.08), transparent 62%);
}
.v2-contact-panel > * {
  position: relative;
}
.v2-contact-panel .v2-kicker {
  color: var(--pink-deep);
}
.v2-contact-panel .v2-kicker::before {
  background: linear-gradient(90deg, var(--pink-deep), transparent);
}
.v2-contact-panel__block {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-top: 0.6rem;
}
.v2-contact-panel__block a {
  color: var(--ink-100);
  font-family: var(--font-secondary);
  width: fit-content;
  transition: color 0.2s ease;
}
.v2-contact-panel__block a:hover {
  color: var(--pink);
}
.v2-contact-panel__lead {
  font-size: clamp(1.15rem, 1.8vw, 1.4rem);
  font-weight: 500;
  color: var(--pink-deep) !important;
}
.v2-social--light a {
  background: rgba(236, 0, 140, 0.08);
  border-color: rgba(236, 0, 140, 0.22);
  color: var(--pink-deep);
}
.v2-social--light a:hover {
  background: var(--pink);
  color: #fff;
  border-color: transparent;
  box-shadow: var(--glow-pink);
}
.v2-contact__form-sub {
  color: var(--ink-300);
  margin: -0.6rem 0 1.6rem;
  font-family: var(--font-secondary);
  line-height: 1.6;
}
.v2-offices {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 1.25rem;
}
.v2-office {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: clamp(1.75rem, 3vw, 2.5rem);
  box-shadow: var(--shadow-sm);
  transition: border-color 0.4s var(--ease-out-expo), box-shadow 0.5s var(--ease-out-expo), transform 0.4s var(--ease-out-expo);
}
.v2-office:hover {
  border-color: rgba(236, 0, 140, 0.3);
  box-shadow: var(--shadow-lift);
  transform: translateY(-3px);
}
.v2-cs-fx {
  position: relative;
}
.v2-cs-aura {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(36rem 26rem at 8% 4%, rgba(236, 0, 140, 0.09), transparent 60%), radial-gradient(40rem 30rem at 94% 22%, rgba(255, 92, 186, 0.07), transparent 62%), radial-gradient(34rem 26rem at 62% 106%, rgba(236, 0, 140, 0.06), transparent 60%);
}
.v2-cs-fx > .v2-wrap {
  position: relative;
  z-index: 1;
}
.v2-cs-card {
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: blur(20px) saturate(1.3);
  backdrop-filter: blur(20px) saturate(1.3);
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), var(--shadow-lift);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .v2-cs-card {
    background: rgba(255, 255, 255, 0.97);
  }
}
.v2-cs-card .v2-kicker {
  color: var(--pink-deep);
}
.v2-cs-card .v2-chip {
  width: 3.5rem;
  height: 3.5rem;
  color: var(--pink-deep);
  background: radial-gradient(120% 120% at 30% 18%, rgba(236, 0, 140, 0.2), transparent 62%), rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.75);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  box-shadow: 0 8px 20px -10px rgba(236, 0, 140, 0.4);
}
.v2-cs-card:hover .v2-btn svg {
  transform: translateX(4px);
}
.v2-cs-card:focus-visible {
  outline: 2px solid var(--pink);
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .v2-cs-card:hover .v2-btn svg {
    transform: none;
  }
}
.v2-cs-single__head {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  margin-top: 1.5rem;
}
.v2-res-fx {
  position: relative;
}
.v2-res-aura {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(40rem 30rem at 6% 2%, rgba(236, 0, 140, 0.06), transparent 60%), radial-gradient(38rem 28rem at 96% 30%, rgba(236, 0, 140, 0.05), transparent 62%);
}
.v2-res-fx > .v2-wrap {
  position: relative;
  z-index: 1;
}
.v2-res-featured {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  overflow: hidden;
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-lift);
  text-decoration: none;
  transition: transform 0.5s var(--ease-out-expo), box-shadow 0.5s var(--ease-out-expo);
}
.v2-res-featured:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lift), var(--glow-pink);
}
.v2-res-featured__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 15rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, rgba(236, 0, 140, 0.12), rgba(236, 0, 140, 0.02));
}
.v2-res-featured__media img {
  max-width: 100%;
  max-height: 15rem;
  object-fit: contain;
}
.v2-res-featured__body {
  display: flex;
  flex-direction: column;
  padding: clamp(1.75rem, 3.5vw, 3rem);
}
.v2-res-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-bottom: clamp(2rem, 3.5vw, 3rem);
}
.v2-res-filter {
  border: 1px solid var(--line-2);
  background: var(--surface);
  color: var(--ink-200);
  font-family: var(--font-secondary);
  font-weight: 600;
  font-size: 0.85rem;
  padding: 0.5rem 1.1rem;
  border-radius: 999px;
  cursor: pointer;
  transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease, box-shadow 0.3s var(--ease-out-expo);
}
.v2-res-filter:hover {
  border-color: var(--pink);
  color: var(--pink);
}
.v2-res-filter.is-active {
  background: linear-gradient(120deg, var(--pink), var(--pink-deep));
  border-color: transparent;
  color: #fff;
  box-shadow: var(--glow-pink);
}
.v2-res-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.2vw, 2rem);
}
.v2-res-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 16px;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
  transition: transform 0.4s var(--ease-out-expo), box-shadow 0.4s var(--ease-out-expo), border-color 0.4s ease;
}
.v2-res-card.is-hidden {
  display: none;
}
.v2-res-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lift);
  border-color: transparent;
}
.v2-res-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 12rem;
  overflow: hidden;
  background: var(--surface-tint);
}
.v2-res-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.v2-res-card__media.is-contain {
  padding: 1.25rem;
  background: #fff;
}
.v2-res-card__media.is-contain img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.v2-res-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: clamp(1.1rem, 1.8vw, 1.4rem);
}
.v2-res-card__type {
  font-family: var(--font-secondary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pink-deep);
}
.v2-res-card__title {
  margin: 0.5rem 0 0;
  font-family: var(--font-display);
  font-weight: 460;
  letter-spacing: -0.01em;
  line-height: 1.2;
  font-size: 1.15rem;
  color: var(--ink-100);
}
.v2-res-card__desc {
  margin: 0.6rem 0 0;
  color: var(--ink-200);
  font-size: 0.9rem;
  line-height: 1.55;
}
.v2-res-card__foot {
  margin-top: auto;
  padding-top: 1.1rem;
}
.v2-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.v2-modal[hidden] {
  display: none;
}
.v2-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(14, 18, 32, 0.55);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity 0.25s ease;
}
.v2-modal.is-open .v2-modal__overlay {
  opacity: 1;
}
.v2-modal__panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 34rem;
  max-height: 90vh;
  overflow: auto;
  background: var(--surface);
  border-radius: 20px;
  padding: clamp(1.75rem, 3vw, 2.5rem);
  box-shadow: var(--shadow-lift);
  transform: translateY(12px) scale(0.98);
  opacity: 0;
  transition: transform 0.3s var(--ease-out-expo), opacity 0.3s ease;
}
.v2-modal.is-open .v2-modal__panel {
  transform: none;
  opacity: 1;
}
.v2-modal__close {
  position: absolute;
  top: 0.75rem;
  right: 1rem;
  border: 0;
  background: none;
  font-size: 1.9rem;
  line-height: 1;
  color: var(--ink-300);
  cursor: pointer;
}
.v2-modal__close:hover {
  color: var(--pink);
}
@media (max-width: 760px) {
  .v2-res-featured {
    grid-template-columns: 1fr;
  }
  .v2-res-featured__media {
    min-height: 12rem;
  }
}
@media (max-width: 900px) {
  .v2-res-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .v2-res-grid {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .v2-res-card:hover, .v2-res-featured:hover {
    transform: none;
  }
}
.v2-post-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  margin-top: 1.35rem;
  font-family: var(--font-secondary);
  font-size: 0.88rem;
  color: var(--ink-300);
}
.v2-post-meta strong {
  color: var(--ink-200);
  font-weight: 600;
}
.v2-post-meta__dot {
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: var(--pink);
  opacity: 0.65;
}
.v2-post-meta__src {
  color: var(--pink);
  font-weight: 600;
}
.v2-post-meta__src:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.v2-post-dek {
  margin-top: 1.1rem;
  max-width: 46rem;
  font-family: var(--font-secondary);
  font-size: clamp(1.1rem, 1.7vw, 1.3rem);
  line-height: 1.6;
  color: var(--ink-200);
}
.v2-post-hero {
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-lift);
}
.v2-post-hero img {
  display: block;
  width: 100%;
  max-height: 30rem;
  object-fit: cover;
}
.v2-post-hero.is-contain {
  background: #fff;
  display: grid;
  place-items: center;
}
.v2-post-hero.is-contain img {
  object-fit: contain;
  max-height: 22rem;
  padding: clamp(1.5rem, 3vw, 2.75rem);
}
.v2-post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 2.25rem;
}
.v2-post-tag {
  font-family: var(--font-secondary);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--ink-300);
  background: var(--surface-tint);
  border: 1px solid var(--line-2);
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
}
.v2-post-external {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-top: 2rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow-lift);
  padding: clamp(2rem, 5vw, 3.5rem);
}
.v2-post-external::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(30rem 16rem at 50% -10%, rgba(236, 0, 140, 0.08), transparent 65%);
}
.v2-post-external > * {
  position: relative;
}
.v2-post-external__logo {
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 14rem;
  height: 5.5rem;
  margin-bottom: 1.1rem;
}
.v2-post-external__logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.v2-post-external .v2-post-dek {
  margin-inline: auto;
}
.v2-post-external .v2-btn {
  margin-top: 1.6rem;
}
.v2-post-external__note {
  margin-top: 0.9rem;
  font-family: var(--font-secondary);
  font-size: 0.82rem;
  color: var(--ink-300);
}
.v2-post-list-grid {
  margin-top: clamp(1rem, 2vw, 2rem);
}
@media (prefers-reduced-motion: reduce) {
  .v2-post-external::before {
    display: none;
  }
}
@layer base {
  input:where([type='text']),input:where(:not([type])),input:where([type='email']),input:where([type='url']),input:where([type='password']),input:where([type='number']),input:where([type='date']),input:where([type='datetime-local']),input:where([type='month']),input:where([type='search']),input:where([type='tel']),input:where([type='time']),input:where([type='week']),select:where([multiple]),textarea,select {
    appearance: none;
    background-color: #fff;
    border-color: oklch(55.1% 0.027 264.364);
    border-width: 1px;
    border-radius: 0px;
    padding-top: 0.5rem;
    padding-right: 0.75rem;
    padding-bottom: 0.5rem;
    padding-left: 0.75rem;
    font-size: 1rem;
    line-height: 1.5rem;
    --tw-shadow: 0 0 #0000;
    &:focus {
      outline: 2px solid transparent;
      outline-offset: 2px;
      --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-color: oklch(54.6% 0.245 262.881);
      --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
      --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
      box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      border-color: oklch(54.6% 0.245 262.881);
    }
  }
  input::placeholder,textarea::placeholder {
    color: oklch(55.1% 0.027 264.364);
    opacity: 1;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-date-and-time-value {
    min-height: 1.5em;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field {
    padding-top: 0;
    padding-bottom: 0;
  }
  select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='oklch(55.1%25 0.027 264.364)' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 0.5rem center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
    padding-right: 2.5rem;
    print-color-adjust: exact;
  }
  select:where([multiple]),select:where([size]:not([size="1"])) {
    background-image: initial;
    background-position: initial;
    background-repeat: unset;
    background-size: initial;
    padding-right: 0.75rem;
    print-color-adjust: unset;
  }
  input:where([type='checkbox']),input:where([type='radio']) {
    appearance: none;
    padding: 0;
    print-color-adjust: exact;
    display: inline-block;
    vertical-align: middle;
    background-origin: border-box;
    user-select: none;
    flex-shrink: 0;
    height: 1rem;
    width: 1rem;
    color: oklch(54.6% 0.245 262.881);
    background-color: #fff;
    border-color: oklch(55.1% 0.027 264.364);
    border-width: 1px;
    --tw-shadow: 0 0 #0000;
  }
  input:where([type='checkbox']) {
    border-radius: 0px;
  }
  input:where([type='radio']) {
    border-radius: 100%;
  }
  input:where([type='checkbox']):focus,input:where([type='radio']):focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: oklch(54.6% 0.245 262.881);
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  input:where([type='checkbox']):checked,input:where([type='radio']):checked {
    border-color: transparent;
    background-color: currentColor;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
  }
  input:where([type='checkbox']):checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
    @media (forced-colors: active) {
      appearance: auto;
    }
  }
  input:where([type='radio']):checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
    @media (forced-colors: active) {
      appearance: auto;
    }
  }
  input:where([type='checkbox']):checked:hover,input:where([type='checkbox']):checked:focus,input:where([type='radio']):checked:hover,input:where([type='radio']):checked:focus {
    border-color: transparent;
    background-color: currentColor;
  }
  input:where([type='checkbox']):indeterminate {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
    border-color: transparent;
    background-color: currentColor;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    @media (forced-colors: active) {
      appearance: auto;
    }
  }
  input:where([type='checkbox']):indeterminate:hover,input:where([type='checkbox']):indeterminate:focus {
    border-color: transparent;
    background-color: currentColor;
  }
  input:where([type='file']) {
    background: unset;
    border-color: inherit;
    border-width: 0;
    border-radius: 0;
    padding: 0;
    font-size: unset;
    line-height: inherit;
  }
  input:where([type='file']):focus {
    outline: 1px solid ButtonText;
    outline: 1px auto -webkit-focus-ring-color;
  }
  :root {
    --text-h6: 1.24rem;
    --text-h6-sm: 1.116rem;
    --text-h5: 1.5376rem;
    --text-h5-sm: 1.3838400000000002rem;
    --text-h4: 1.906624rem;
    --text-h4-sm: 1.7159616000000002rem;
    --text-h3: 2.36421376rem;
    --text-h3-sm: 2.127792384rem;
    --text-h2: 2.9316250624rem;
    --text-h2-sm: 2.6384625561600004rem;
    --text-h1: 3.6352150773760004rem;
    --text-h1-sm: 3.2716935696384004rem;
    --text-base: 16px;
    --text-base-sm: 12.8px;
    --font-primary: Montserrat, sans-serif;
    --color-primary: #EC008C;
    --color-secondary: #0059DE;
    --color-body: #fff;
    --color-border: #B2B2B2;
    --color-light: #F4F4F4;
    --color-dark: #040404;
    --color-text: #010001;
    --color-text-dark: #040404;
    --color-text-light: #666666;
  }
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  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: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@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%;
}
@keyframes ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@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-font-weight: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: 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-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
      --tw-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%;
      --btn-flow: 0deg;
    }
  }
}

