/* Tailwind utilities compilado (extraido de index.html) */
    *,
    :after,
    :before {
      --tw-border-spacing-x: 0;
      --tw-border-spacing-y: 0;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-rotate: 0;
      --tw-skew-x: 0;
      --tw-skew-y: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-pan-x: ;
      --tw-pan-y: ;
      --tw-pinch-zoom: ;
      --tw-scroll-snap-strictness: proximity;
      --tw-gradient-from-position: ;
      --tw-gradient-via-position: ;
      --tw-gradient-to-position: ;
      --tw-ordinal: ;
      --tw-slashed-zero: ;
      --tw-numeric-figure: ;
      --tw-numeric-spacing: ;
      --tw-numeric-fraction: ;
      --tw-ring-inset: ;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-color: rgba(59, 130, 246, .5);
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-ring-shadow: 0 0 #0000;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-colored: 0 0 #0000;
      --tw-blur: ;
      --tw-brightness: ;
      --tw-contrast: ;
      --tw-grayscale: ;
      --tw-hue-rotate: ;
      --tw-invert: ;
      --tw-saturate: ;
      --tw-sepia: ;
      --tw-drop-shadow: ;
      --tw-backdrop-blur: ;
      --tw-backdrop-brightness: ;
      --tw-backdrop-contrast: ;
      --tw-backdrop-grayscale: ;
      --tw-backdrop-hue-rotate: ;
      --tw-backdrop-invert: ;
      --tw-backdrop-opacity: ;
      --tw-backdrop-saturate: ;
      --tw-backdrop-sepia: ;
      --tw-contain-size: ;
      --tw-contain-layout: ;
      --tw-contain-paint: ;
      --tw-contain-style:
    }

    ::backdrop {
      --tw-border-spacing-x: 0;
      --tw-border-spacing-y: 0;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-rotate: 0;
      --tw-skew-x: 0;
      --tw-skew-y: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-pan-x: ;
      --tw-pan-y: ;
      --tw-pinch-zoom: ;
      --tw-scroll-snap-strictness: proximity;
      --tw-gradient-from-position: ;
      --tw-gradient-via-position: ;
      --tw-gradient-to-position: ;
      --tw-ordinal: ;
      --tw-slashed-zero: ;
      --tw-numeric-figure: ;
      --tw-numeric-spacing: ;
      --tw-numeric-fraction: ;
      --tw-ring-inset: ;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-color: rgba(59, 130, 246, .5);
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-ring-shadow: 0 0 #0000;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-colored: 0 0 #0000;
      --tw-blur: ;
      --tw-brightness: ;
      --tw-contrast: ;
      --tw-grayscale: ;
      --tw-hue-rotate: ;
      --tw-invert: ;
      --tw-saturate: ;
      --tw-sepia: ;
      --tw-drop-shadow: ;
      --tw-backdrop-blur: ;
      --tw-backdrop-brightness: ;
      --tw-backdrop-contrast: ;
      --tw-backdrop-grayscale: ;
      --tw-backdrop-hue-rotate: ;
      --tw-backdrop-invert: ;
      --tw-backdrop-opacity: ;
      --tw-backdrop-saturate: ;
      --tw-backdrop-sepia: ;
      --tw-contain-size: ;
      --tw-contain-layout: ;
      --tw-contain-paint: ;
      --tw-contain-style:
    }

    /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/
    *,
    :after,
    :before {
      box-sizing: border-box;
      border: 0 solid #e5e7eb
    }

    :after,
    :before {
      --tw-content: ""
    }

    :host,
    html {
      line-height: 1.5;
      -webkit-text-size-adjust: 100%;
      -moz-tab-size: 4;
      -o-tab-size: 4;
      tab-size: 4;
      font-family: Inter, sans-serif;
      font-feature-settings: normal;
      font-variation-settings: normal;
      -webkit-tap-highlight-color: transparent
    }

    body {
      margin: 0;
      line-height: inherit
    }

    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;
      text-decoration: inherit
    }

    b,
    strong {
      font-weight: bolder
    }

    code,
    kbd,
    pre,
    samp {
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
      font-feature-settings: normal;
      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: -.25em
    }

    sup {
      top: -.5em
    }

    table {
      text-indent: 0;
      border-color: inherit;
      border-collapse: collapse
    }

    button,
    input,
    optgroup,
    select,
    textarea {
      font-family: inherit;
      font-feature-settings: inherit;
      font-variation-settings: inherit;
      font-size: 100%;
      font-weight: inherit;
      line-height: inherit;
      letter-spacing: inherit;
      color: inherit;
      margin: 0;
      padding: 0
    }

    button,
    select {
      text-transform: none
    }

    button,
    input:where([type=button]),
    input:where([type=reset]),
    input:where([type=submit]) {
      -webkit-appearance: button;
      background-color: transparent;
      background-image: none
    }

    :-moz-focusring {
      outline: auto
    }

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

    progress {
      vertical-align: baseline
    }

    ::-webkit-inner-spin-button,
    ::-webkit-outer-spin-button {
      height: auto
    }

    [type=search] {
      -webkit-appearance: textfield;
      outline-offset: -2px
    }

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

    ::-webkit-file-upload-button {
      -webkit-appearance: button;
      font: inherit
    }

    summary {
      display: list-item
    }

    blockquote,
    dd,
    dl,
    figure,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    hr,
    p,
    pre {
      margin: 0
    }

    fieldset {
      margin: 0
    }

    fieldset,
    legend {
      padding: 0
    }

    menu,
    ol,
    ul {
      list-style: none;
      margin: 0;
      padding: 0
    }

    dialog {
      padding: 0
    }

    textarea {
      resize: vertical
    }

    input::-moz-placeholder,
    textarea::-moz-placeholder {
      opacity: 1;
      color: #9ca3af
    }

    input::placeholder,
    textarea::placeholder {
      opacity: 1;
      color: #9ca3af
    }

    [role=button],
    button {
      cursor: pointer
    }

    :disabled {
      cursor: default
    }

    audio,
    canvas,
    embed,
    iframe,
    img,
    object,
    svg,
    video {
      display: block;
      vertical-align: middle
    }

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

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

    input:where(:not([type])),
    input:where([type=date]),
    input:where([type=datetime-local]),
    input:where([type=email]),
    input:where([type=month]),
    input:where([type=number]),
    input:where([type=password]),
    input:where([type=search]),
    input:where([type=tel]),
    input:where([type=text]),
    input:where([type=time]),
    input:where([type=url]),
    input:where([type=week]),
    select,
    select:where([multiple]),
    textarea {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      background-color: #fff;
      border-color: #6b7280;
      border-width: 1px;
      border-radius: 0;
      padding: .5rem .75rem;
      font-size: 1rem;
      line-height: 1.5rem;
      --tw-shadow: 0 0 #0000
    }

    input:where(:not([type])):focus,
    input:where([type=date]):focus,
    input:where([type=datetime-local]):focus,
    input:where([type=email]):focus,
    input:where([type=month]):focus,
    input:where([type=number]):focus,
    input:where([type=password]):focus,
    input:where([type=search]):focus,
    input:where([type=tel]):focus,
    input:where([type=text]):focus,
    input:where([type=time]):focus,
    input:where([type=url]):focus,
    input:where([type=week]):focus,
    select:focus,
    select:where([multiple]):focus,
    textarea: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: #2563eb;
      --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: #2563eb
    }

    input::-moz-placeholder,
    textarea::-moz-placeholder {
      color: #6b7280;
      opacity: 1
    }

    input::placeholder,
    textarea::placeholder {
      color: #6b7280;
      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-day-field,
    ::-webkit-datetime-edit-hour-field,
    ::-webkit-datetime-edit-meridiem-field,
    ::-webkit-datetime-edit-millisecond-field,
    ::-webkit-datetime-edit-minute-field,
    ::-webkit-datetime-edit-month-field,
    ::-webkit-datetime-edit-second-field,
    ::-webkit-datetime-edit-year-field {
      padding-top: 0;
      padding-bottom: 0
    }

    select {
      background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");
      background-position: right .5rem center;
      background-repeat: no-repeat;
      background-size: 1.5em 1.5em;
      padding-right: 2.5rem;
      -webkit-print-color-adjust: exact;
      print-color-adjust: exact
    }

    select:where([multiple]),
    select:where([size]:not([size="1"])) {
      background-image: none;
      background-position: 0 0;
      background-repeat: unset;
      background-size: initial;
      padding-right: .75rem;
      -webkit-print-color-adjust: unset;
      print-color-adjust: unset
    }

    input:where([type=checkbox]),
    input:where([type=radio]) {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      padding: 0;
      -webkit-print-color-adjust: exact;
      print-color-adjust: exact;
      display: inline-block;
      vertical-align: middle;
      background-origin: border-box;
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
      flex-shrink: 0;
      height: 1rem;
      width: 1rem;
      color: #2563eb;
      background-color: #fff;
      border-color: #6b7280;
      border-width: 1px;
      --tw-shadow: 0 0 #0000
    }

    input:where([type=checkbox]) {
      border-radius: 0
    }

    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: #2563eb;
      --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: 50%;
      background-repeat: no-repeat
    }

    input:where([type=checkbox]):checked {
      background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")
    }

    @media (forced-colors:active) {
      input:where([type=checkbox]):checked {
        -webkit-appearance: auto;
        -moz-appearance: auto;
        appearance: auto
      }
    }

    input:where([type=radio]):checked {
      background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")
    }

    @media (forced-colors:active) {
      input:where([type=radio]):checked {
        -webkit-appearance: auto;
        -moz-appearance: auto;
        appearance: auto
      }
    }

    input:where([type=checkbox]):checked:focus,
    input:where([type=checkbox]):checked:hover,
    input:where([type=radio]):checked:focus,
    input:where([type=radio]):checked:hover {
      border-color: transparent;
      background-color: currentColor
    }

    input:where([type=checkbox]):indeterminate {
      background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' 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: 50%;
      background-repeat: no-repeat
    }

    @media (forced-colors:active) {
      input:where([type=checkbox]):indeterminate {
        -webkit-appearance: auto;
        -moz-appearance: auto;
        appearance: auto
      }
    }

    input:where([type=checkbox]):indeterminate:focus,
    input:where([type=checkbox]):indeterminate:hover {
      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
    }

    .visible {
      visibility: visible
    }

    .fixed {
      position: fixed
    }

    .absolute {
      position: absolute
    }

    .relative {
      position: relative
    }

    .sticky {
      position: sticky
    }

    .inset-0 {
      inset: 0
    }

    .bottom-0 {
      bottom: 0
    }

    .bottom-3 {
      bottom: .75rem
    }

    .bottom-6 {
      bottom: 1.5rem
    }

    .left-0 {
      left: 0
    }

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

    .left-3 {
      left: .75rem
    }

    .right-0 {
      right: 0
    }

    .right-3 {
      right: .75rem
    }

    .right-6 {
      right: 1.5rem
    }

    .top-0 {
      top: 0
    }

    .top-1\/2 {
      top: 50%
    }

    .z-0 {
      z-index: 0
    }

    .z-10 {
      z-index: 10
    }

    .z-50 {
      z-index: 50
    }

    .z-\[9999\] {
      z-index: 9999
    }

    .row-span-2 {
      grid-row: span 2/span 2
    }

    .mx-auto {
      margin-left: auto;
      margin-right: auto
    }

    .-mb-20 {
      margin-bottom: -5rem
    }

    .-ml-20 {
      margin-left: -5rem
    }

    .-mr-20 {
      margin-right: -5rem
    }

    .-mt-20 {
      margin-top: -5rem
    }

    .mb-0\.5 {
      margin-bottom: .125rem
    }

    .mb-1 {
      margin-bottom: .25rem
    }

    .mb-10 {
      margin-bottom: 2.5rem
    }

    .mb-12 {
      margin-bottom: 3rem
    }

    .mb-16 {
      margin-bottom: 4rem
    }

    .mb-2 {
      margin-bottom: .5rem
    }

    .mb-3 {
      margin-bottom: .75rem
    }

    .mb-4 {
      margin-bottom: 1rem
    }

    .mb-5 {
      margin-bottom: 1.25rem
    }

    .mb-6 {
      margin-bottom: 1.5rem
    }

    .mb-8 {
      margin-bottom: 2rem
    }

    .my-8 {
      margin-top: 2rem;
      margin-bottom: 2rem
    }

    .ml-1 {
      margin-left: .25rem
    }

    .ml-2 {
      margin-left: .5rem
    }

    .ml-4 {
      margin-left: 1rem
    }

    .mr-1 {
      margin-right: .25rem
    }

    .mr-2 {
      margin-right: .5rem
    }

    .mt-0\.5 {
      margin-top: .125rem
    }

    .mt-1 {
      margin-top: .25rem
    }

    .mt-12 {
      margin-top: 3rem
    }

    .mt-16 {
      margin-top: 4rem
    }

    .mt-2 {
      margin-top: .5rem
    }

    .mt-4 {
      margin-top: 1rem
    }

    .mt-5 {
      margin-top: 1.25rem
    }

    .mt-6 {
      margin-top: 1.5rem
    }

    .block {
      display: block
    }

    .inline-block {
      display: inline-block
    }

    .flex {
      display: flex
    }

    .inline-flex {
      display: inline-flex
    }

    .\!grid {
      display: grid !important
    }

    .grid {
      display: grid
    }

    .hidden {
      display: none
    }

    .h-1 {
      height: .25rem
    }

    .h-10 {
      height: 2.5rem
    }

    .h-12 {
      height: 3rem
    }

    .h-14 {
      height: 3.5rem
    }

    .h-16 {
      height: 4rem
    }

    .h-2 {
      height: .5rem
    }

    .h-24 {
      height: 6rem
    }

    .h-4 {
      height: 1rem
    }

    .h-5 {
      height: 1.25rem
    }

    .h-7 {
      height: 1.75rem
    }

    .h-72 {
      height: 18rem
    }

    .h-80 {
      height: 20rem
    }

    .h-9 {
      height: 2.25rem
    }

    .h-96 {
      height: 24rem
    }

    .h-\[85vh\] {
      height: 85vh
    }

    .h-full {
      height: 100%
    }

    .max-h-\[90vh\] {
      max-height: 90vh
    }

    .w-10 {
      width: 2.5rem
    }

    .w-12 {
      width: 3rem
    }

    .w-14 {
      width: 3.5rem
    }

    .w-16 {
      width: 4rem
    }

    .w-2 {
      width: .5rem
    }

    .w-24 {
      width: 6rem
    }

    .w-4 {
      width: 1rem
    }

    .w-5 {
      width: 1.25rem
    }

    .w-7 {
      width: 1.75rem
    }

    .w-9 {
      width: 2.25rem
    }

    .w-96 {
      width: 24rem
    }

    .w-auto {
      width: auto
    }

    .w-full {
      width: 100%
    }

    .max-w-3xl {
      max-width: 48rem
    }

    .max-w-4xl {
      max-width: 56rem
    }

    .max-w-7xl {
      max-width: 80rem
    }

    .max-w-\[325px\] {
      max-width: 325px
    }

    .max-w-lg {
      max-width: 32rem
    }

    .max-w-xl {
      max-width: 36rem
    }

    .max-w-none {
      max-width: none
    }

    .flex-1 {
      flex: 1 1 0%
    }

    .flex-shrink-0 {
      flex-shrink: 0
    }

    .origin-left {
      transform-origin: left
    }

    .-translate-x-1\/2 {
      --tw-translate-x: -50%
    }

    .-translate-x-1\/2,
    .-translate-y-1\/2 {
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }

    .-translate-y-1\/2 {
      --tw-translate-y: -50%
    }

    .-translate-y-2 {
      --tw-translate-y: -0.5rem
    }

    .-translate-y-2,
    .scale-x-0 {
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }

    .scale-x-0 {
      --tw-scale-x: 0
    }

    .transform {
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }

    @keyframes ping {

      75%,
      to {
        transform: scale(2);
        opacity: 0
      }
    }

    .animate-ping {
      animation: ping 1s cubic-bezier(0, 0, .2, 1) infinite
    }

    .cursor-pointer {
      cursor: pointer
    }

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

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

    .flex-col {
      flex-direction: column
    }

    .flex-wrap {
      flex-wrap: wrap
    }

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

    .items-end {
      align-items: flex-end
    }

    .items-center {
      align-items: center
    }

    .justify-center {
      justify-content: center
    }

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

    .gap-0 {
      gap: 0
    }

    .gap-0\.5 {
      gap: .125rem
    }

    .gap-1 {
      gap: .25rem
    }

    .gap-12 {
      gap: 3rem
    }

    .gap-2 {
      gap: .5rem
    }

    .gap-3 {
      gap: .75rem
    }

    .gap-4 {
      gap: 1rem
    }

    .gap-6 {
      gap: 1.5rem
    }

    .gap-8 {
      gap: 2rem
    }

    .space-x-10>:not([hidden])~:not([hidden]) {
      --tw-space-x-reverse: 0;
      margin-right: calc(2.5rem*var(--tw-space-x-reverse));
      margin-left: calc(2.5rem*(1 - var(--tw-space-x-reverse)))
    }

    .space-y-2>:not([hidden])~:not([hidden]) {
      --tw-space-y-reverse: 0;
      margin-top: calc(.5rem*(1 - var(--tw-space-y-reverse)));
      margin-bottom: calc(.5rem*var(--tw-space-y-reverse))
    }

    .space-y-3>:not([hidden])~:not([hidden]) {
      --tw-space-y-reverse: 0;
      margin-top: calc(.75rem*(1 - var(--tw-space-y-reverse)));
      margin-bottom: calc(.75rem*var(--tw-space-y-reverse))
    }

    .space-y-4>:not([hidden])~:not([hidden]) {
      --tw-space-y-reverse: 0;
      margin-top: calc(1rem*(1 - var(--tw-space-y-reverse)));
      margin-bottom: calc(1rem*var(--tw-space-y-reverse))
    }

    .space-y-6>:not([hidden])~:not([hidden]) {
      --tw-space-y-reverse: 0;
      margin-top: calc(1.5rem*(1 - var(--tw-space-y-reverse)));
      margin-bottom: calc(1.5rem*var(--tw-space-y-reverse))
    }

    .space-y-8>:not([hidden])~:not([hidden]) {
      --tw-space-y-reverse: 0;
      margin-top: calc(2rem*(1 - var(--tw-space-y-reverse)));
      margin-bottom: calc(2rem*var(--tw-space-y-reverse))
    }

    .overflow-hidden {
      overflow: hidden
    }

    .overflow-y-auto {
      overflow-y: auto
    }

    .break-all {
      word-break: break-all
    }

    .rounded-2xl,
    .rounded-3xl {
      border-radius: 1.5rem
    }

    .rounded-full {
      border-radius: 9999px
    }

    .rounded-lg {
      border-radius: .5rem
    }

    .rounded-xl {
      border-radius: 1rem
    }

    .rounded-r-xl {
      border-top-right-radius: .75rem;
      border-bottom-right-radius: .75rem
    }

    .border {
      border-width: 1px
    }

    .border-b {
      border-bottom-width: 1px
    }

    .border-t {
      border-top-width: 1px
    }

    .border-l-4 {
      border-left-width: 4px
    }

    .border-gray-100 {
      --tw-border-opacity: 1;
      border-color: rgb(243 244 246/var(--tw-border-opacity, 1))
    }

    .border-primary {
      --tw-border-opacity: 1;
      border-color: rgb(5 150 105/var(--tw-border-opacity, 1))
    }

    .border-gray-200 {
      --tw-border-opacity: 1;
      border-color: rgb(229 231 235/var(--tw-border-opacity, 1))
    }

    .border-gray-800 {
      --tw-border-opacity: 1;
      border-color: rgb(31 41 55/var(--tw-border-opacity, 1))
    }

    .border-gray-800\/50 {
      border-color: rgba(31, 41, 55, .5)
    }

    .border-green-400\/30 {
      border-color: rgba(74, 222, 128, .3)
    }

    .border-white\/20 {
      border-color: hsla(0, 0%, 100%, .2)
    }

    .border-white\/30 {
      border-color: hsla(0, 0%, 100%, .3)
    }

    .bg-\[\#25D366\] {
      --tw-bg-opacity: 1;
      background-color: rgb(37 211 102/var(--tw-bg-opacity, 1))
    }

    .bg-background-light {
      --tw-bg-opacity: 1;
      background-color: rgb(249 250 251/var(--tw-bg-opacity, 1))
    }

    .bg-black {
      --tw-bg-opacity: 1;
      background-color: rgb(0 0 0/var(--tw-bg-opacity, 1))
    }

    .bg-black\/50 {
      background-color: rgba(0, 0, 0, .5)
    }

    .bg-black\/75 {
      background-color: rgba(0, 0, 0, .75)
    }

    .bg-gray-200 {
      --tw-bg-opacity: 1;
      background-color: rgb(229 231 235/var(--tw-bg-opacity, 1))
    }

    .bg-gray-50 {
      --tw-bg-opacity: 1;
      background-color: rgb(249 250 251/var(--tw-bg-opacity, 1))
    }

    .bg-gray-800 {
      --tw-bg-opacity: 1;
      background-color: rgb(31 41 55/var(--tw-bg-opacity, 1))
    }

    .bg-gray-900 {
      --tw-bg-opacity: 1;
      background-color: rgb(17 24 39/var(--tw-bg-opacity, 1))
    }

    .bg-green-100 {
      --tw-bg-opacity: 1;
      background-color: rgb(220 252 231/var(--tw-bg-opacity, 1))
    }

    .bg-green-300\/10 {
      background-color: rgba(134, 239, 172, .1)
    }

    .bg-green-400 {
      --tw-bg-opacity: 1;
      background-color: rgb(74 222 128/var(--tw-bg-opacity, 1))
    }

    .bg-green-500 {
      --tw-bg-opacity: 1;
      background-color: rgb(34 197 94/var(--tw-bg-opacity, 1))
    }

    .bg-green-600 {
      --tw-bg-opacity: 1;
      background-color: rgb(22 163 74/var(--tw-bg-opacity, 1))
    }

    .bg-green-900\/40 {
      background-color: rgba(20, 83, 45, .4)
    }

    .bg-primary {
      --tw-bg-opacity: 1;
      background-color: rgb(5 150 105/var(--tw-bg-opacity, 1))
    }

    .bg-primary\/10 {
      background-color: rgba(5, 150, 105, .1)
    }

    .bg-purple-600 {
      --tw-bg-opacity: 1;
      background-color: rgb(147 51 234/var(--tw-bg-opacity, 1))
    }

    .bg-red-100 {
      --tw-bg-opacity: 1;
      background-color: rgb(254 226 226/var(--tw-bg-opacity, 1))
    }

    .bg-surface-light {
      --tw-bg-opacity: 1;
      background-color: rgb(255 255 255/var(--tw-bg-opacity, 1))
    }

    .bg-surface-light\/90 {
      background-color: hsla(0, 0%, 100%, .9)
    }

    .bg-white {
      --tw-bg-opacity: 1;
      background-color: rgb(255 255 255/var(--tw-bg-opacity, 1))
    }

    .bg-white\/10 {
      background-color: hsla(0, 0%, 100%, .1)
    }

    .bg-white\/20 {
      background-color: hsla(0, 0%, 100%, .2)
    }

    .bg-\[url\(\'https\:\/\/www\.transparenttextures\.com\/patterns\/circuit-board\.png\'\)\] {
      background-image: url(https://www.transparenttextures.com/patterns/circuit-board.png)
    }

    .bg-gradient-to-r {
      background-image: linear-gradient(to right, var(--tw-gradient-stops))
    }

    .bg-gradient-to-t {
      background-image: linear-gradient(to top, var(--tw-gradient-stops))
    }

    .from-black\/60 {
      --tw-gradient-from: rgba(0, 0, 0, .6) var(--tw-gradient-from-position);
      --tw-gradient-to: transparent var(--tw-gradient-to-position);
      --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
    }

    .from-black\/80 {
      --tw-gradient-from: rgba(0, 0, 0, .8) var(--tw-gradient-from-position);
      --tw-gradient-to: transparent var(--tw-gradient-to-position);
      --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
    }

    .from-green-400 {
      --tw-gradient-from: #4ade80 var(--tw-gradient-from-position);
      --tw-gradient-to: rgba(74, 222, 128, 0) var(--tw-gradient-to-position);
      --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
    }

    .via-black\/30 {
      --tw-gradient-to: transparent var(--tw-gradient-to-position);
      --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 0, 0, .3) var(--tw-gradient-via-position), var(--tw-gradient-to)
    }

    .to-emerald-200 {
      --tw-gradient-to: #a7f3d0 var(--tw-gradient-to-position)
    }

    .to-transparent {
      --tw-gradient-to: transparent var(--tw-gradient-to-position)
    }

    .bg-clip-text {
      -webkit-background-clip: text;
      background-clip: text
    }

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

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

    .p-2 {
      padding: .5rem
    }

    .p-3 {
      padding: .75rem
    }

    .p-4 {
      padding: 1rem
    }

    .p-6 {
      padding: 1.5rem
    }

    .p-7 {
      padding: 1.75rem
    }

    .p-8 {
      padding: 2rem
    }

    .px-2 {
      padding-left: .5rem;
      padding-right: .5rem
    }

    .px-3 {
      padding-left: .75rem;
      padding-right: .75rem
    }

    .px-4 {
      padding-left: 1rem;
      padding-right: 1rem
    }

    .px-5 {
      padding-left: 1.25rem;
      padding-right: 1.25rem
    }

    .px-6 {
      padding-left: 1.5rem;
      padding-right: 1.5rem
    }

    .px-8 {
      padding-left: 2rem;
      padding-right: 2rem
    }

    .py-0\.5 {
      padding-top: .125rem;
      padding-bottom: .125rem
    }

    .py-1 {
      padding-top: .25rem;
      padding-bottom: .25rem
    }

    .py-2 {
      padding-top: .5rem;
      padding-bottom: .5rem
    }

    .py-2\.5 {
      padding-top: .625rem;
      padding-bottom: .625rem
    }

    .py-14 {
      padding-top: 3.5rem;
      padding-bottom: 3.5rem
    }

    .py-16 {
      padding-top: 4rem;
      padding-bottom: 4rem
    }

    .py-20 {
      padding-top: 5rem;
      padding-bottom: 5rem
    }

    .py-24 {
      padding-top: 6rem;
      padding-bottom: 6rem
    }

    .py-3 {
      padding-top: .75rem;
      padding-bottom: .75rem
    }

    .py-3\.5 {
      padding-top: .875rem;
      padding-bottom: .875rem
    }

    .py-4 {
      padding-top: 1rem;
      padding-bottom: 1rem
    }

    .py-5 {
      padding-top: 1.25rem;
      padding-bottom: 1.25rem
    }

    .py-6 {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem
    }

    .pb-8 {
      padding-bottom: 2rem
    }

    .pt-16 {
      padding-top: 4rem
    }

    .pt-4 {
      padding-top: 1rem
    }

    .pt-5 {
      padding-top: 1.25rem
    }

    .pt-6 {
      padding-top: 1.5rem
    }

    .pt-8 {
      padding-top: 2rem
    }

    .text-left {
      text-align: left
    }

    .text-center {
      text-align: center
    }

    .font-display {
      font-family: Montserrat, sans-serif
    }

    .font-sans {
      font-family: Inter, sans-serif
    }

    .text-2xl {
      font-size: 1.5rem;
      line-height: 2rem
    }

    .text-3xl {
      font-size: 1.875rem;
      line-height: 2.25rem
    }

    .text-4xl {
      font-size: 2.25rem;
      line-height: 2.5rem
    }

    .text-base {
      font-size: 1rem;
      line-height: 1.5rem
    }

    .text-lg {
      font-size: 1.125rem;
      line-height: 1.75rem
    }

    .text-sm {
      font-size: .875rem;
      line-height: 1.25rem
    }

    .text-xl {
      font-size: 1.25rem;
      line-height: 1.75rem
    }

    .text-xs {
      font-size: .75rem;
      line-height: 1rem
    }

    .font-bold {
      font-weight: 700
    }

    .font-extrabold {
      font-weight: 800
    }

    .font-light {
      font-weight: 300
    }

    .font-medium {
      font-weight: 500
    }

    .font-semibold {
      font-weight: 600
    }

    .uppercase {
      text-transform: uppercase
    }

    .leading-none {
      line-height: 1
    }

    .leading-relaxed {
      line-height: 1.625
    }

    .leading-tight {
      line-height: 1.25
    }

    .tracking-tight {
      letter-spacing: -.025em
    }

    .tracking-wide {
      letter-spacing: .025em
    }

    .tracking-widest {
      letter-spacing: .1em
    }

    .text-gray-200 {
      --tw-text-opacity: 1;
      color: rgb(229 231 235/var(--tw-text-opacity, 1))
    }

    .text-gray-300 {
      --tw-text-opacity: 1;
      color: rgb(209 213 219/var(--tw-text-opacity, 1))
    }

    .text-gray-400 {
      --tw-text-opacity: 1;
      color: rgb(156 163 175/var(--tw-text-opacity, 1))
    }

    .text-gray-500 {
      --tw-text-opacity: 1;
      color: rgb(107 114 128/var(--tw-text-opacity, 1))
    }

    .text-gray-600 {
      --tw-text-opacity: 1;
      color: rgb(75 85 99/var(--tw-text-opacity, 1))
    }

    .text-gray-700 {
      --tw-text-opacity: 1;
      color: rgb(55 65 81/var(--tw-text-opacity, 1))
    }

    .text-gray-900 {
      --tw-text-opacity: 1;
      color: rgb(17 24 39/var(--tw-text-opacity, 1))
    }

    .text-green-100 {
      --tw-text-opacity: 1;
      color: rgb(220 252 231/var(--tw-text-opacity, 1))
    }

    .text-green-300 {
      --tw-text-opacity: 1;
      color: rgb(134 239 172/var(--tw-text-opacity, 1))
    }

    .text-green-800 {
      --tw-text-opacity: 1;
      color: rgb(22 101 52/var(--tw-text-opacity, 1))
    }

    .text-primary {
      --tw-text-opacity: 1;
      color: rgb(5 150 105/var(--tw-text-opacity, 1))
    }

    .text-red-700 {
      --tw-text-opacity: 1;
      color: rgb(185 28 28/var(--tw-text-opacity, 1))
    }

    .text-text-light {
      --tw-text-opacity: 1;
      color: rgb(31 41 55/var(--tw-text-opacity, 1))
    }

    .text-transparent {
      color: transparent
    }

    .text-white {
      --tw-text-opacity: 1;
      color: rgb(255 255 255/var(--tw-text-opacity, 1))
    }

    .opacity-0 {
      opacity: 0
    }

    .opacity-10 {
      opacity: .1
    }

    .opacity-70 {
      opacity: .7
    }

    .opacity-75 {
      opacity: .75
    }

    .opacity-90 {
      opacity: .9
    }

    .shadow-2xl {
      --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);
      --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color)
    }

    .shadow-2xl,
    .shadow-lg {
      box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
    }

    .shadow-lg {
      --tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);
      --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color)
    }

    .shadow-md {
      --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);
      --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color)
    }

    .shadow-md,
    .shadow-sm {
      box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
    }

    .shadow-sm {
      --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
      --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color)
    }

    .shadow-xl {
      --tw-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);
      --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
      box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
    }

    .shadow-green-500\/20 {
      --tw-shadow-color: rgba(34, 197, 94, .2);
      --tw-shadow: var(--tw-shadow-colored)
    }

    .shadow-green-500\/30 {
      --tw-shadow-color: rgba(34, 197, 94, .3);
      --tw-shadow: var(--tw-shadow-colored)
    }

    .shadow-green-900\/20 {
      --tw-shadow-color: rgba(20, 83, 45, .2);
      --tw-shadow: var(--tw-shadow-colored)
    }

    .blur-3xl {
      --tw-blur: blur(64px);
      filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
    }

    .backdrop-blur-md {
      --tw-backdrop-blur: blur(12px)
    }

    .backdrop-blur-md,
    .backdrop-blur-sm {
      -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
      backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
    }

    .backdrop-blur-sm {
      --tw-backdrop-blur: blur(4px)
    }

    .transition {
      transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
      transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
      transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
      transition-timing-function: cubic-bezier(.4, 0, .2, 1);
      transition-duration: .15s
    }

    .transition-all {
      transition-property: all;
      transition-timing-function: cubic-bezier(.4, 0, .2, 1);
      transition-duration: .15s
    }

    .transition-colors {
      transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
      transition-timing-function: cubic-bezier(.4, 0, .2, 1);
      transition-duration: .15s
    }

    .transition-opacity {
      transition-property: opacity;
      transition-timing-function: cubic-bezier(.4, 0, .2, 1);
      transition-duration: .15s
    }

    .transition-transform {
      transition-property: transform;
      transition-timing-function: cubic-bezier(.4, 0, .2, 1);
      transition-duration: .15s
    }

    .duration-300 {
      transition-duration: .3s
    }

    .duration-500 {
      transition-duration: .5s
    }

    .duration-700 {
      transition-duration: .7s
    }

    .hover\:-translate-y-0\.5:hover {
      --tw-translate-y: -0.125rem
    }

    .hover\:-translate-y-0\.5:hover,
    .hover\:-translate-y-1:hover {
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }

    .hover\:-translate-y-1:hover {
      --tw-translate-y: -0.25rem
    }

    .hover\:-translate-y-2:hover {
      --tw-translate-y: -0.5rem
    }

    .hover\:-translate-y-2:hover,
    .hover\:scale-110:hover {
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }

    .hover\:scale-110:hover {
      --tw-scale-x: 1.1;
      --tw-scale-y: 1.1
    }

    .hover\:bg-\[\#1877F2\]:hover {
      --tw-bg-opacity: 1;
      background-color: rgb(24 119 242/var(--tw-bg-opacity, 1))
    }

    .hover\:bg-\[\#20bd5a\]:hover {
      --tw-bg-opacity: 1;
      background-color: rgb(32 189 90/var(--tw-bg-opacity, 1))
    }

    .hover\:bg-\[\#25D366\]:hover {
      --tw-bg-opacity: 1;
      background-color: rgb(37 211 102/var(--tw-bg-opacity, 1))
    }

    .hover\:bg-black\/75:hover {
      background-color: rgba(0, 0, 0, .75)
    }

    .hover\:bg-gray-50:hover {
      --tw-bg-opacity: 1;
      background-color: rgb(249 250 251/var(--tw-bg-opacity, 1))
    }

    .hover\:bg-gray-100:hover {
      --tw-bg-opacity: 1;
      background-color: rgb(243 244 246/var(--tw-bg-opacity, 1))
    }

    .hover\:bg-green-500:hover {
      --tw-bg-opacity: 1;
      background-color: rgb(34 197 94/var(--tw-bg-opacity, 1))
    }

    .hover\:bg-secondary:hover {
      --tw-bg-opacity: 1;
      background-color: rgb(4 120 87/var(--tw-bg-opacity, 1))
    }

    .hover\:bg-white\/20:hover {
      background-color: hsla(0, 0%, 100%, .2)
    }

    .hover\:bg-gradient-to-br:hover {
      background-image: linear-gradient(to bottom right, var(--tw-gradient-stops))
    }

    .hover\:from-\[\#833AB4\]:hover {
      --tw-gradient-from: #833ab4 var(--tw-gradient-from-position);
      --tw-gradient-to: rgba(131, 58, 180, 0) var(--tw-gradient-to-position);
      --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
    }

    .hover\:to-\[\#F77737\]:hover {
      --tw-gradient-to: #f77737 var(--tw-gradient-to-position)
    }

    .hover\:text-gray-600:hover {
      --tw-text-opacity: 1;
      color: rgb(75 85 99/var(--tw-text-opacity, 1))
    }

    .hover\:text-green-200:hover {
      --tw-text-opacity: 1;
      color: rgb(187 247 208/var(--tw-text-opacity, 1))
    }

    .hover\:text-primary:hover {
      --tw-text-opacity: 1;
      color: rgb(5 150 105/var(--tw-text-opacity, 1))
    }

    .hover\:text-secondary:hover {
      --tw-text-opacity: 1;
      color: rgb(4 120 87/var(--tw-text-opacity, 1))
    }

    .hover\:opacity-100:hover {
      opacity: 1
    }

    .hover\:shadow-2xl:hover {
      --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);
      --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color)
    }

    .hover\:shadow-2xl:hover,
    .hover\:shadow-xl:hover {
      box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
    }

    .hover\:shadow-xl:hover {
      --tw-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);
      --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color)
    }

    .focus\:border-primary:focus {
      --tw-border-opacity: 1;
      border-color: rgb(5 150 105/var(--tw-border-opacity, 1))
    }

    .focus\:outline-none:focus {
      outline: 2px solid transparent;
      outline-offset: 2px
    }

    .focus\:ring-primary:focus {
      --tw-ring-opacity: 1;
      --tw-ring-color: rgb(5 150 105/var(--tw-ring-opacity, 1))
    }

    .group:hover .group-hover\:translate-y-0 {
      --tw-translate-y: 0px
    }

    .group:hover .group-hover\:scale-105,
    .group:hover .group-hover\:translate-y-0 {
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }

    .group:hover .group-hover\:scale-105 {
      --tw-scale-x: 1.05;
      --tw-scale-y: 1.05
    }

    .group:hover .group-hover\:scale-110 {
      --tw-scale-x: 1.1;
      --tw-scale-y: 1.1
    }

    .group:hover .group-hover\:scale-110,
    .group:hover .group-hover\:scale-x-100 {
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }

    .group:hover .group-hover\:scale-x-100 {
      --tw-scale-x: 1
    }

    .group:hover .group-hover\:opacity-100 {
      opacity: 1
    }

    .dark\:border-gray-700:is(.dark *) {
      --tw-border-opacity: 1;
      border-color: rgb(55 65 81/var(--tw-border-opacity, 1))
    }

    .dark\:bg-background-dark:is(.dark *) {
      --tw-bg-opacity: 1;
      background-color: rgb(17 24 39/var(--tw-bg-opacity, 1))
    }

    .dark\:bg-gray-800:is(.dark *) {
      --tw-bg-opacity: 1;
      background-color: rgb(31 41 55/var(--tw-bg-opacity, 1))
    }

    .dark\:bg-gray-800\/50:is(.dark *) {
      background-color: rgba(31, 41, 55, .5)
    }

    .dark\:bg-gray-900:is(.dark *) {
      --tw-bg-opacity: 1;
      background-color: rgb(17 24 39/var(--tw-bg-opacity, 1))
    }

    .dark\:bg-green-800\/30:is(.dark *) {
      background-color: rgba(22, 101, 52, .3)
    }

    .dark\:bg-green-900\/30:is(.dark *) {
      background-color: rgba(20, 83, 45, .3)
    }

    .dark\:bg-surface-dark:is(.dark *) {
      --tw-bg-opacity: 1;
      background-color: rgb(31 41 55/var(--tw-bg-opacity, 1))
    }

    .dark\:bg-surface-dark\/90:is(.dark *) {
      background-color: rgba(31, 41, 55, .9)
    }

    .dark\:text-gray-200:is(.dark *) {
      --tw-text-opacity: 1;
      color: rgb(229 231 235/var(--tw-text-opacity, 1))
    }

    .dark\:text-gray-300:is(.dark *) {
      --tw-text-opacity: 1;
      color: rgb(209 213 219/var(--tw-text-opacity, 1))
    }

    .dark\:text-gray-400:is(.dark *) {
      --tw-text-opacity: 1;
      color: rgb(156 163 175/var(--tw-text-opacity, 1))
    }

    .dark\:text-text-dark:is(.dark *) {
      --tw-text-opacity: 1;
      color: rgb(243 244 246/var(--tw-text-opacity, 1))
    }

    .dark\:text-white:is(.dark *) {
      --tw-text-opacity: 1;
      color: rgb(255 255 255/var(--tw-text-opacity, 1))
    }

    .dark\:hover\:bg-gray-800:hover:is(.dark *) {
      --tw-bg-opacity: 1;
      background-color: rgb(31 41 55/var(--tw-bg-opacity, 1))
    }

    .dark\:hover\:text-gray-200:hover:is(.dark *) {
      --tw-text-opacity: 1;
      color: rgb(229 231 235/var(--tw-text-opacity, 1))
    }

    .dark\:hover\:text-primary:hover:is(.dark *) {
      --tw-text-opacity: 1;
      color: rgb(5 150 105/var(--tw-text-opacity, 1))
    }

    @media (min-width:640px) {
      .sm\:w-auto {
        width: auto
      }

      .sm\:flex-row {
        flex-direction: row
      }

      .sm\:px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem
      }

      .sm\:px-12 {
        padding-left: 3rem;
        padding-right: 3rem
      }

      .sm\:py-16 {
        padding-top: 4rem;
        padding-bottom: 4rem
      }

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

    @media (min-width:768px) {
      .md\:col-span-2 {
        grid-column: span 2/span 2
      }

      .md\:block {
        display: block
      }

      .md\:flex {
        display: flex
      }

      .md\:hidden {
        display: none
      }

      .md\:w-1\/2 {
        width: 50%
      }

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

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

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

      .md\:flex-row {
        flex-direction: row
      }

      .md\:items-start {
        align-items: flex-start
      }

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

      .md\:p-10 {
        padding: 2.5rem
      }

      .md\:p-12 {
        padding: 3rem
      }

      .md\:py-28 {
        padding-top: 7rem;
        padding-bottom: 7rem
      }

      .md\:text-left {
        text-align: left
      }

      .md\:text-right {
        text-align: right
      }

      .md\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem
      }

      .md\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem
      }

      .md\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem
      }

      .md\:text-5xl {
        font-size: 3rem;
        line-height: 1
      }

      .md\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem
      }
    }

    @media (min-width:1024px) {
      .lg\:col-span-1 {
        grid-column: span 1/span 1
      }

      .lg\:inline {
        display: inline
      }

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

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

      .lg\:flex-row {
        flex-direction: row
      }

      .lg\:justify-start {
        justify-content: flex-start
      }

      .lg\:gap-10 {
        gap: 2.5rem
      }

      .lg\:gap-20 {
        gap: 5rem
      }

      .lg\:p-16 {
        padding: 4rem
      }

      .lg\:px-14 {
        padding-left: 3.5rem;
        padding-right: 3.5rem
      }

      .lg\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem
      }

      .lg\:text-left {
        text-align: left
      }

      .lg\:text-7xl {
        font-size: 4.5rem;
        line-height: 1
      }
    }

/* Estilos comunes de sitio (nav movil, animaciones, scroll-top) */
    html {
      scroll-behavior: smooth;
      scroll-padding-top: 6rem;
      /* compensa navbar sticky h-24 */
    }

    .hero-gradient {
      background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.7));
    }

    #scroll-top-btn {
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
    }

    #scroll-top-btn.visible {
      opacity: 1;
      visibility: visible;
    }

    /* Smooth transitions for all interactive elements */
    a,
    button {
      transition: all 0.3s ease;
    }

    /* Mobile menu styles */
    #mobile-menu {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease, opacity 0.3s ease;
      opacity: 0;
    }

    #mobile-menu.open {
      max-height: 500px;
      opacity: 1;
    }

    .hamburger-icon {
      transition: transform 0.3s ease;
    }

    .hamburger-icon.rotate {
      transform: rotate(90deg);
    }

    /* ── Animaciones de entrada al hacer scroll ── */
    .section-fade {
      opacity: 0;
      transform: translateY(38px);
      transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .section-fade.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .card-fade {
      opacity: 0;
      transform: translateY(30px);
      transition: opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .card-fade.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* Prose Styles (contenido de páginas tipo artículo) */
    .prose h2 { font-family: Montserrat, sans-serif; font-size: 1.5rem; font-weight: 700; color: #111827; margin-top: 2rem; margin-bottom: 1rem; line-height: 1.25 }
    .prose h3 { font-family: Montserrat, sans-serif; font-size: 1.25rem; font-weight: 600; color: #111827; margin-top: 1.5rem; margin-bottom: .75rem }
    .prose p { margin-bottom: 1rem; line-height: 1.75; color: #4b5563 }
    .prose ul, .prose ol { margin-bottom: 1rem; padding-left: 1.5rem }
    .prose ul { list-style-type: disc }
    .prose ol { list-style-type: decimal }
    .prose li { margin-bottom: .5rem; line-height: 1.625; color: #4b5563 }
    .prose strong { font-weight: 600; color: #111827 }
    .prose a { color: #059669; text-decoration: underline }
    .prose a:hover { color: #047857 }
    .dark .prose h2, .dark .prose h3, .dark .prose strong { color: #f3f4f6 }
    .dark .prose p, .dark .prose li { color: #9ca3af }
