/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap');
@layer properties;
.pointer-events-none {
  pointer-events: none;
}
.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;
}
.top-1\/2 {
  top: calc(1/2 * 100%);
}
.z-10 {
  z-index: 10;
}
.z-50 {
  z-index: 50;
}
.z-60 {
  z-index: 60;
}
.z-\[100\] {
  z-index: 100;
}
.z-\[200\] {
  z-index: 200;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.float-left {
  float: left;
}
.container {
  width: 100%;
}
.mx-auto {
  margin-inline: auto;
}
.ml-auto {
  margin-left: auto;
}
.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;
}
.h-\[80vh\] {
  height: 80vh;
}
.h-\[90vh\] {
  height: 90vh;
}
.h-\[132px\] {
  height: 132px;
}
.h-\[600px\] {
  height: 600px;
}
.h-full {
  height: 100%;
}
.h-screen {
  height: 100vh;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.max-h-\[600px\] {
  max-height: 600px;
}
.min-h-\[80vh\] {
  min-height: 80vh;
}
.min-h-\[120px\] {
  min-height: 120px;
}
.min-h-\[140px\] {
  min-height: 140px;
}
.min-h-\[160px\] {
  min-height: 160px;
}
.min-h-\[400px\] {
  min-height: 400px;
}
.min-h-\[500px\] {
  min-height: 500px;
}
.min-h-screen {
  min-height: 100vh;
}
.w-\[38\%\] {
  width: 38%;
}
.w-\[60\%\] {
  width: 60%;
}
.w-\[86\%\] {
  width: 86%;
}
.w-\[94\%\] {
  width: 94%;
}
.w-full {
  width: 100%;
}
.w-px {
  width: 1px;
}
.max-w-3\/4 {
  max-width: calc(3/4 * 100%);
}
.max-w-\[80\%\] {
  max-width: 80%;
}
.max-w-\[85\%\] {
  max-width: 85%;
}
.max-w-none {
  max-width: none;
}
.min-w-\[240px\] {
  min-width: 240px;
}
.min-w-full {
  min-width: 100%;
}
.flex-1 {
  flex: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink-0 {
  flex-shrink: 0;
}
.flex-grow {
  flex-grow: 1;
}
.grow {
  flex-grow: 1;
}
.-translate-y-1\/2 {
  --tw-translate-y: calc(calc(1/2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.scale-105 {
  --tw-scale-x: 105%;
  --tw-scale-y: 105%;
  --tw-scale-z: 105%;
  scale: var(--tw-scale-x) var(--tw-scale-y);
}
.rotate-180 {
  rotate: 180deg;
}
.transform {
  transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
}
.animate-\[pulse_1\.1s_ease-out_1\] {
  animation: pulse 1.1s ease-out 1;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.resize {
  resize: both;
}
.list-inside {
  list-style-position: inside;
}
.list-decimal {
  list-style-type: decimal;
}
.list-disc {
  list-style-type: disc;
}
.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.place-items-center {
  place-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-center {
  align-items: center;
}
.items-end {
  align-items: flex-end;
}
.items-start {
  align-items: flex-start;
}
.items-stretch {
  align-items: stretch;
}
.justify-between {
  justify-content: space-between;
}
.justify-center {
  justify-content: center;
}
.justify-end {
  justify-content: flex-end;
}
.justify-start {
  justify-content: flex-start;
}
.divide-x {
  :where(& > :not(:last-child)) {
    --tw-divide-x-reverse: 0;
    border-inline-style: var(--tw-border-style);
    border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
    border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }
}
.divide-y {
  :where(& > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.rounded-\[28px\] {
  border-radius: 28px;
}
.rounded-\[30px\] {
  border-radius: 30px;
}
.rounded-full {
  border-radius: calc(infinity * 1px);
}
.rounded-t-\[28px\] {
  border-top-left-radius: 28px;
  border-top-right-radius: 28px;
}
.rounded-l-full {
  border-top-left-radius: calc(infinity * 1px);
  border-bottom-left-radius: calc(infinity * 1px);
}
.rounded-tl-none {
  border-top-left-radius: 0;
}
.rounded-r-full {
  border-top-right-radius: calc(infinity * 1px);
  border-bottom-right-radius: calc(infinity * 1px);
}
.rounded-br-none {
  border-bottom-right-radius: 0;
}
.border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.border-0 {
  border-style: var(--tw-border-style);
  border-width: 0px;
}
.border-2 {
  border-style: var(--tw-border-style);
  border-width: 2px;
}
.border-4 {
  border-style: var(--tw-border-style);
  border-width: 4px;
}
.border-t {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.border-t-4 {
  border-top-style: var(--tw-border-style);
  border-top-width: 4px;
}
.border-b {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 2px;
}
.border-b-4 {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 4px;
}
.border-l-4 {
  border-left-style: var(--tw-border-style);
  border-left-width: 4px;
}
.border-dashed {
  --tw-border-style: dashed;
  border-style: dashed;
}
.border-none {
  --tw-border-style: none;
  border-style: none;
}
.border-solid {
  --tw-border-style: solid;
  border-style: solid;
}
.border-transparent {
  border-color: transparent;
}
.border-r-transparent {
  border-right-color: transparent;
}
.bg-transparent {
  background-color: transparent;
}
.bg-gradient-to-br {
  --tw-gradient-position: to bottom right in oklab;
  background-image: linear-gradient(var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  --tw-gradient-position: to right in oklab;
  background-image: linear-gradient(var(--tw-gradient-stops));
}
.bg-gradient-to-t {
  --tw-gradient-position: to top in oklab;
  background-image: linear-gradient(var(--tw-gradient-stops));
}
.bg-\[radial-gradient\(1200px_600px_at_20\%_-10\%\,rgba\(14\,165\,164\,\.18\)\,transparent_60\%\)\,radial-gradient\(900px_500px_at_90\%_10\%\,rgba\(99\,102\,241\,\.12\)\,transparent_55\%\)\,linear-gradient\(180deg\,\#f8fafc\,\#eef2f7\)\] {
  background-image: radial-gradient(1200px 600px at 20% -10%,rgba(14,165,164,.18),transparent 60%),radial-gradient(900px 500px at 90% 10%,rgba(99,102,241,.12),transparent 55%),linear-gradient(180deg,#f8fafc,#eef2f7);
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[18px\] {
  font-size: 18px;
}
.text-\[20px\] {
  font-size: 20px;
}
.text-\[28px\] {
  font-size: 28px;
}
.text-\[34px\] {
  font-size: 34px;
}
.leading-\[1\.2\] {
  --tw-leading: 1.2;
  line-height: 1.2;
}
.tracking-\[0\.18em\] {
  --tw-tracking: 0.18em;
  letter-spacing: 0.18em;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.capitalize {
  text-transform: capitalize;
}
.lowercase {
  text-transform: lowercase;
}
.uppercase {
  text-transform: uppercase;
}
.italic {
  font-style: italic;
}
.line-through {
  text-decoration-line: line-through;
}
.overline {
  text-decoration-line: overline;
}
.underline {
  text-decoration-line: underline;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.opacity-0 {
  opacity: 0%;
}
.opacity-25 {
  opacity: 25%;
}
.opacity-30 {
  opacity: 30%;
}
.opacity-40 {
  opacity: 40%;
}
.opacity-50 {
  opacity: 50%;
}
.opacity-60 {
  opacity: 60%;
}
.opacity-70 {
  opacity: 70%;
}
.opacity-75 {
  opacity: 75%;
}
.opacity-80 {
  opacity: 80%;
}
.opacity-90 {
  opacity: 90%;
}
.opacity-100 {
  opacity: 100%;
}
.shadow-\[0_-18px_50px_rgba\(0\,0\,0\,\.20\)\] {
  --tw-shadow: 0 -18px 50px var(--tw-shadow-color, rgba(0,0,0,.20));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_10px_26px_rgba\(0\,0\,0\,\.06\)\] {
  --tw-shadow: 0 10px 26px var(--tw-shadow-color, rgba(0,0,0,.06));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_10px_26px_rgba\(0\,0\,0\,\.08\)\] {
  --tw-shadow: 0 10px 26px var(--tw-shadow-color, rgba(0,0,0,.08));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_12px_30px_rgba\(0\,0\,0\,\.06\)\] {
  --tw-shadow: 0 12px 30px var(--tw-shadow-color, rgba(0,0,0,.06));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_18px_50px_rgba\(2\,6\,23\,\.35\)\] {
  --tw-shadow: 0 18px 50px var(--tw-shadow-color, rgba(2,6,23,.35));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_18px_60px_rgba\(0\,0\,0\,\.08\)\] {
  --tw-shadow: 0 18px 60px var(--tw-shadow-color, rgba(0,0,0,.08));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_18px_60px_rgba\(0\,0\,0\,\.12\)\] {
  --tw-shadow: 0 18px 60px var(--tw-shadow-color, rgba(0,0,0,.12));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.ring-1 {
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + 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);
}
.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,);
}
.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, backdrop-filter, display, content-visibility, overlay, pointer-events;
  transition-timing-function: var(--tw-ease, ease);
  transition-duration: var(--tw-duration, 0s);
}
.transition-all {
  transition-property: all;
  transition-timing-function: var(--tw-ease, ease);
  transition-duration: var(--tw-duration, 0s);
}
.transition-colors {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, ease);
  transition-duration: var(--tw-duration, 0s);
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: var(--tw-ease, ease);
  transition-duration: var(--tw-duration, 0s);
}
.transition-transform {
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: var(--tw-ease, ease);
  transition-duration: var(--tw-duration, 0s);
}
.duration-150 {
  --tw-duration: 150ms;
  transition-duration: 150ms;
}
.duration-200 {
  --tw-duration: 200ms;
  transition-duration: 200ms;
}
.duration-300 {
  --tw-duration: 300ms;
  transition-duration: 300ms;
}
.duration-500 {
  --tw-duration: 500ms;
  transition-duration: 500ms;
}
.duration-700 {
  --tw-duration: 700ms;
  transition-duration: 700ms;
}
.outline-none {
  --tw-outline-style: none;
  outline-style: none;
}
.ring-inset {
  --tw-ring-inset: inset;
}
.group-hover\:animate-none {
  &:is(:where(.group):hover *) {
    @media (hover: hover) {
      animation: none;
    }
  }
}
.peer-focus\:ring-4 {
  &:is(:where(.peer):focus ~ *) {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + 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);
  }
}
.peer-focus\:outline-none {
  &:is(:where(.peer):focus ~ *) {
    --tw-outline-style: none;
    outline-style: none;
  }
}
.after\:absolute {
  &::after {
    content: var(--tw-content);
    position: absolute;
  }
}
.after\:top-\[2px\] {
  &::after {
    content: var(--tw-content);
    top: 2px;
  }
}
.after\:left-\[2px\] {
  &::after {
    content: var(--tw-content);
    left: 2px;
  }
}
.after\:rounded-full {
  &::after {
    content: var(--tw-content);
    border-radius: calc(infinity * 1px);
  }
}
.after\:border {
  &::after {
    content: var(--tw-content);
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
}
.after\:transition-all {
  &::after {
    content: var(--tw-content);
    transition-property: all;
    transition-timing-function: var(--tw-ease, ease);
    transition-duration: var(--tw-duration, 0s);
  }
}
.after\:content-\[\'\'\] {
  &::after {
    --tw-content: '';
    content: var(--tw-content);
  }
}
.peer-checked\:after\:translate-x-full {
  &:is(:where(.peer):checked ~ *) {
    &::after {
      content: var(--tw-content);
      --tw-translate-x: 100%;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
}
.last\:border-b-0 {
  &:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0px;
  }
}
.hover\:scale-105 {
  &:hover {
    @media (hover: hover) {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
}
.hover\:scale-\[1\.02\] {
  &:hover {
    @media (hover: hover) {
      scale: 1.02;
    }
  }
}
.hover\:underline {
  &:hover {
    @media (hover: hover) {
      text-decoration-line: underline;
    }
  }
}
.hover\:shadow-\[0_18px_40px_rgba\(0\,0\,0\,\.08\)\] {
  &:hover {
    @media (hover: hover) {
      --tw-shadow: 0 18px 40px var(--tw-shadow-color, rgba(0,0,0,.08));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
}
.focus\:border-transparent {
  &:focus {
    border-color: transparent;
  }
}
.focus\:ring-2 {
  &:focus {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + 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);
  }
}
.focus\:ring-4 {
  &:focus {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + 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);
  }
}
.focus\:ring-offset-2 {
  &:focus {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }
}
.focus\:outline-none {
  &:focus {
    --tw-outline-style: none;
    outline-style: none;
  }
}
.active\:scale-95 {
  &:active {
    --tw-scale-x: 95%;
    --tw-scale-y: 95%;
    --tw-scale-z: 95%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
}
.disabled\:cursor-not-allowed {
  &:disabled {
    cursor: not-allowed;
  }
}
.disabled\:opacity-50 {
  &:disabled {
    opacity: 50%;
  }
}
.disabled\:hover\:scale-100 {
  &:disabled {
    &:hover {
      @media (hover: hover) {
        --tw-scale-x: 100%;
        --tw-scale-y: 100%;
        --tw-scale-z: 100%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
}
:root {
  --color-primary: #627d98;
  --color-primary-dark: #486581;
  --color-accent: #f97316;
  --color-success: #22c55e;
  --perspective-3d: 1000px;
  --shadow-3d-1: 0 2px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-3d-2: 0 8px 24px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.1);
  --shadow-3d-3: 0 16px 48px rgba(0, 0, 0, 0.15), 0 8px 16px rgba(0, 0, 0, 0.12);
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #171717;
  overflow-x: hidden;
}
.card-3d {
  transform-style: preserve-3d;
  transition: all 320ms ease-out;
  will-change: transform, box-shadow;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12), 0 4px 12px rgba(15, 23, 42, 0.08);
  backface-visibility: hidden;
  transform: translateZ(0);
}
.card-3d:hover {
  transform: translateY(-10px) rotateX(3deg) translateZ(0);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.25), 0 10px 30px rgba(15, 23, 42, 0.15);
}
.btn-3d {
  transition: all 260ms ease-out;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12), 0 4px 12px rgba(15, 23, 42, 0.08);
  will-change: transform, box-shadow;
  cursor: pointer;
  backface-visibility: hidden;
  transform: translateZ(0);
}
.btn-3d:hover {
  transform: translateY(-4px) translateZ(0);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.25), 0 10px 30px rgba(15, 23, 42, 0.15);
}
.btn-3d:active {
  transform: translateY(-2px) translateZ(0);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12), 0 4px 12px rgba(15, 23, 42, 0.08);
}
.scroll-fade-in {
  opacity: 0;
  transform: translateY(60px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.scroll-fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}
@keyframes glow {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
  }
}
.animate-glow {
  animation: glow 2.4s ease-in-out infinite alternate;
}
.mobile-menu {
  display: none;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
}
.mobile-menu.active {
  display: block;
  opacity: 1;
  transform: translateY(0);
}
.perspective-3d {
  perspective: var(--perspective-3d);
  transform-style: preserve-3d;
}
.transform-3d {
  transform-style: preserve-3d;
  transition: transform 600ms ease-out;
}
.card-3d-enhanced {
  transform-style: preserve-3d;
  transition: all 400ms ease-out;
  will-change: transform, box-shadow;
}
.card-3d-enhanced:hover {
  transform: translateY(-12px) rotateX(4deg) rotateY(-2deg);
  box-shadow: var(--shadow-3d-3);
}
.depth-1 {
  box-shadow: var(--shadow-3d-1);
  transform: translateZ(10px);
}
.depth-2 {
  box-shadow: var(--shadow-3d-2);
  transform: translateZ(20px);
}
.depth-3 {
  box-shadow: var(--shadow-3d-3);
  transform: translateZ(30px);
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(60px) translateZ(0);
  }
  to {
    opacity: 1;
    transform: translateY(0) translateZ(0);
  }
}
@keyframes float {
  0% {
    transform: translateY(0px) translateZ(0);
  }
  50% {
    transform: translateY(-30px) translateZ(0);
  }
  100% {
    transform: translateY(0px) translateZ(0);
  }
}
@keyframes glow {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
  }
}
.scroll-fade-in {
  opacity: 0;
  transform: translateY(60px) translateZ(0);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.scroll-fade-in.visible {
  opacity: 1;
  transform: translateY(0) translateZ(0);
}
.scroll-scale-in {
  opacity: 0;
  transform: scale(0.8) translateZ(0);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.scroll-scale-in.visible {
  opacity: 1;
  transform: scale(1) translateZ(0);
}
.scroll-slide-left {
  opacity: 0;
  transform: translateX(-100px) translateZ(0);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.scroll-slide-left.visible {
  opacity: 1;
  transform: translateX(0) translateZ(0);
}
.scroll-slide-right {
  opacity: 0;
  transform: translateX(100px) translateZ(0);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.scroll-slide-right.visible {
  opacity: 1;
  transform: translateX(0) translateZ(0);
}
.animate-fade-in-up {
  animation-name: fadeInUp;
  animation-duration: 0.8s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
.animate-float {
  animation: float 6s ease-in-out infinite;
}
.animate-glow {
  animation: glow 2s ease-in-out infinite alternate;
}
.glass {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
.btn-3d {
  position: relative;
  transform-style: preserve-3d;
  transition: all 300ms ease-out;
  box-shadow: var(--shadow-3d-2);
}
.btn-3d:hover {
  transform: translateY(-4px) translateZ(20px);
  box-shadow: var(--shadow-3d-3);
}
.btn-3d:active {
  transform: translateY(-2px) translateZ(10px);
  box-shadow: var(--shadow-3d-1);
}
.parallax-slow {
  transform: translateZ(-100px) scale(1.1);
  will-change: transform;
}
.parallax-medium {
  transform: translateZ(-50px) scale(1.05);
  will-change: transform;
}
::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}
::-webkit-scrollbar-track {
  background: #f5f5f5;
  border-radius: 10px;
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #627d98, #486581);
  border-radius: 10px;
  border: 2px solid #f5f5f5;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #486581, #334e68);
}
.animate-fade-in-up,
.animate-float,
.card-3d,
.btn-3d {
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-font-smoothing: subpixel-antialiased;
}
.magnetic-btn {
  position: relative;
  transition: transform 0.3s ease-out;
  will-change: transform;
}
.magnetic-btn:hover {
  transform: scale(1.05);
}
@keyframes gradient-shift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.gradient-text-animated {
  background: linear-gradient(
    90deg,
    #627d98 0%,
    #486581 25%,
    #f97316 50%,
    #486581 75%,
    #627d98 100%
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: gradient-shift 3s ease infinite;
}
@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
.shimmer {
  position: relative;
  overflow: hidden;
}
.shimmer::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.3),
    transparent
  );
  animation: shimmer 2s infinite;
}
@keyframes pulse-ring {
  0% {
    transform: scale(0.8);
    opacity: 1;
  }
  50% {
    transform: scale(1.2);
    opacity: 0.5;
  }
  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}
.pulse-ring {
  position: relative;
}
.pulse-ring::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  border-radius: inherit;
  border: 2px solid currentColor;
  animation-name: pulse-ring;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.hover-lift {
  transition: all 0.4s ease-out;
}
.hover-lift:hover {
  transform: translateY(-12px) scale(1.02);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}
@keyframes text-reveal {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}
.text-reveal {
  animation-name: text-reveal;
  animation-duration: 1s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
.morph-bg {
  background: linear-gradient(135deg, rgba(98, 125, 152, 0.1), rgba(249, 115, 22, 0.1));
  border-radius: 50%;
}
.stagger-item {
  opacity: 0;
  transform: translateY(20px);
  animation: stagger-fade-in 0.6s ease forwards;
}
.stagger-item:nth-child(1) {
  animation-delay: 0.1s;
}
.stagger-item:nth-child(2) {
  animation-delay: 0.2s;
}
.stagger-item:nth-child(3) {
  animation-delay: 0.3s;
}
.stagger-item:nth-child(4) {
  animation-delay: 0.4s;
}
.stagger-item:nth-child(5) {
  animation-delay: 0.5s;
}
.stagger-item:nth-child(6) {
  animation-delay: 0.6s;
}
@keyframes stagger-fade-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.tilt-card {
  transition: transform 0.3s ease;
  transform-style: preserve-3d;
}
.scale-on-hover {
  transition: transform 0.3s ease-out;
}
.scale-on-hover:hover {
  transform: scale(1.08);
}
@keyframes border-gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.border-gradient {
  position: relative;
  background: linear-gradient(90deg, #627d98, #f97316, #22c55e, #627d98);
  background-size: 200% 200%;
  border-radius: inherit;
  padding: 2px;
  animation: border-gradient 3s ease infinite;
}
.border-gradient > * {
  background: white;
  border-radius: inherit;
}
@keyframes float-particle {
  0% {
    transform: translateY(0) translateX(0) rotate(0deg);
    opacity: 0.7;
  }
  33% {
    transform: translateY(-30px) translateX(20px) rotate(120deg);
    opacity: 1;
  }
  66% {
    transform: translateY(-60px) translateX(-20px) rotate(240deg);
    opacity: 0.5;
  }
  100% {
    transform: translateY(0) translateX(0) rotate(0deg);
    opacity: 0.7;
  }
}
.floating-particle {
  position: absolute;
  width: 4px;
  height: 4px;
  background: currentColor;
  border-radius: 50%;
  animation: float-particle 6s ease-in-out infinite;
  opacity: 0.7;
}
.ripple-btn {
  position: relative;
  overflow: hidden;
}
.ripple-btn::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}
.ripple-btn:active::after {
  width: 300px;
  height: 300px;
}
.color-transition {
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}
.glass-enhanced {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(30px) saturate(200%);
  -webkit-backdrop-filter: blur(30px) saturate(200%);
  border: 1px solid rgba(255, 255, 255, 0.4);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
.text-gradient {
  background: linear-gradient(135deg, #627d98 0%, #f97316 50%, #22c55e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  background-size: 200% auto;
  animation: gradient-shift 3s ease infinite;
}
.scroll-indicator {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #627d98, #f97316);
  transform-origin: left;
  z-index: 9999;
  transition: transform 0.1s ease;
}
@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-divide-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@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-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-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-divide-x-reverse: 0;
      --tw-border-style: solid;
      --tw-divide-y-reverse: 0;
      --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-duration: initial;
      --tw-content: "";
    }
  }
}
