@layer properties;

@layer theme, base, components, utilities;

@layer theme {
  :root, :host {
    --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --color-red-50: oklch(97.1% .013 17.38);
    --color-red-200: oklch(88.5% .062 18.334);
    --color-red-600: oklch(57.7% .245 27.325);
    --color-red-800: oklch(44.4% .177 26.899);
    --color-green-50: oklch(98.2% .018 155.826);
    --color-green-800: oklch(44.8% .119 151.328);
    --color-slate-400: oklch(70.4% .04 256.788);
    --color-slate-500: oklch(55.4% .046 257.417);
    --color-slate-600: oklch(44.6% .043 257.281);
    --color-slate-800: oklch(27.9% .041 260.031);
    --color-slate-900: oklch(20.8% .042 265.755);
    --color-gray-50: oklch(98.5% .002 247.839);
    --color-gray-100: oklch(96.7% .003 264.542);
    --color-gray-200: oklch(92.8% .006 264.531);
    --color-gray-300: oklch(87.2% .01 258.338);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: 1.2;
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --tracking-wide: .025em;
    --leading-tight: 1.25;
    --leading-relaxed: 1.625;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --ease-in: cubic-bezier(.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-brand: #1EAE98;
    --color-brand-600: #148A78;
    --color-brand-400: #29C4AC;
    --color-brand-dark: #005BAC;
    --color-accent: #FF7A21;
    --color-ink: #0E1428;
    --color-muted: #5F6C85;
    --color-heroBg: #F3F6FB;
    --radius-card: 1rem;
    --radius-smooth: 1.25rem;
    --shadow-card: 0 24px 50px -20px rgba(15, 24, 40, .35);
    --shadow-card-hover: 0 32px 65px -25px rgba(15, 24, 40, .42);
    --shadow-glow: 0 20px 50px -15px rgba(30, 174, 152, .35);
    --transition-smooth: cubic-bezier(.4, 0, .2, 1);
    --color-navText: #0E152B;
    --color-border: #E1E7EF;
    --color-cardBg: #FFFFFF;
    --color-heroOverlay: rgba(12, 20, 36, .58)
  }
}

@layer base {
  *, :after, :before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid
  }

  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit
  }

  b, strong {
    font-weight: bolder
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em
  }

  small {
    font-size: 80%
  }

  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
  }

  sub {
    bottom: -.25em
  }

  sup {
    top: -.5em
  }

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

  :-moz-focusring {
    outline: auto
  }

  progress {
    vertical-align: baseline
  }

  summary {
    display: list-item
  }

  ol, ul, menu {
    list-style: none
  }

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

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

  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1
  }

  :where(select:is([multiple],[size])) optgroup {
    font-weight: bolder
  }

  :where(select:is([multiple],[size])) optgroup option {
    padding-inline-start: 20px
  }

  ::file-selector-button {
    margin-inline-end: 4px
  }

  ::placeholder {
    opacity: 1
  }

  @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor
    }

    @supports (color: color-mix(in lab,red,red)) { {
      color: color-mix(in oklab, currentcolor 50%, transparent)
    }
    }
  }textarea {
     resize: vertical
   }

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

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit
  }

  ::-webkit-datetime-edit {
    display: inline-flex
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0
  }

  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1
  }

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

  button, input:where([type=button],[type=reset],[type=submit]), ::file-selector-button {
    appearance: button
  }

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

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

@layer utilities {
  .visible {
    visibility: visible
  }

  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0
  }

  .absolute {
    position: absolute
  }

  .fixed {
    position: fixed
  }

  .relative {
    position: relative
  }

  .static {
    position: static
  }

  .sticky {
    position: sticky
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0)
  }

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

  .top-24 {
    top: calc(var(--spacing) * 24)
  }

  .right-1\/6 {
    right: calc(1 / 6 * 100%)
  }

  .bottom-6 {
    bottom: calc(var(--spacing) * 6)
  }

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

  .z-10 {
    z-index: 10
  }

  .container {
    width: 100%
  }

  @media (width >= 40rem) {
    .container {
      max-width: 40rem
    }
  }@media (width >= 48rem) {
  .container {
    max-width: 48rem
  }
}@media (width >= 64rem) {
  .container {
    max-width: 64rem
  }
}@media (width >= 80rem) {
  .container {
    max-width: 80rem
  }
}@media (width >= 96rem) {
  .container {
    max-width: 96rem
  }
}.mx-auto {
   margin-inline: auto
 }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1)
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2)
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3)
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4)
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6)
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8)
  }

  .mt-10 {
    margin-top: calc(var(--spacing) * 10)
  }

  .mr-2 {
    margin-right: calc(var(--spacing) * 2)
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2)
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4)
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8)
  }

  .block {
    display: block
  }

  .flex {
    display: flex
  }

  .grid {
    display: grid
  }

  .hidden {
    display: none
  }

  .inline {
    display: inline
  }

  .inline-block {
    display: inline-block
  }

  .inline-flex {
    display: inline-flex
  }

  .aspect-\[4\/3\] {
    aspect-ratio: 4/3
  }

  .h-2 {
    height: calc(var(--spacing) * 2)
  }

  .h-10 {
    height: calc(var(--spacing) * 10)
  }

  .h-16 {
    height: calc(var(--spacing) * 16)
  }

  .h-40 {
    height: calc(var(--spacing) * 40)
  }

  .h-44 {
    height: calc(var(--spacing) * 44)
  }

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

  .h-\[675px\] {
    height: 675px
  }

  .h-full {
    height: 100%
  }

  .w-6 {
    width: calc(var(--spacing) * 6)
  }

  .w-8 {
    width: calc(var(--spacing) * 8)
  }

  .w-10 {
    width: calc(var(--spacing) * 10)
  }

  .w-\[488px\] {
    width: 488px
  }

  .w-auto {
    width: auto
  }

  .w-full {
    width: 100%
  }

  .max-w-2xl {
    max-width: var(--container-2xl)
  }

  .max-w-3xl {
    max-width: var(--container-3xl)
  }

  .max-w-xl {
    max-width: var(--container-xl)
  }

  .flex-1 {
    flex: 1
  }

  .border-collapse {
    border-collapse: collapse
  }

  .-translate-x-1\/2 {
    --tw-translate-x: -50%;
    translate: var(--tw-translate-x) var(--tw-translate-y)
  }

  .-translate-y-1\/2 {
    --tw-translate-y: -50%;
    translate: var(--tw-translate-x) var(--tw-translate-y)
  }

  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)
  }

  .cursor-pointer {
    cursor: pointer
  }

  .resize {
    resize: both
  }

  .list-disc {
    list-style-type: disc
  }

  .columns-1 {
    columns: 1
  }

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

  .flex-wrap {
    flex-wrap: wrap
  }

  .items-center {
    align-items: center
  }

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

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

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

  .justify-center {
    justify-content: center
  }

  .gap-1 {
    gap: calc(var(--spacing) * 1)
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2)
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3)
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4)
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6)
  }

  .gap-8 {
    gap: calc(var(--spacing) * 8)
  }

  .gap-10 {
    gap: calc(var(--spacing) * 10)
  }

  .gap-12 {
    gap: calc(var(--spacing) * 12)
  }

  :where(.space-y-2>:not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))
  }

  :where(.space-y-10>:not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))
  }

  .overflow-hidden {
    overflow: hidden
  }

  .rounded {
    border-radius: .25rem
  }

  .rounded-card {
    border-radius: var(--radius-card)
  }

  .rounded-full {
    border-radius: calc(infinity * 1px)
  }

  .rounded-lg {
    border-radius: var(--radius-lg)
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px
  }

  .border-red-200 {
    border-color: var(--color-red-200)
  }

  .border-white\/50 {
    border-color: color-mix(in srgb, #fff 50%, transparent)
  }

  @supports (color: color-mix(in lab,red,red)) {
    .border-white\/50 {
      border-color: color-mix(in oklab, var(--color-white) 50%, transparent)
    }
  }.bg-\[--color-brand\] {
     background-color: --color-brand
   }

  .bg-black\/45 {
    background-color: color-mix(in srgb, #000 45%, transparent)
  }

  @supports (color: color-mix(in lab,red,red)) {
    .bg-black\/45 {
      background-color: color-mix(in oklab, var(--color-black) 45%, transparent)
    }
  }.bg-brand {
     background-color: var(--color-brand)
   }

  .bg-gray-200 {
    background-color: var(--color-gray-200)
  }

  .bg-gray-300 {
    background-color: var(--color-gray-300)
  }

  .bg-green-50 {
    background-color: var(--color-green-50)
  }

  .bg-heroBg {
    background-color: var(--color-heroBg)
  }

  .bg-red-50 {
    background-color: var(--color-red-50)
  }

  .bg-white {
    background-color: var(--color-white)
  }

  .bg-white\/20 {
    background-color: color-mix(in srgb, #fff 20%, transparent)
  }

  @supports (color: color-mix(in lab,red,red)) {
    .bg-white\/20 {
      background-color: color-mix(in oklab, var(--color-white) 20%, transparent)
    }
  }.object-cover {
     object-fit: cover
   }

  .object-center {
    object-position: center
  }

  .p-4 {
    padding: calc(var(--spacing) * 4)
  }

  .p-5 {
    padding: calc(var(--spacing) * 5)
  }

  .p-6 {
    padding: calc(var(--spacing) * 6)
  }

  .p-8 {
    padding: calc(var(--spacing) * 8)
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3)
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4)
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1)
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2)
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3)
  }

  .pl-5 {
    padding-left: calc(var(--spacing) * 5)
  }

  .text-center {
    text-align: center
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height))
  }

  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height))
  }

  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height))
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height))
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height))
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height))
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed)
  }

  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight)
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold)
  }

  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold)
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium)
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold)
  }

  .text-\[--color-brand\] {
    color: --color-brand
  }

  .text-\[--color-muted\] {
    color: --color-muted
  }

  .text-brand {
    color: var(--color-brand)
  }

  .text-brand-dark {
    color: var(--color-brand-dark)
  }

  .text-green-800 {
    color: var(--color-green-800)
  }

  .text-ink {
    color: var(--color-ink)
  }

  .text-muted {
    color: var(--color-muted)
  }

  .text-red-600 {
    color: var(--color-red-600)
  }

  .text-red-800 {
    color: var(--color-red-800)
  }

  .text-slate-400 {
    color: var(--color-slate-400)
  }

  .text-slate-500 {
    color: var(--color-slate-500)
  }

  .text-slate-600 {
    color: var(--color-slate-600)
  }

  .text-slate-900 {
    color: var(--color-slate-900)
  }

  .text-white {
    color: var(--color-white)
  }

  .text-white\/70 {
    color: color-mix(in srgb, #fff 70%, transparent)
  }

  @supports (color: color-mix(in lab,red,red)) {
    .text-white\/70 {
      color: color-mix(in oklab, var(--color-white) 70%, transparent)
    }
  }.text-white\/80 {
     color: color-mix(in srgb, #fff 80%, transparent)
   }

  @supports (color: color-mix(in lab,red,red)) {
    .text-white\/80 {
      color: color-mix(in oklab, var(--color-white) 80%, transparent)
    }
  }.text-white\/85 {
     color: color-mix(in srgb, #fff 85%, transparent)
   }

  @supports (color: color-mix(in lab,red,red)) {
    .text-white\/85 {
      color: color-mix(in oklab, var(--color-white) 85%, transparent)
    }
  }.lowercase {
     text-transform: lowercase
   }

  .uppercase {
    text-transform: uppercase
  }

  .italic {
    font-style: italic
  }

  .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, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration))
  }

  .transition-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, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration))
  }

  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in)
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out)
  }

  @media (hover: hover) {
    .hover\:text-brand:hover {
      color: var(--color-brand)
    }
  }@media (hover: hover) {
  .hover\:underline:hover {
    text-decoration-line: underline
  }
}@media (hover: hover) {
  .hover\:shadow:hover {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
  }
}@media (width >= 40rem) {
  .sm\:columns-2 {
    columns: 2
  }
}@media (width >= 40rem) {
  .sm\:grid-cols-2 {
    grid-template-columns:repeat(2, minmax(0, 1fr))
  }
}@media (width >= 48rem) {
  .md\:block {
    display: block
  }
}@media (width >= 48rem) {
  .md\:h-\[78vh\] {
    height: 78vh
  }
}@media (width >= 48rem) {
  .md\:grid-cols-2 {
    grid-template-columns:repeat(2, minmax(0, 1fr))
  }
}@media (width >= 48rem) {
  .md\:grid-cols-3 {
    grid-template-columns:repeat(3, minmax(0, 1fr))
  }
}@media (width >= 48rem) {
  .md\:grid-cols-4 {
    grid-template-columns:repeat(4, minmax(0, 1fr))
  }
}@media (width >= 48rem) {
  .md\:text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height))
  }
}@media (width >= 48rem) {
  .md\:text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height))
  }
}@media (width >= 64rem) {
  .lg\:columns-3 {
    columns: 3
  }
}@media (width >= 64rem) {
  .lg\:grid-cols-1 {
    grid-template-columns:repeat(1, minmax(0, 1fr))
  }
}@media (width >= 64rem) {
  .lg\:grid-cols-2 {
    grid-template-columns:repeat(2, minmax(0, 1fr))
  }
}@media (width >= 64rem) {
  .lg\:grid-cols-3 {
    grid-template-columns:repeat(3, minmax(0, 1fr))
  }
}@media (width >= 64rem) {
  .lg\:grid-cols-\[1fr\,420px\] {
    grid-template-columns:1fr,420px
  }
}@media (width >= 64rem) {
  .lg\:grid-cols-\[260px\,1fr\] {
    grid-template-columns:260px,1fr
  }
}@media (width >= 64rem) {
  .lg\:grid-cols-\[minmax\(0\,1\.1fr\)_360px\] {
    grid-template-columns:minmax(0, 1.1fr) 360px
  }
}@media (width >= 64rem) {
  .lg\:grid-cols-\[minmax\(0\,1\.1fr\)_minmax\(0\,1fr\)\] {
    grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr)
  }
}@media (width >= 64rem) {
  .lg\:grid-cols-\[minmax\(0\,1\.2fr\)_340px\] {
    grid-template-columns:minmax(0, 1.2fr) 340px
  }
}@media (width >= 64rem) {
  .lg\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)\] {
    grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr)
  }
}@media (width >= 64rem) {
  .lg\:grid-cols-\[minmax\(0\,1\.05fr\)_340px\] {
    grid-template-columns:minmax(0, 1.05fr) 340px
  }
}@media (width >= 64rem) {
  .lg\:grid-cols-\[minmax\(0\,1\.05fr\)_minmax\(0\,1fr\)\] {
    grid-template-columns:minmax(0, 1.05fr) minmax(0, 1fr)
  }
}@media (width >= 64rem) {
  .lg\:grid-cols-\[minmax\(0\,1\.15fr\)_minmax\(0\,1fr\)\] {
    grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr)
  }
}@media (width >= 64rem) {
  .lg\:grid-cols-\[minmax\(0\,1fr\)_340px\] {
    grid-template-columns:minmax(0, 1fr) 340px
  }
}@media (width >= 64rem) {
  .lg\:grid-cols-\[minmax\(0\,1fr\)_360px\] {
    grid-template-columns:minmax(0, 1fr) 360px
  }
}@media (width >= 64rem) {
  .lg\:grid-cols-\[minmax\(0\,1fr\)_380px\] {
    grid-template-columns:minmax(0, 1fr) 380px
  }
}@media (width >= 64rem) {
  .lg\:items-center {
    align-items: center
  }
}@media (width >= 80rem) {
  .xl\:grid-cols-3 {
    grid-template-columns:repeat(3, minmax(0, 1fr))
  }
}
}

:root {
  font-family: var(--font-sans), serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

html {
  scroll-behavior: smooth
}

body {
  text-rendering: optimizeLegibility
}

@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important
  }
}

.container {
  margin-inline: auto;
  padding-inline: 1rem;
  width: 100%
}

@media (min-width: 768px) {
  .section {
    padding-block: 4rem
  }
}

.card {
  border-radius: var(--radius-smooth);
  background: var(--color-cardBg);
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: var(--shadow-card);
  transition: transform .35s var(--transition-smooth), box-shadow .35s var(--transition-smooth), border-color .3s ease;
  position: relative;
  overflow: hidden
}

.card:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .2), transparent);
  transition: left .5s ease
}

.card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-card-hover);
  border-color: #1eae9833
}

.card:hover:before {
  left: 100%
}

.kicker {
  text-transform: uppercase;
  font-size: .7rem;
  letter-spacing: .32em;
  font-weight: 700;
  background: linear-gradient(135deg, var(--color-brand), var(--color-brand-dark));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 4px rgba(30, 174, 152, .2))
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  padding: .95rem 2rem;
  border-radius: 0 0 1.25rem;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  transition: all .35s var(--transition-smooth);
  border: none;
  cursor: pointer;
  position: relative;
  overflow: hidden
}

.btn:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(45deg, #fff0, #ffffff1a, #fff0);
  transform: translate(-100%);
  transition: transform .6s ease
}

.btn:hover:before {
  transform: translate(100%)
}

.btn-primary {
  background: linear-gradient(135deg, var(--color-brand) 0%, var(--color-brand-600) 100%);
  color: #fff;
  box-shadow: var(--shadow-glow)
}

.btn-primary:hover {
  background: linear-gradient(135deg, var(--color-brand-600) 0%, var(--color-brand-dark) 100%);
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 28px 60px -20px #1eae98a6
}

.btn-primary:active {
  transform: translateY(-1px) scale(1)
}

.btn-outline {
  border: 2px solid var(--color-brand);
  color: var(--color-brand);
  background: transparent;
  border-radius: 0 0 1.25rem;
  position: relative;
  z-index: 1
}

.btn-outline:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--color-brand) 0%, var(--color-brand-600) 100%);
  opacity: 0;
  transition: opacity .3s ease;
  z-index: -1;
  border-radius: 0 0 1.25rem
}

.btn-outline:hover {
  color: #fff;
  border-color: var(--color-brand-600);
  transform: translateY(-3px) scale(1.02);
  box-shadow: var(--shadow-glow)
}

.btn-outline:hover:after {
  opacity: 1
}

.btn--glow {
  box-shadow: 0 24px 55px -20px #1eae988c
}

.btn--light {
  border: 1px solid rgba(255, 255, 255, .55);
  color: #ffffffe0;
  background: #ffffff14;
  border-radius: 0 0 1rem
}

.btn--light:hover {
  background: #ffffff2e;
  color: #fff
}

.tag-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .45rem 1rem;
  border-radius: 0 0 0 .5rem;
  border: 1px solid rgba(255, 255, 255, .4);
  text-transform: uppercase;
  font-size: .65rem;
  letter-spacing: .32em;
  color: #fffffff2;
  background: #0a0f1c99;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  text-shadow: 0 1px 3px rgba(0, 0, 0, .5)
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .4rem 1rem;
  border-radius: 0 0 0 .5rem;
  background: #1eae981f;
  border: 1px solid rgba(255, 255, 255, .28);
  font-size: .7rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  font-weight: 600
}

.icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #005bac3d, #1eae983d);
  color: var(--color-brand-dark)
}

.page-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 8vw, 7.5rem) 0;
  color: #fff
}

.page-hero .container {
  position: relative;
  z-index: 10
}

.page-hero__layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0
}

.page-hero__layer--gradient {
  background: linear-gradient(135deg, #0a0f1c99, #0e142880, #005bac4d), radial-gradient(circle at 15% 25%, rgba(30, 174, 152, .2), transparent 55%), radial-gradient(circle at 85% 75%, rgba(0, 91, 172, .2), transparent 60%);
  mix-blend-mode: normal;
  opacity: 1;
  z-index: 2
}

.page-hero__orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(80px);
  opacity: .5;
  pointer-events: none;
  z-index: 3;
  animation: float-orb 8s ease-in-out infinite
}

@keyframes float-orb {
  0%, to {
    transform: translate(0) scale(1)
  }
  33% {
    transform: translate(-10px, -15px) scale(1.05)
  }
  66% {
    transform: translate(10px, 10px) scale(.95)
  }
}

.page-hero__orb--one {
  width: 20rem;
  height: 20rem;
  background: radial-gradient(circle, #1eae98b3, #1eae984d);
  top: -6rem;
  right: 6rem;
  animation-delay: 0s
}

.page-hero__orb--two {
  width: 18rem;
  height: 18rem;
  background: radial-gradient(circle, #005bac99, #005bac40);
  bottom: -5rem;
  left: 8rem;
  animation-delay: -4s
}

.page-hero--navy {
  background: linear-gradient(135deg, #0a1324, #0f1d34 55%, #091227)
}

.page-hero__title {
  margin-top: .75rem;
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -.01em;
  text-shadow: 0 4px 12px rgba(0, 0, 0, .6), 0 2px 4px rgba(0, 0, 0, .4)
}

.page-hero__lede {
  margin-top: 1.25rem;
  max-width: 42rem;
  color: #fffffff2;
  font-size: 1.05rem;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .5)
}

.page-hero__tags {
  margin-top: 1.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem
}

.page-hero__actions {
  margin-top: 2.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem
}

@media (max-width: 640px) {
  .page-hero__actions {
    flex-direction: column;
    align-items: flex-start;
    width: 100%
  }

  .page-hero__actions .btn {
    width: 100%;
    justify-content: center
  }

  .page-hero__title {
    font-size: clamp(2rem, 8vw, 2.5rem)
  }

  .page-hero__lede {
    font-size: .95rem
  }
}

html, body {
  -ms-overflow-style: none
}

* {
  scrollbar-width: none
}

*::-webkit-scrollbar {
  width: 0;
  height: 0
}

*::-webkit-scrollbar-thumb {
  background: transparent
}

*::-webkit-scrollbar-track {
  background: transparent
}

.stat-card {
  position: relative;
  border-radius: 0 1.25rem 0 0;
  border: 1px solid rgba(255, 255, 255, .25);
  padding: 1.75rem;
  background: linear-gradient(135deg, #0a0f1cd9, #0e1428bf);
  box-shadow: 0 26px 60px -30px #060e19bf;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: transform .25s ease, box-shadow .25s ease
}

.stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 36px 70px -32px #060e19d9;
  background: linear-gradient(135deg, #0a0f1ce6, #0e1428cc)
}

.stat-card__value {
  font-size: clamp(2.1rem, 4vw, 2rem);
  font-weight: 700;
  letter-spacing: -.015em;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .5)
}

.stat-card__label {
  margin-top: .75rem;
  color: #ffffffe6;
  font-size: .95rem;
  line-height: 1.45;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .4)
}

.stat-card__detail {
  margin-top: .85rem;
  font-size: .8rem;
  color: #ffffffbf;
  line-height: 1.5;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .4)
}

.section--pattern {
  position: relative;
  background-image: radial-gradient(circle at 20% 80%, rgba(30, 174, 152, .03) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(0, 91, 172, .03) 0%, transparent 50%)
}

.section--dots {
  background-image: radial-gradient(circle, rgba(30, 174, 152, .08) 1px, transparent 1px);
  background-size: 30px 30px;
  background-position: 0 0, 15px 15px
}

.section--bright {
  background: linear-gradient(180deg, #f9fbff, #fff);
  position: relative
}

.section--bright:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 15% 25%, rgba(30, 174, 152, .02) 0%, transparent 50%), radial-gradient(circle at 85% 75%, rgba(0, 91, 172, .02) 0%, transparent 50%);
  pointer-events: none
}

.section--navy {
  position: relative;
  overflow: hidden;
  background: linear-gradient(160deg, #0b152c, #121f3c 55%, #0a1429);
  color: #fff
}

.section--navy:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 15% 20%, rgba(30, 174, 152, .25), transparent 55%), radial-gradient(circle at 85% 80%, rgba(0, 91, 172, .3), transparent 60%);
  opacity: .6;
  pointer-events: none
}

.section--navy > .container {
  position: relative;
  z-index: 1
}

.section--gallery {
  background: #f5f7fb
}

.section--gallery {
  content-visibility: auto;
  contain-intrinsic-size: 1px 1000px
}

.section-title {
  font-size: clamp(2rem, 3.6vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -.02em;
  color: inherit;
  line-height: 1.2;
  position: relative;
  display: inline-block
}

.section-title--gradient {
  background: linear-gradient(135deg, var(--color-brand-dark) 0%, var(--color-brand) 50%, var(--color-accent) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent
}

.section-lede {
  margin-top: 1.25rem;
  max-width: 42rem;
  font-size: 1.05rem;
  color: #5f6c85;
  line-height: 1.7;
  font-weight: 400
}

.feature-card {
  position: relative;
  background: linear-gradient(135deg, #fff, #f8fafc);
  border-radius: var(--radius-smooth);
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: var(--shadow-card);
  padding: 2rem;
  transition: transform .4s var(--transition-smooth), box-shadow .4s var(--transition-smooth), border-color .3s ease;
  overflow: hidden
}

.feature-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--color-brand), var(--color-brand-dark));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .5s var(--transition-smooth);
  border-radius: var(--radius-smooth) var(--radius-smooth) 0 0
}

.feature-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(30, 174, 152, .03), transparent 70%);
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none
}

.feature-card:hover {
  transform: translateY(-8px) scale(1.01);
  box-shadow: var(--shadow-card-hover);
  border-color: #1eae9826
}

.feature-card:hover:before {
  transform: scaleX(1)
}

.feature-card:hover:after {
  opacity: 1
}

.feature-card__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, #1eae981a, #005bac1a);
  color: var(--color-brand);
  font-weight: 700;
  font-size: 1rem;
  transition: all .4s var(--transition-smooth);
  box-shadow: 0 4px 12px -4px #1eae9833
}

.feature-card:hover .feature-card__badge {
  background: linear-gradient(135deg, var(--color-brand), var(--color-brand-dark));
  color: #fff;
  transform: rotate(5deg) scale(1.1);
  box-shadow: var(--shadow-glow)
}

.feature-card__title {
  margin-top: 1.1rem;
  font-size: 1.1rem;
  font-weight: 600;
  color: #101833
}

.feature-card__copy {
  margin-top: .6rem;
  font-size: .9rem;
  color: #5f6c85;
  line-height: 1.6
}

.insight-card {
  background: linear-gradient(150deg, #111b32, #0b1226);
  border-radius: 1.5rem;
  border: 1px solid rgba(255, 255, 255, .08);
  padding: 2rem;
  color: #ffffffdb;
  box-shadow: 0 28px 60px -30px #09102080
}

.insight-card__heading {
  font-size: .8rem;
  letter-spacing: .4em;
  text-transform: uppercase;
  color: #fff9
}

.insight-card__list {
  margin-top: 1.5rem;
  display: grid;
  gap: 1.25rem
}

.insight-card__title {
  display: block;
  font-weight: 600;
  color: #fff
}

.insight-card__detail {
  display: block;
  margin-top: .35rem;
  font-size: .9rem;
  color: #ffffffa6;
  line-height: 1.5
}

.insight-card__cta {
  margin-top: 2rem;
  padding: 1.5rem;
  border-radius: 1rem;
  background: #ffffff0f;
  color: #ffffffd9;
  font-size: .9rem
}

.activity-card {
  position: relative;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 1.25rem;
  padding: 1.75rem 1.5rem;
  box-shadow: 0 20px 50px -28px #0f182838;
  transition: all .3s cubic-bezier(.4, 0, .2, 1);
  cursor: pointer;
  overflow: hidden
}

.activity-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--color-brand) 0%, rgba(0, 91, 172, .6) 100%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease
}

.activity-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 60px -25px #0f18284d;
  border-color: #1eae9826
}

.activity-card:hover:before {
  transform: scaleX(1)
}

.activity-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem
}

.activity-card__badge {
  display: inline-block;
  padding: .35rem .85rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #1eae981a, #005bac14);
  color: var(--color-brand);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase
}

.activity-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: .75rem;
  background: linear-gradient(135deg, #1eae9814, #005bac0f);
  color: var(--color-brand);
  transition: all .3s ease
}

.activity-card:hover .activity-card__icon {
  background: linear-gradient(135deg, var(--color-brand) 0%, rgba(0, 91, 172, .9) 100%);
  color: #fff;
  transform: scale(1.1) rotate(5deg)
}

.activity-card__title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #101833;
  margin-bottom: .65rem;
  line-height: 1.4
}

.activity-card__copy {
  font-size: .92rem;
  color: #5f6c85;
  line-height: 1.6;
  margin-bottom: .75rem
}

.activity-card__arrow {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  color: var(--color-brand);
  opacity: .6;
  transition: all .3s ease
}

.activity-card:hover .activity-card__arrow {
  opacity: 1;
  transform: translate(4px)
}

.spotlight-carousel {
  position: relative;
  display: grid;
  grid-template-columns:auto 1fr auto;
  align-items: center;
  gap: .75rem
}

.carousel__viewport {
  position: relative;
  overflow: hidden
}

.carousel__viewport .spotlight-card {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease
}

.carousel__viewport .spotlight-card.is-active {
  position: relative;
  opacity: 1;
  pointer-events: auto
}

.carousel__nav {
  background: #ffffff26;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .3);
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer
}

.carousel__nav:hover {
  background: #ffffff40
}

.carousel__nav:focus {
  outline: 2px solid rgba(255, 255, 255, .7);
  outline-offset: 2px
}

.carousel__nav--prev {
  order: 1
}

.carousel__viewport {
  order: 2
}

.carousel__nav--next {
  order: 3
}

.spotlight-card {
  position: relative;
  overflow: hidden;
  border-radius: 1.5rem;
  border: 1px solid rgba(255, 255, 255, .12);
  scroll-snap-align: start;
  background: #080e1ba6;
  transition: transform .3s ease
}

.spotlight-card:hover {
  transform: translateY(-6px)
}

.spotlight-card__image {
  width: 100%;
  height: clamp(18rem, 28vw, 26rem);
  object-fit: cover;
  transform: scale(1.02);
  transition: transform .4s ease
}

.spotlight-card:hover .spotlight-card__image {
  transform: scale(1.08)
}

.spotlight-card__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #080e191a 25%, #080e19c7);
  transition: opacity .3s ease
}

.spotlight-card:hover .spotlight-card__scrim {
  opacity: .9
}

.spotlight-card__content {
  position: absolute;
  inset-x: 0;
  bottom: 0;
  padding: 1.5rem;
  z-index: 1
}

.spotlight-card__badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .35rem .9rem;
  border-radius: 999px;
  background: #1eae982e;
  color: var(--color-brand);
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .28em
}

.spotlight-card__title {
  margin-top: .75rem;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.45;
  color: #fff
}

.phase-card {
  position: relative;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 1.5rem;
  padding: 2.6rem 2rem 2.2rem;
  box-shadow: 0 24px 55px -30px #0f182840;
  transition: transform .25s ease, box-shadow .25s ease
}

.phase-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 34px 65px -28px #0f182847
}

.phase-card__index {
  position: absolute;
  top: -1.8rem;
  left: 2rem;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--color-brand) 0%, rgba(0, 91, 172, .9) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 1.1rem;
  color: #fff;
  box-shadow: 0 20px 40px -20px #005baca6
}

.phase-card__title {
  margin-top: 1.2rem;
  font-size: 1.15rem;
  font-weight: 600;
  color: #101833
}

.phase-card__copy {
  margin-top: .75rem;
  font-size: .95rem;
  color: #5f6c85;
  line-height: 1.6
}

.phase-card__list {
  margin-top: 1rem;
  display: grid;
  gap: .5rem;
  padding-left: 1.1rem;
  font-size: .9rem;
  color: #5f6c85
}

.phase-card__list li {
  line-height: 1.55
}

.phase-card__list li::marker {
  color: var(--color-brand)
}

.masonry {
  column-gap: 1.5rem
}

.masonry-card {
  break-inside: avoid
}

.gallery-card {
  position: relative;
  break-inside: avoid;
  overflow: hidden;
  border-radius: var(--radius-smooth);
  border: 1px solid rgba(15, 23, 42, .08);
  background: #fff;
  transition: transform .4s var(--transition-smooth), box-shadow .4s var(--transition-smooth), border-color .3s ease;
  cursor: zoom-in;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-card)
}

.gallery-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #1eae9814, #005bac14);
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none
}

.gallery-card:hover {
  transform: translateY(-8px) scale(1.01);
  box-shadow: var(--shadow-card-hover);
  border-color: #1eae9833
}

.gallery-card:hover:after {
  opacity: 1
}

.gallery-card__image {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform .5s var(--transition-smooth)
}

.gallery-card:hover .gallery-card__image {
  transform: scale(1.06)
}

.gallery-card__caption {
  padding: 1rem 1.25rem 1.4rem;
  font-size: .92rem;
  color: #44506a;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 4.5em;
  max-height: 4.5em;
  overflow-wrap: anywhere;
  word-break: break-word
}

.gallery-link {
  font-size: .9rem;
  font-weight: 600;
  color: var(--color-brand);
  text-transform: uppercase;
  letter-spacing: .28em;
  display: inline-flex;
  align-items: center;
  gap: .5rem
}

.gallery-link:hover {
  color: var(--color-brand-dark)
}

.form-card {
  border-radius: var(--radius-smooth);
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: var(--shadow-card);
  background: linear-gradient(135deg, #fff, #f8fafc);
  padding: 2rem;
  transition: box-shadow .3s ease
}

.form-card:focus-within {
  box-shadow: var(--shadow-card-hover)
}

.form-field {
  width: 100%;
  border: 2px solid var(--color-border);
  border-radius: .75rem;
  padding: .875rem 1.125rem;
  background: #fff;
  transition: all .3s var(--transition-smooth);
  font-size: .95rem;
  color: var(--color-ink);
  font-family: inherit
}

.form-field::placeholder {
  color: var(--color-muted);
  opacity: .6
}

.form-field:hover {
  border-color: #1eae984d
}

.form-field:focus {
  border-color: var(--color-brand);
  box-shadow: 0 0 0 4px #1eae981f;
  outline: none;
  background: #fff;
  transform: translateY(-1px)
}

textarea.form-field {
  resize: vertical;
  min-height: 140px;
  line-height: 1.6
}

.avatar-placeholder {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #1eae9833, #005bac33);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: #005bacb3;
  font-size: 1.1rem
}

app-about, app-services, app-service-single, app-qhse, app-contact, app-fleet, app-quote, app-tracking, app-work-activities, app-home {
  display: block;
  background: #fff;
  color: var(--color-ink)
}

.hero-bg {
  position: relative;
  isolation: isolate;
  background: center/cover no-repeat url(/assets/hero-truck.jpg)
}

.hero-bg:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, #0a0f14a6, #0a0f1459);
  z-index: 0
}

.hero-inner {
  position: relative;
  z-index: 1
}

@keyframes floaty {
  0%, to {
    transform: translateY(0)
  }
  50% {
    transform: translateY(-8px)
  }
}

@keyframes shimmer {
  0% {
    background-position: -200% 0
  }
  to {
    background-position: 200% 0
  }
}

@keyframes pulse-glow {
  0%, to {
    box-shadow: 0 0 20px #1eae9833
  }
  50% {
    box-shadow: 0 0 40px #1eae9866
  }
}

@keyframes slide-in-up {
  0% {
    opacity: 0;
    transform: translateY(30px)
  }
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes fade-in {
  0% {
    opacity: 0
  }
  to {
    opacity: 1
  }
}

@keyframes reveal-up {
  0% {
    opacity: 0;
    transform: translateY(40px)
  }
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes reveal-down {
  0% {
    opacity: 0;
    transform: translateY(-40px)
  }
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes reveal-left {
  0% {
    opacity: 0;
    transform: translate(40px)
  }
  to {
    opacity: 1;
    transform: translate(0)
  }
}

@keyframes reveal-right {
  0% {
    opacity: 0;
    transform: translate(-40px)
  }
  to {
    opacity: 1;
    transform: translate(0)
  }
}

@keyframes reveal-fade {
  0% {
    opacity: 0
  }
  to {
    opacity: 1
  }
}

@keyframes reveal-zoom {
  0% {
    opacity: 0;
    transform: scale(.8)
  }
  to {
    opacity: 1;
    transform: scale(1)
  }
}

@keyframes reveal-flip {
  0% {
    opacity: 0;
    transform: perspective(600px) rotateX(-20deg)
  }
  to {
    opacity: 1;
    transform: perspective(600px) rotateX(0)
  }
}

.reveal {
  opacity: 0
}

.reveal.up.is-revealed {
  animation: reveal-up .8s cubic-bezier(.4, 0, .2, 1) forwards
}

.reveal.down.is-revealed {
  animation: reveal-down .8s cubic-bezier(.4, 0, .2, 1) forwards
}

.reveal.left.is-revealed {
  animation: reveal-left .8s cubic-bezier(.4, 0, .2, 1) forwards
}

.reveal.right.is-revealed {
  animation: reveal-right .8s cubic-bezier(.4, 0, .2, 1) forwards
}

.reveal.fade.is-revealed {
  animation: reveal-fade .8s ease-in forwards
}

.reveal.zoom.is-revealed {
  animation: reveal-zoom .8s cubic-bezier(.4, 0, .2, 1) forwards
}

.reveal.flip.is-revealed {
  animation: reveal-flip .8s cubic-bezier(.4, 0, .2, 1) forwards
}

.typewriter-cursor {
  display: inline-block;
  margin-left: 2px;
  color: var(--color-brand, #1eae98);
  font-weight: 300;
  animation: blink-cursor 1s step-end infinite
}

@keyframes blink-cursor {
  0%, 50% {
    opacity: 1
  }
  51%, to {
    opacity: 0
  }
}

.floaty {
  animation: floaty 6s ease-in-out infinite
}

.shimmer {
  background: linear-gradient(90deg, #fff0, #fff6, #fff0);
  background-size: 200% 100%;
  animation: shimmer 1.8s linear infinite
}

.pulse-glow {
  animation: pulse-glow 3s ease-in-out infinite
}

.slide-in {
  animation: slide-in-up .6s cubic-bezier(.4, 0, .2, 1) forwards
}

.fade-in {
  animation: fade-in .5s ease-in forwards
}

.motion-reduce\:animate-none {
  animation: none !important
}

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

.play-pulse {
  position: relative
}

.play-pulse:after {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, .7);
  animation: ping 1.5s infinite
}

@keyframes ping {
  0% {
    transform: scale(.9);
    opacity: .9
  }
  to {
    transform: scale(1.3);
    opacity: 0
  }
}

:root {
  font-family: var(--font-sans)
}

.container {
  max-width: 76rem;
  margin-inline: auto;
  padding-inline: 1rem;
  width: 100%
}

.section {
  padding-block: 3rem
}

@media (min-width: 1024px) {
  .section {
    padding-block: 4.5rem
  }
}

.tx-navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .3s;
  transition-duration: .3s
}

main app-header {
  display: none
}

.tx-navbar-inner {
  display: flex;
  height: calc(var(--spacing) * 18);
  align-items: center;
  justify-content: space-between
}

.tx-nav-brand {
  display: flex;
  align-items: center;
  gap: calc(var(--spacing) * 3)
}

.tx-nav-links {
  display: none;
  align-items: center;
  gap: calc(var(--spacing) * 7);
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
  --tw-tracking: var(--tracking-wide);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase
}

@media (width >= 48rem) {
  .tx-nav-links {
    display: flex
  }
}

.tx-nav-link {
  position: relative;
  color: var(--color-navText);
  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, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration))
}

@media (hover: hover) {
  .tx-nav-link:hover {
    color: var(--color-brand)
  }
}

.tx-nav-link:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
  background: var(--color-brand)
}

.tx-nav-link:hover:after {
  transform: scaleX(1)
}

.tx-nav-link-active {
  color: var(--color-brand)
}

.tx-quote-btn {
  display: none;
  align-items: center;
  justify-content: center;
  border-radius: calc(infinity * 1px);
  padding-inline: calc(var(--spacing) * 5);
  padding-block: calc(var(--spacing) * 2);
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
  color: var(--color-white);
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  background: var(--color-brand);
  transition: background-color .3s ease
}

@media (width >= 48rem) {
  .tx-quote-btn {
    display: inline-flex
  }
}

.tx-header--solid {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 1px;
  border-color: var(--color-border);
  background-color: color-mix(in srgb, #fff 95%, transparent);
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  --tw-backdrop-blur: blur(8px);
  -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,)
}

@supports (color: color-mix(in lab,red,red)) {
  .tx-header--solid {
    background-color: color-mix(in oklab, var(--color-white) 95%, transparent)
  }
}

.tx-header--transparent {
  background: transparent
}

.tx-burger {
  border-radius: .25rem;
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-border);
  padding: calc(var(--spacing) * 2)
}

@media (width >= 48rem) {
  .tx-burger {
    display: none
  }
}

.tx-drawer {
  position: absolute;
  right: calc(var(--spacing) * 0);
  margin-top: calc(var(--spacing) * 2);
  width: calc(var(--spacing) * 64);
  border-radius: var(--radius-xl);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-border);
  background-color: var(--color-white);
  padding: calc(var(--spacing) * 2);
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
}

.tx-drawer a {
  display: block;
  border-radius: var(--radius-lg);
  padding-inline: calc(var(--spacing) * 4);
  padding-block: calc(var(--spacing) * 2)
}

@media (hover: hover) {
  .tx-drawer a:hover {
    background-color: var(--color-gray-50)
  }
}

.tx-card {
  position: relative;
  border-radius: var(--radius-xl);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-gray-100);
  background-color: var(--color-white);
  padding: calc(var(--spacing) * 6);
  --tw-shadow: 0 8px 20px -8px 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);
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .3s;
  transition-duration: .3s
}

.tx-card:hover {
  --tw-translate-y: calc(var(--spacing) * -.5);
  translate: var(--tw-translate-x) var(--tw-translate-y);
  --tw-shadow: 0 12px 30px -10px 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)
}

.tx-card-title {
  margin-bottom: calc(var(--spacing) * 2);
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
  color: var(--color-slate-800)
}

.tx-card-text {
  margin-bottom: calc(var(--spacing) * 4);
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
  color: var(--color-slate-600)
}

.tx-card-icon {
  display: inline-block;
  height: calc(var(--spacing) * 10);
  width: calc(var(--spacing) * 10);
  color: var(--color-brand-dark)
}

.hero-overlay:after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--color-heroOverlay)
}

.kicker {
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
  --tw-tracking: .2em;
  letter-spacing: .2em;
  color: --color-brand;
  text-transform: uppercase
}

@media (width >= 48rem) {
  .kicker {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height))
  }
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-brand);
  padding-inline: calc(var(--spacing) * 6);
  padding-block: calc(var(--spacing) * 3);
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
  --tw-tracking: var(--tracking-wide);
  letter-spacing: var(--tracking-wide);
  color: var(--color-white);
  text-transform: uppercase;
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .3s;
  transition-duration: .3s;
  border-radius: 0 0 1rem
}

.btn-primary:hover {
  --tw-translate-y: calc(var(--spacing) * -.5);
  translate: var(--tw-translate-x) var(--tw-translate-y);
  --tw-shadow: 0 8px 20px -8px var(--tw-shadow-color, rgba(0, 0, 0, .15));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
}

@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-rotate-x {
  syntax: "*";
  inherits: false;
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false;
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}

@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-ease {
  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-duration {
  syntax: "*";
  inherits: false;
}

@property --tw-tracking {
  syntax: "*";
  inherits: false;
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}

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

@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-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --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-ease: 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-duration: initial;
      --tw-tracking: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial
    }
  }
}
