/* Adieu Fonts */
@font-face {
  font-family: 'Adieu';
  src: url(/assets/Adieu-Light-426cee19f18bf94733ee3caebf4426932b2e2b6b40cdea18e5fa5ccf9ed4c776.woff2) format('woff2');
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: 'Adieu';
  src: url(/assets/Adieu-LightSlanted-04c35d3f0a0785094c8dd515b59ed8ed775a33e46aaf30fd54698dcc7302df47.woff2) format('woff2');
  font-weight: 200;
  font-style: italic;
}
@font-face {
  font-family: 'Adieu';
  src: url(/assets/Adieu-Regular-28a9574a49607097446c7d31b0148e78ab51a07ed9902206cf8ec0c5ed6baa47.woff2) format('woff2');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Adieu';
  src: url(/assets/Adieu-RegularSlanted-6883510b4460b67e6e8a87da7c39c83af54a18572a26b9f0137dd82475b65c21.woff) format('woff');
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'Adieu';
  src: url(/assets/Adieu-Bold-bbc0a93cc82bb397f3691c84d7237799fbdee638ff0360c033da07f6980d3838.woff2) format('woff2');
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: 'Adieu';
  src: url(/assets/Adieu-BoldSlanted-80d4761355f48f709d48193a228c1e56002c69acb60485c0022f60c06a90810c.woff2) format('woff2');
  font-weight: 700;
  font-style: italic;
}

@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  body {
    @apply font-sans;
  }
}

/* Hide scrollbar for carousel */
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Logo marquee */
@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.marquee-track {
  display: flex;
  animation: marquee-scroll 15s linear infinite;
}

.hero-logo-cloud-mobile-track {
  display: flex;
  width: max-content;
  animation: marquee-scroll 18s linear infinite;
}

@media (min-width: 640px) {
  .marquee-track {
    animation-duration: 30s;
  }
}

.marquee-track:hover {
  animation-play-state: paused;
}

.hero-logo-cloud-mobile-track:hover {
  animation-play-state: paused;
}

.testimonial-slide {
  opacity: 0;
  pointer-events: none;
  transform: translateX(18px);
  transition:
    opacity 650ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 650ms cubic-bezier(0.16, 1, 0.3, 1);
}

.testimonial-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.testimonial-slide.is-exiting {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-18px);
}

.testimonial-slide__image {
  transform: scale(1.02) translateX(10px);
  transition: transform 720ms cubic-bezier(0.16, 1, 0.3, 1);
}

.testimonial-slide.is-active .testimonial-slide__image {
  transform: scale(1.02) translateX(0);
}

.testimonial-slide.is-exiting .testimonial-slide__image {
  transform: scale(1.02) translateX(-10px);
}

/* Scroll reveal animations */
.scroll-reveal-item {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.scroll-reveal-item.scroll-revealed {
  opacity: 1;
  transform: translateY(0);
}

.who-we-serve-card-reveal {
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 420ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

.who-we-serve-card-reveal.scroll-revealed {
  opacity: 1;
  transform: translateY(0);
}

@layer components {
  .app-shell,
  .admin-content {
    --app-accent-text: #6b7a2d;
    --app-accent-text-muted: rgb(107 122 45 / 0.8);
    --app-accent-text-soft: rgb(107 122 45 / 0.6);
    --app-accent-text-hover: #55621f;
  }

  .btn-primary,
  .btn-black,
  .btn-secondary,
  .btn-success,
  .btn-error,
  .btn-warning {
    @apply relative inline-flex justify-center px-10 py-3.5 font-heading italic text-sm font-normal uppercase tracking-wider whitespace-nowrap focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 cursor-pointer;
    background: transparent;
    z-index: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .btn-primary::before,
  .btn-black::before,
  .btn-secondary::before,
  .btn-success::before,
  .btn-error::before,
  .btn-warning::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 4px 8px 4px 8px;
    transform: skewX(-20deg);
    z-index: -1;
    transition: opacity 0.2s ease;
    will-change: transform;
    backface-visibility: hidden;
  }

  .btn-primary:hover::before,
  .btn-black:hover::before,
  .btn-secondary:hover::before,
  .btn-success:hover::before,
  .btn-error:hover::before,
  .btn-warning:hover::before {
    opacity: 0.9;
  }

  .btn-black {
    @apply text-secondary;
  }

  .btn-primary {
    @apply text-white;
  }

  .btn-primary::before,
  .btn-black::before {
    background: #242221;
    border: 2px solid transparent;
  }

  .btn-success,
  .btn-secondary {
    @apply text-primary;
  }

  .btn-success::before,
  .btn-secondary::before {
    background: #E4FF82;
    border: 2px solid #242221;
  }

  .btn-no-border::before {
    border: none;
  }

  .btn-error::before {
    background: #EF4444;
  }

  .btn-error:hover::before {
    background: #F87171;
  }

  .btn-warning::before {
    background: #F59E0B;
  }

  .btn-warning:hover::before {
    background: #FCD34D;
  }

  .marketing-shell .btn-black.btn-animated-text,
  .marketing-shell .btn-secondary.btn-animated-text,
  .marketing-shell button[type="submit"].btn-black.btn-animated-text,
  .marketing-shell button[type="submit"].btn-secondary.btn-animated-text {
    transition: color 0.24s ease, transform 0.24s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .marketing-shell .btn-black.btn-animated-text::before,
  .marketing-shell .btn-secondary.btn-animated-text::before,
  .marketing-shell button[type="submit"].btn-black.btn-animated-text::before,
  .marketing-shell button[type="submit"].btn-secondary.btn-animated-text::before {
    transition:
      opacity 0.24s ease,
      transform 0.24s cubic-bezier(0.16, 1, 0.3, 1),
      background-color 0.24s ease,
      border-color 0.24s ease;
  }

  .marketing-shell .btn-animated-text .btn-label-track {
    position: relative;
    display: grid;
    min-width: 100%;
    overflow: hidden;
    line-height: 1;
    text-align: center;
  }

  .marketing-shell .btn-animated-text .btn-label-current,
  .marketing-shell .btn-animated-text .btn-label-track::after {
    grid-area: 1 / 1;
    display: block;
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
  }

  .marketing-shell .btn-animated-text .btn-label-track::after {
    content: attr(data-text);
    transform: translateX(-115%);
    pointer-events: none;
  }

  @media (hover: hover) {
    .marketing-shell .btn-black.btn-animated-text:hover,
    .marketing-shell .btn-black.btn-animated-text:focus-visible,
    .marketing-shell .btn-secondary.btn-animated-text:hover,
    .marketing-shell .btn-secondary.btn-animated-text:focus-visible,
    .marketing-shell button[type="submit"].btn-black.btn-animated-text:hover,
    .marketing-shell button[type="submit"].btn-black.btn-animated-text:focus-visible,
    .marketing-shell button[type="submit"].btn-secondary.btn-animated-text:hover,
    .marketing-shell button[type="submit"].btn-secondary.btn-animated-text:focus-visible {
      transform: translateY(-1px);
    }

    .marketing-shell .btn-animated-text:hover .btn-label-current,
    .marketing-shell .btn-animated-text:focus-visible .btn-label-current {
      transform: translateX(115%);
    }

    .marketing-shell .btn-animated-text:hover .btn-label-track::after,
    .marketing-shell .btn-animated-text:focus-visible .btn-label-track::after {
      transform: translateX(0);
    }

    .marketing-shell .btn-black.btn-animated-text:hover,
    .marketing-shell .btn-black.btn-animated-text:focus-visible,
    .marketing-shell button[type="submit"].btn-black.btn-animated-text:hover,
    .marketing-shell button[type="submit"].btn-black.btn-animated-text:focus-visible {
      color: #242221;
    }

    .marketing-shell .btn-black.btn-animated-text:hover::before,
    .marketing-shell .btn-black.btn-animated-text:focus-visible::before,
    .marketing-shell button[type="submit"].btn-black.btn-animated-text:hover::before,
    .marketing-shell button[type="submit"].btn-black.btn-animated-text:focus-visible::before {
      opacity: 1;
      background: #E4FF82;
      border-color: #242221;
      transform: skewX(-20deg) scale(1.02);
    }

    .marketing-shell .btn-secondary.btn-animated-text:hover,
    .marketing-shell .btn-secondary.btn-animated-text:focus-visible,
    .marketing-shell button[type="submit"].btn-secondary.btn-animated-text:hover,
    .marketing-shell button[type="submit"].btn-secondary.btn-animated-text:focus-visible {
      color: #E4FF82;
    }

    .marketing-shell .btn-secondary.btn-animated-text:hover::before,
    .marketing-shell .btn-secondary.btn-animated-text:focus-visible::before,
    .marketing-shell button[type="submit"].btn-secondary.btn-animated-text:hover::before,
    .marketing-shell button[type="submit"].btn-secondary.btn-animated-text:focus-visible::before {
      opacity: 1;
      background: #242221;
      border-color: #242221;
      transform: skewX(-20deg) scale(1.02);
    }
  }

  input[type="submit"].btn-primary,
  input[type="submit"].btn-black,
  input[type="submit"].btn-secondary,
  input[type="submit"].btn-success,
  input[type="submit"].btn-error,
  input[type="submit"].btn-warning {
    appearance: none;
    border-radius: 4px 8px 4px 8px;
  }

  input[type="submit"].btn-primary,
  input[type="submit"].btn-black {
    background: #242221;
  }

  input[type="submit"].btn-primary {
    color: #ffffff;
    border: 0;
  }

  input[type="submit"].btn-black {
    color: #E4FF82;
    border: 0;
  }

  input[type="submit"].btn-success,
  input[type="submit"].btn-secondary {
    background: #E4FF82;
    border: 2px solid #242221;
    color: #242221;
  }

  input[type="submit"].btn-error {
    background: #EF4444;
    border: 0;
    color: #ffffff;
  }

  input[type="submit"].btn-warning {
    background: #F59E0B;
    border: 0;
    color: #242221;
  }

  .brand-surface {
    @apply rounded-2xl border border-neutral-200 bg-[#edeee9];
  }

  .brand-notice {
    @apply rounded-xl border border-secondary/30 bg-accent/70 text-primary;
  }

  :is(.app-shell, .admin-content) .bg-white .text-secondary,
  :is(.app-shell, .admin-content) .bg-neutral-50 .text-secondary,
  :is(.app-shell, .admin-content) .bg-neutral-100 .text-secondary,
  :is(.app-shell, .admin-content) .bg-\[\#edeee9\] .text-secondary,
  :is(.app-shell, .admin-content) .bg-accent .text-secondary,
  :is(.app-shell, .admin-content) .bg-accent\/70 .text-secondary,
  :is(.app-shell, .admin-content) .bg-secondary\/10 .text-secondary,
  :is(.app-shell, .admin-content) .bg-success-light .text-secondary,
  :is(.app-shell, .admin-content) .text-secondary-on-light {
    color: var(--app-accent-text);
  }

  :is(.app-shell, .admin-content) .bg-white .text-secondary\/80,
  :is(.app-shell, .admin-content) .bg-neutral-50 .text-secondary\/80,
  :is(.app-shell, .admin-content) .bg-neutral-100 .text-secondary\/80,
  :is(.app-shell, .admin-content) .bg-\[\#edeee9\] .text-secondary\/80,
  :is(.app-shell, .admin-content) .bg-accent .text-secondary\/80,
  :is(.app-shell, .admin-content) .bg-accent\/70 .text-secondary\/80,
  :is(.app-shell, .admin-content) .bg-secondary\/10 .text-secondary\/80,
  :is(.app-shell, .admin-content) .bg-success-light .text-secondary\/80 {
    color: var(--app-accent-text-muted);
  }

  :is(.app-shell, .admin-content) .bg-white .text-secondary\/60,
  :is(.app-shell, .admin-content) .bg-neutral-50 .text-secondary\/60,
  :is(.app-shell, .admin-content) .bg-neutral-100 .text-secondary\/60,
  :is(.app-shell, .admin-content) .bg-\[\#edeee9\] .text-secondary\/60,
  :is(.app-shell, .admin-content) .bg-accent .text-secondary\/60,
  :is(.app-shell, .admin-content) .bg-accent\/70 .text-secondary\/60,
  :is(.app-shell, .admin-content) .bg-secondary\/10 .text-secondary\/60,
  :is(.app-shell, .admin-content) .bg-success-light .text-secondary\/60 {
    color: var(--app-accent-text-soft);
  }

  :is(.app-shell, .admin-content) .bg-white .text-accent,
  :is(.app-shell, .admin-content) .bg-neutral-50 .text-accent,
  :is(.app-shell, .admin-content) .bg-neutral-100 .text-accent,
  :is(.app-shell, .admin-content) .bg-\[\#edeee9\] .text-accent,
  :is(.app-shell, .admin-content) .bg-accent .text-accent,
  :is(.app-shell, .admin-content) .bg-accent\/70 .text-accent,
  :is(.app-shell, .admin-content) .bg-secondary\/10 .text-accent,
  :is(.app-shell, .admin-content) .bg-success-light .text-accent,
  :is(.app-shell, .admin-content) .text-accent-on-light {
    color: var(--app-accent-text);
  }

  :is(.app-shell, .admin-content) .bg-white .hover\:text-secondary:hover,
  :is(.app-shell, .admin-content) .bg-neutral-50 .hover\:text-secondary:hover,
  :is(.app-shell, .admin-content) .bg-neutral-100 .hover\:text-secondary:hover,
  :is(.app-shell, .admin-content) .bg-\[\#edeee9\] .hover\:text-secondary:hover,
  :is(.app-shell, .admin-content) .bg-accent .hover\:text-secondary:hover,
  :is(.app-shell, .admin-content) .bg-accent\/70 .hover\:text-secondary:hover,
  :is(.app-shell, .admin-content) .bg-secondary\/10 .hover\:text-secondary:hover,
  :is(.app-shell, .admin-content) .bg-success-light .hover\:text-secondary:hover,
  :is(.app-shell, .admin-content) .bg-white .hover\:text-secondary\/80:hover,
  :is(.app-shell, .admin-content) .bg-neutral-50 .hover\:text-secondary\/80:hover,
  :is(.app-shell, .admin-content) .bg-neutral-100 .hover\:text-secondary\/80:hover,
  :is(.app-shell, .admin-content) .bg-\[\#edeee9\] .hover\:text-secondary\/80:hover,
  :is(.app-shell, .admin-content) .bg-accent .hover\:text-secondary\/80:hover,
  :is(.app-shell, .admin-content) .bg-accent\/70 .hover\:text-secondary\/80:hover,
  :is(.app-shell, .admin-content) .bg-secondary\/10 .hover\:text-secondary\/80:hover,
  :is(.app-shell, .admin-content) .bg-success-light .hover\:text-secondary\/80:hover,
  :is(.app-shell, .admin-content) .bg-white .hover\:text-accent:hover,
  :is(.app-shell, .admin-content) .bg-neutral-50 .hover\:text-accent:hover,
  :is(.app-shell, .admin-content) .bg-neutral-100 .hover\:text-accent:hover,
  :is(.app-shell, .admin-content) .bg-\[\#edeee9\] .hover\:text-accent:hover,
  :is(.app-shell, .admin-content) .bg-accent .hover\:text-accent:hover,
  :is(.app-shell, .admin-content) .bg-accent\/70 .hover\:text-accent:hover,
  :is(.app-shell, .admin-content) .bg-secondary\/10 .hover\:text-accent:hover,
  :is(.app-shell, .admin-content) .bg-success-light .hover\:text-accent:hover {
    color: var(--app-accent-text-hover);
  }

  :is(.app-shell, .admin-content) .bg-white .group:hover .group-hover\:text-secondary,
  :is(.app-shell, .admin-content) .bg-neutral-50 .group:hover .group-hover\:text-secondary,
  :is(.app-shell, .admin-content) .bg-neutral-100 .group:hover .group-hover\:text-secondary,
  :is(.app-shell, .admin-content) .bg-\[\#edeee9\] .group:hover .group-hover\:text-secondary,
  :is(.app-shell, .admin-content) .bg-accent .group:hover .group-hover\:text-secondary,
  :is(.app-shell, .admin-content) .bg-accent\/70 .group:hover .group-hover\:text-secondary,
  :is(.app-shell, .admin-content) .bg-secondary\/10 .group:hover .group-hover\:text-secondary,
  :is(.app-shell, .admin-content) .bg-success-light .group:hover .group-hover\:text-secondary {
    color: var(--app-accent-text-hover);
  }

  :is(.app-shell, .admin-content) .bg-white .focus\:ring-secondary:focus,
  :is(.app-shell, .admin-content) .bg-neutral-50 .focus\:ring-secondary:focus,
  :is(.app-shell, .admin-content) .bg-neutral-100 .focus\:ring-secondary:focus,
  :is(.app-shell, .admin-content) .bg-\[\#edeee9\] .focus\:ring-secondary:focus,
  :is(.app-shell, .admin-content) .bg-accent .focus\:ring-secondary:focus,
  :is(.app-shell, .admin-content) .bg-accent\/70 .focus\:ring-secondary:focus,
  :is(.app-shell, .admin-content) .bg-secondary\/10 .focus\:ring-secondary:focus,
  :is(.app-shell, .admin-content) .bg-success-light .focus\:ring-secondary:focus {
    --tw-ring-color: rgb(107 122 45 / 0.24);
  }

  :is(.app-shell, .admin-content) .bg-white .focus\:border-secondary:focus,
  :is(.app-shell, .admin-content) .bg-neutral-50 .focus\:border-secondary:focus,
  :is(.app-shell, .admin-content) .bg-neutral-100 .focus\:border-secondary:focus,
  :is(.app-shell, .admin-content) .bg-\[\#edeee9\] .focus\:border-secondary:focus,
  :is(.app-shell, .admin-content) .bg-accent .focus\:border-secondary:focus,
  :is(.app-shell, .admin-content) .bg-accent\/70 .focus\:border-secondary:focus,
  :is(.app-shell, .admin-content) .bg-secondary\/10 .focus\:border-secondary:focus,
  :is(.app-shell, .admin-content) .bg-success-light .focus\:border-secondary:focus {
    border-color: var(--app-accent-text);
  }

  .bg-secondary.text-white,
  .bg-secondary.text-background,
  .bg-secondary .text-white,
  .bg-secondary .text-background {
    color: #242221;
  }

  .hover\:bg-secondary:hover,
  .hover\:bg-secondary\/90:hover,
  .hover\:bg-secondary\/80:hover {
    color: #242221;
  }

  .hover\:bg-secondary:hover .text-background,
  .hover\:bg-secondary:hover .group-hover\:text-background,
  .hover\:bg-secondary\/90:hover .text-white,
  .hover\:bg-secondary\/90:hover .group-hover\:text-white,
  .hover\:bg-secondary\/80:hover .text-white,
  .hover\:bg-secondary\/80:hover .group-hover\:text-white {
    color: #242221;
  }

  .marketing-nav-link {
    position: relative;
    display: inline-block;
  }

  .marketing-nav-link::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .marketing-nav-link:hover::after,
  .marketing-nav-link:focus-visible::after,
  .marketing-nav-link-active::after {
    transform: scaleX(1);
  }

  .heading-hero {
    @apply text-5xl sm:text-6xl lg:text-7xl;
  }
}
/* Custom scrollbar styling for audit log */
.audit-log-scrollbar::-webkit-scrollbar {
  width: 6px;
}

.audit-log-scrollbar::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
}

.audit-log-scrollbar::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 10px;
}

.audit-log-scrollbar::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

/* For Firefox */
.audit-log-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: #d1d5db #f1f1f1;
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *



 */

