/* [project]/app/(website)/website.css [app-client] (css) */
:root {
  --gradient-start: var(--warm-teal-600);
  --gradient-mid: var(--warm-purple-600);
  --gradient-end: var(--warm-amber-500);
  --glass-blur: 12px;
  --glass-opacity: .75;
  --glass-border-opacity: .3;
  --mesh-opacity-light: .25;
  --mesh-opacity-dark: .15;
  --grain-opacity-light: .03;
  --grain-opacity-dark: .04;
  --section-spacing: clamp(4rem, 10vh, 8rem);
}

.dark {
  --glass-opacity: .6;
  --glass-border-opacity: .2;
}

.text-gradient {
  background: linear-gradient(135deg, hsl(var(--gradient-start)) 0%, hsl(var(--gradient-mid)) 50%, hsl(var(--gradient-end)) 100%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  display: inline-block;
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .text-gradient {
    color: hsl(var(--primary));
    background: none;
  }
}

.surface-glass {
  background: hsl(var(--background) / var(--glass-opacity));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: 1px solid hsl(var(--border) / var(--glass-border-opacity));
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .surface-glass {
    background: hsl(var(--background) / .95);
    border: 1px solid hsl(var(--border) / .5);
  }
}

.texture-grain {
  isolation: isolate;
  position: relative;
}

.texture-grain:before {
  content: "";
  opacity: var(--grain-opacity-light);
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 1;
  content-visibility: auto;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='0.5'/%3E%3C/svg%3E");
  background-size: 256px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.dark .texture-grain:before {
  opacity: var(--grain-opacity-dark);
}

.texture-grain > * {
  z-index: 2;
  position: relative;
}

.magnetic-cursor-active, .magnetic-cursor-active * {
  cursor: none !important;
}

.text-balance {
  text-wrap: balance;
}

.text-shadow-soft {
  text-shadow: 0 1px 2px rgba(0, 0, 0, .1), 0 2px 8px rgba(0, 0, 0, .15);
}

.divider-soft {
  background: linear-gradient(90deg, transparent, hsl(var(--border) / .5), transparent);
  border: none;
  height: 1px;
}

.font-display {
  font-family: var(--font-display), var(--font-heading);
  font-variation-settings: "wght" 600;
}

.font-display-interactive {
  font-family: var(--font-display), var(--font-heading);
  font-variation-settings: "wght" 600;
  transition: font-variation-settings .3s cubic-bezier(.4, 0, .2, 1);
}

.font-display-interactive:hover {
  font-variation-settings: "wght" 700;
}

.font-display-hero {
  font-family: var(--font-display), var(--font-heading);
  font-variation-settings: "wght" 700, "opsz" 72;
  font-size: max(2.5rem, min(8vw, 5rem));
}

.font-display-heading {
  font-family: var(--font-display), var(--font-heading);
  font-variation-settings: "wght" 650, "opsz" 32;
}

h1 {
  font-family: var(--font-display), var(--font-heading);
  font-variation-settings: "wght" 700, "opsz" 72;
  letter-spacing: -.02em;
  font-size: max(2.5rem, min(8vw, 5rem));
  line-height: 1.1;
}

h1 .gradient-heading, h1 .text-gradient {
  background: linear-gradient(135deg, hsl(var(--gradient-start)) 0%, hsl(var(--gradient-mid)) 50%, hsl(var(--gradient-end)) 100%);
  -webkit-text-fill-color: transparent;
  font-family: var(--font-display), var(--font-heading);
  font-variation-settings: "wght" 700, "opsz" 72;
  -webkit-background-clip: text;
  background-clip: text;
  display: inline-block;
}

h2 {
  font-family: var(--font-display), var(--font-heading);
  font-variation-settings: "wght" 650, "opsz" 48;
  letter-spacing: -.015em;
}

h3 {
  font-family: var(--font-display), var(--font-heading);
  font-variation-settings: "wght" 600, "opsz" 32;
  letter-spacing: -.01em;
}

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

  :focus {
    transition-duration: .01ms !important;
  }
}

/*# sourceMappingURL=app_%28website%29_website_c2ae3479.css.map*/