/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@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-border-style: solid;
            --tw-gradient-position: initial;
            --tw-gradient-from: #0000;
            --tw-gradient-via: #0000;
            --tw-gradient-to: #0000;
            --tw-gradient-stops: initial;
            --tw-gradient-via-stops: initial;
            --tw-gradient-from-position: 0%;
            --tw-gradient-via-position: 50%;
            --tw-gradient-to-position: 100%;
            --tw-leading: initial;
            --tw-tracking: initial;
            --tw-outline-style: solid;
            --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-scale-x: 1;
            --tw-scale-y: 1;
            --tw-scale-z: 1
        }
    }
}

.pointer-events-none {
    pointer-events: none
}

.absolute {
    position: absolute
}

.fixed {
    position: fixed
}

.relative {
    position: relative
}

.top-1\/2 {
    top: 50%
}

.left-1\/2 {
    left: 50%
}

.left-full {
    left: 100%
}

.z-0 {
    z-index: 0
}

.z-10 {
    z-index: 10
}

.z-20 {
    z-index: 20
}

.z-50 {
    z-index: 50
}

.z-\[999\] {
    z-index: 999
}

.order-1 {
    order: 1
}

.order-2 {
    order: 2
}

.col-span-1 {
    grid-column: span 1/span 1
}

.container {
    width: 100%
}

.mx-auto {
    margin-inline: auto
}

.mt-auto {
    margin-top: auto
}

.line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden
}

.block {
    display: block
}

.hidden {
    display: none
}

.inline {
    display: inline
}

.inline-block {
    display: inline-block
}

.inline-flex {
    display: inline-flex
}

.h-\[250px\] {
    height: 250px
}

.h-\[300px\] {
    height: 300px
}

.h-\[400px\] {
    height: 400px
}

.h-\[800px\] {
    height: 800px
}

.h-auto {
    height: auto
}

.h-fit {
    height: fit-content
}

.h-full {
    height: 100%
}

.min-h-\[400px\] {
    min-height: 400px
}

.min-h-\[600px\] {
    min-height: 600px
}

.min-h-screen {
    min-height: 100vh
}

.w-2\/3 {
    width: 66.6667%
}

.w-\[320px\] {
    width: 320px
}

.w-\[800px\] {
    width: 800px
}

.w-full {
    width: 100%
}

.w-px {
    width: 1px
}

.max-w-\[1200px\] {
    max-width: 1200px
}

.flex-shrink-0,
.shrink-0 {
    flex-shrink: 0
}

.-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y)
}

.translate-x-1\/2 {
    --tw-translate-x: calc(1 / 2 * 100%);
    translate: var(--tw-translate-x) var(--tw-translate-y)
}

.-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y)
}

.-translate-y-1\/4 {
    --tw-translate-y: calc(calc(1 / 4 * 100%) * -1);
    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
}

.auto-rows-\[300px\] {
    grid-auto-rows: 300px
}

.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
}

.grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr))
}

.justify-end {
    justify-content: flex-end
}

.self-end {
    align-self: flex-end
}

.overflow-hidden {
    overflow: hidden
}

.overflow-x-hidden {
    overflow-x: hidden
}

.overflow-y-auto {
    overflow-y: auto
}

.rounded-full {
    border-radius: 3.40282e38px
}

.border {
    border-style: var(--tw-border-style);
    border-width: 1px
}

.border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px
}

.border-4 {
    border-style: var(--tw-border-style);
    border-width: 4px
}

.border-8 {
    border-style: var(--tw-border-style);
    border-width: 8px
}

.border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px
}

.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-t-8 {
    border-top-style: var(--tw-border-style);
    border-top-width: 8px
}

.border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px
}

.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-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px
}

.border-l-4 {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px
}

.border-l-8 {
    border-left-style: var(--tw-border-style);
    border-left-width: 8px
}

.border-dashed {
    --tw-border-style: dashed;
    border-style: dashed
}

.border-transparent {
    border-color: #0000
}

.bg-gradient-to-b {
    --tw-gradient-position: to bottom 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))
}

.to-transparent {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
}

.object-cover {
    object-fit: cover
}

.text-\[10px\] {
    font-size: 10px
}

.text-\[11px\] {
    font-size: 11px
}

.text-\[16px\] {
    font-size: 16px
}

.text-\[18px\] {
    font-size: 18px
}

.text-\[40px\] {
    font-size: 40px
}

.text-\[48px\] {
    font-size: 48px
}

.text-\[120px\] {
    font-size: 120px
}

.text-\[160px\] {
    font-size: 160px
}

.text-\[200px\] {
    font-size: 200px
}

.leading-\[1\.7\] {
    --tw-leading: 1.7;
    line-height: 1.7
}

.leading-none {
    --tw-leading: 1;
    line-height: 1
}

.tracking-\[0\.2em\] {
    --tw-tracking: .2em;
    letter-spacing: .2em
}

.uppercase {
    text-transform: uppercase
}

.opacity-5 {
    opacity: .05
}

.opacity-10 {
    opacity: .1
}

.opacity-20 {
    opacity: .2
}

.opacity-40 {
    opacity: .4
}

.opacity-80 {
    opacity: .8
}

.opacity-90 {
    opacity: .9
}

.outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px
}

.blur-\[120px\] {
    --tw-blur: blur(120px);
    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, )
}

.brightness-75 {
    --tw-brightness: brightness(75%);
    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, )
}

.grayscale {
    --tw-grayscale: grayscale(100%);
    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, 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-shadow {
    transition-property: box-shadow;
    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-300 {
    --tw-duration: .3s;
    transition-duration: .3s
}

.duration-500 {
    --tw-duration: .5s;
    transition-duration: .5s
}

.duration-700 {
    --tw-duration: .7s;
    transition-duration: .7s
}

.duration-1000 {
    --tw-duration: 1s;
    transition-duration: 1s
}

.select-none {
    -webkit-user-select: none;
    user-select: none
}

@media (hover:hover) {
    .group-hover\:scale-105:is(:where(.group):hover *) {
        --tw-scale-x: 105%;
        --tw-scale-y: 105%;
        --tw-scale-z: 105%;
        scale: var(--tw-scale-x) var(--tw-scale-y)
    }

    .group-hover\:scale-110:is(:where(.group):hover *) {
        --tw-scale-x: 110%;
        --tw-scale-y: 110%;
        --tw-scale-z: 110%;
        scale: var(--tw-scale-x) var(--tw-scale-y)
    }

    .group-hover\:opacity-40:is(:where(.group):hover *) {
        opacity: .4
    }

    .group-hover\:opacity-60:is(:where(.group):hover *) {
        opacity: .6
    }

    .group-hover\:opacity-100:is(:where(.group):hover *) {
        opacity: 1
    }

    .group-hover\:grayscale-0:is(:where(.group):hover *) {
        --tw-grayscale: grayscale(0%);
        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, )
    }

    .hover\:scale-105:hover {
        --tw-scale-x: 105%;
        --tw-scale-y: 105%;
        --tw-scale-z: 105%;
        scale: var(--tw-scale-x) var(--tw-scale-y)
    }

    .hover\:grayscale-0:hover {
        --tw-grayscale: grayscale(0%);
        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, )
    }
}

.focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none
}

.active\:scale-90:active {
    --tw-scale-x: 90%;
    --tw-scale-y: 90%;
    --tw-scale-z: 90%;
    scale: var(--tw-scale-x) var(--tw-scale-y)
}

@font-face {
    font-family: Chivo;
    font-style: italic;
    font-weight: 600;
    font-display: swap;
    src: url(../assets/fonts/Chivo-Italic-600.ttf)format("truetype")
}

@font-face {
    font-family: Chivo;
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url(../assets/fonts/Chivo-Italic-700.ttf)format("truetype")
}

@font-face {
    font-family: Chivo;
    font-style: italic;
    font-weight: 800;
    font-display: swap;
    src: url(../assets/fonts/Chivo-Italic-800.ttf)format("truetype")
}

@font-face {
    font-family: Chivo;
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(../assets/fonts/Chivo-Regular-600.ttf)format("truetype")
}

@font-face {
    font-family: Chivo;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../assets/fonts/Chivo-Regular-700.ttf)format("truetype")
}

@font-face {
    font-family: Chivo;
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url(../assets/fonts/Chivo-Regular-800.ttf)format("truetype")
}

@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../assets/fonts/Inter-Regular.ttf)format("truetype")
}

@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(../assets/fonts/Inter-Medium.ttf)format("truetype")
}

@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../assets/fonts/Inter-Bold.ttf)format("truetype")
}

@font-face {
    font-family: Material Symbols Outlined;
    font-style: normal;
    font-weight: 100;
    font-display: swap;
    src: url(../assets/fonts/MaterialSymbolsOutlined-100.ttf)format("truetype")
}

@font-face {
    font-family: Material Symbols Outlined;
    font-style: normal;
    font-weight: 200;
    font-display: swap;
    src: url(../assets/fonts/MaterialSymbolsOutlined-200.ttf)format("truetype")
}

@font-face {
    font-family: Material Symbols Outlined;
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(../assets/fonts/MaterialSymbolsOutlined-300.ttf)format("truetype")
}

@font-face {
    font-family: Material Symbols Outlined;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../assets/fonts/MaterialSymbolsOutlined-400.ttf)format("truetype")
}

@font-face {
    font-family: Material Symbols Outlined;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(../assets/fonts/MaterialSymbolsOutlined-500.ttf)format("truetype")
}

@font-face {
    font-family: Material Symbols Outlined;
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(../assets/fonts/MaterialSymbolsOutlined-600.ttf)format("truetype")
}

@font-face {
    font-family: Material Symbols Outlined;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../assets/fonts/MaterialSymbolsOutlined-700.ttf)format("truetype")
}

.material-symbols-outlined {
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    font-family: Material Symbols Outlined;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    display: inline-block
}

:root {
    --color-primary: #ffc800;
    --color-primary-dim: #f4bf00;
    --color-primary-container: #ffc800;
    --color-primary-fixed: #ffdf92;
    --color-on-primary: #fff;
    --color-on-primary-container: #6e5500;
    --color-dark: #1a1a1a;
    --color-port-black: #1a1a1a;
    --color-background: #f9f9f9;
    --color-surface: #f9f9f9;
    --color-surface-dim: #dadada;
    --color-surface-bright: #f9f9f9;
    --color-surface-container: #eee;
    --color-surface-container-lowest: #fff;
    --color-surface-container-low: #f3f3f3;
    --color-surface-container-high: #e8e8e8;
    --color-surface-container-highest: #e2e2e2;
    --color-surface-variant: #e2e2e2;
    --color-on-surface: #1a1c1c;
    --color-on-surface-variant: #4f4632;
    --color-on-background: #1a1c1c;
    --color-secondary: #5f5e5e;
    --color-steel-gray: #666;
    --color-tertiary: #5e5e5e;
    --color-tertiary-container: #d0cfcf;
    --color-tertiary-fixed: #e4e2e2;
    --color-tertiary-fixed-dim: #c7c6c6;
    --color-caution-red: #d32f2f;
    --color-error: #ba1a1a;
    --color-error-container: #ffdad6;
    --color-on-error: #fff;
    --color-on-error-container: #93000a;
    --color-inverse-surface: #2f3131;
    --color-inverse-on-surface: #f1f1f1;
    --color-inverse-primary: #f4bf00;
    --color-outline: #81765f;
    --color-outline-variant: #d2c5ab;
    --font-display: "Chivo", sans-serif;
    --font-body: "Inter", sans-serif;
    --space-xs: 4px;
    --space-base: 8px;
    --space-sm: 12px;
    --space-md: 24px;
    --space-lg: 48px;
    --space-xl: 80px;
    --space-gutter: 24px;
    --container-max: 1280px;
    --rounded-sm: 2px;
    --rounded-default: 4px;
    --rounded-md: 6px;
    --rounded-lg: 8px;
    --rounded-xl: 12px;
    --rounded-full: 9999px;
    --border-width-default: 1px;
    --border-width-accent: 4px;
    --border-color-default: var(--color-surface-container-highest);
    --transition: .3s cubic-bezier(.16, 1, .3, 1)
}

*,
:before,
:after {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

html {
    scroll-behavior: smooth;
    font-size: 16px
}

body {
    background-color: var(--color-background);
    color: var(--color-on-surface);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.5;
    overflow-x: hidden
}

img {
    max-width: 100%;
    height: auto;
    display: block
}

a {
    color: inherit;
    text-decoration: none
}

button,
input,
select,
textarea {
    font: inherit;
    color: inherit
}

.font-headline-xl {
    font-family: var(--font-display);
    letter-spacing: -.02em;
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 800;
    line-height: 1.1
}

.font-headline-lg {
    font-family: var(--font-display);
    letter-spacing: -.01em;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.15
}

.font-headline-md {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.25
}

.font-headline-sm {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.35
}

.font-body-lg {
    font-family: var(--font-body);
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.55
}

.font-body-md {
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5
}

.font-body-sm {
    font-family: var(--font-body);
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.45
}

.font-label-bold {
    font-family: var(--font-body);
    letter-spacing: .05em;
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.35
}

.font-label-md {
    font-family: var(--font-body);
    font-size: .75rem;
    font-weight: 500;
    line-height: 1.35
}

@media (max-width:768px) {
    .font-headline-lg {
        font-size: 2.25rem
    }

    .font-headline-md {
        font-size: 1.75rem
    }

    .font-headline-sm {
        font-size: 1.25rem
    }

    .font-body-lg {
        font-size: 1rem
    }
}

.max-w-container-max {
    max-width: var(--container-max)
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.px-gutter {
    padding-left: var(--space-gutter);
    padding-right: var(--space-gutter)
}

.py-xl {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl)
}

.py-lg {
    padding-top: var(--space-lg);
    padding-bottom: var(--space-lg)
}

.py-md {
    padding-top: var(--space-md);
    padding-bottom: var(--space-md)
}

.grid {
    display: grid
}

.gap-xs {
    gap: var(--space-xs)
}

.gap-sm {
    gap: var(--space-sm)
}

.gap-md {
    gap: var(--space-md)
}

.gap-lg {
    gap: var(--space-lg)
}

.gap-xl {
    gap: var(--space-xl)
}

.gap-gutter {
    gap: var(--space-gutter)
}

.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr))
}

@media (min-width:768px) {
    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .md\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }

    .md\:grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr))
    }

    .md\:col-span-4 {
        grid-column: span 4/span 4
    }

    .md\:col-span-5 {
        grid-column: span 5/span 5
    }

    .md\:col-span-7 {
        grid-column: span 7/span 7
    }

    .md\:col-span-8 {
        grid-column: span 8/span 8
    }
}

@media (min-width:1024px) {
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

.flex {
    display: flex
}

.flex-col {
    flex-direction: column
}

.justify-between {
    justify-content: space-between
}

.justify-center {
    justify-content: justify-content
}

.items-center {
    align-items: center
}

.items-start {
    align-items: flex-start
}

.flex-wrap {
    flex-wrap: wrap
}

.flex-grow {
    flex-grow: 1
}

.shrink-0 {
    flex-shrink: 0
}

.text-center {
    text-align: center
}

.text-left {
    text-align: left
}

.mb-xs {
    margin-bottom: var(--space-xs)
}

.mb-sm {
    margin-bottom: var(--space-sm)
}

.mb-md {
    margin-bottom: var(--space-md)
}

.mb-lg {
    margin-bottom: var(--space-lg)
}

.mb-xl {
    margin-bottom: var(--space-xl)
}

.mr-lg {
    margin-right: var(--space-lg)
}

.pt-20 {
    padding-top: 5rem
}

.mt-20 {
    margin-top: 5rem
}

.italic {
    font-style: italic
}

.bg-safety-yellow {
    background-color: var(--color-primary)
}

.bg-port-black {
    background-color: var(--color-port-black)
}

.bg-white {
    background-color: var(--color-surface-container-lowest)
}

.bg-surface {
    background-color: var(--color-surface)
}

.bg-surface-container-low {
    background-color: var(--color-surface-container-low)
}

.bg-surface-container-lowest {
    background-color: var(--color-surface-container-lowest)
}

.bg-surface-container-highest {
    background-color: var(--color-surface-container-highest)
}

.bg-surface-container {
    background-color: var(--color-surface-container)
}

.bg-surface-container-high {
    background-color: var(--color-surface-container-high)
}

.text-white {
    color: var(--color-surface-container-lowest)
}

.text-port-black {
    color: var(--color-port-black)
}

.text-safety-yellow {
    color: var(--color-primary)
}

.text-secondary {
    color: var(--color-secondary)
}

.text-steel-gray {
    color: var(--color-steel-gray)
}

.text-tertiary-fixed-dim {
    color: var(--color-tertiary-fixed-dim)
}

.text-on-tertiary {
    color: var(--color-on-tertiary)
}

.text-tertiary-fixed {
    color: var(--color-tertiary-fixed)
}

.border {
    border: var(--border-width-default) solid var(--color-surface-container-highest)
}

.border-b {
    border-bottom: var(--border-width-default) solid var(--color-surface-container-highest)
}

.border-t {
    border-top: var(--border-width-default) solid var(--color-surface-container-highest)
}

.border-l-8 {
    border-left: 8px solid var(--color-primary)
}

.border-t-8 {
    border-top: 8px solid var(--color-primary)
}

.border-t-4 {
    border-top: 4px solid var(--color-primary)
}

.border-b-4 {
    border-bottom: 4px solid var(--color-primary)
}

.border-y {
    border-top: var(--border-width-default) solid var(--color-outline-variant);
    border-bottom: var(--border-width-default) solid var(--color-outline-variant)
}

.border-outline-variant {
    border: var(--border-width-default) solid var(--color-outline-variant)
}

.rounded-default {
    border-radius: var(--rounded-default)
}

.rounded-lg {
    border-radius: var(--rounded-lg)
}

.industrial-grid {
    background-image: radial-gradient(circle, var(--color-surface-container-highest) 1.5px, transparent 1.5px);
    background-size: 32px 32px;
    position: relative
}

.industrial-grid-dark {
    background-image: radial-gradient(circle, #ffffff0d 1.5px, #0000 1.5px);
    background-size: 32px 32px;
    position: relative
}

.sticky-navbar {
    z-index: 1000;
    background-color: var(--color-primary);
    width: 100%;
    height: 5rem;
    transition: var(--transition);
    position: fixed;
    top: 0;
    left: 0
}

.sticky-navbar.scrolled {
    background-color: var(--color-primary);
    height: 4.5rem;
    box-shadow: 0 10px 30px #1a1a1a26
}

.sticky-navbar.scrolled .nav-logo {
    height: 100px
}

.nav-brand {
    align-items: center;
    height: 100%;
    display: flex
}

.nav-logo {
    object-contain: fit;
    width: 160px;
    height: 100px;
    transition: var(--transition)
}

.nav-link {
    transition: var(--transition);
    cursor: pointer;
    padding: .5rem 0;
    text-decoration: none;
    position: relative
}

.nav-link:after {
    content: "";
    background-color: var(--color-port-black);
    width: 0;
    height: 2px;
    transition: var(--transition);
    position: absolute;
    bottom: 0;
    left: 0
}

.nav-link.active:after,
.nav-link:hover:after {
    width: 100%
}

.nav-dropdown .dropdown-toggle {
    background: 0 0;
    border: none
}

.dropdown-chevron {
    transition: var(--transition)
}

.nav-dropdown:hover .dropdown-chevron {
    transform: rotate(180deg)
}

.dropdown-menu {
    border-radius: var(--rounded-sm);
    opacity: 0;
    visibility: hidden;
    width: 280px;
    transition: var(--transition);
    top: 100%;
    left: 0;
    transform: translateY(10px)
}

.nav-dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    display: flex;
    transform: translateY(0)
}

.dropdown-item {
    transition: var(--transition);
    padding: var(--space-sm) var(--space-md);
    border-left: 0px solid var(--color-primary)
}

.dropdown-item:hover,
.dropdown-item.active {
    background-color: var(--color-surface-container-low);
    border-left: 4px solid var(--color-port-black);
    padding-left: calc(var(--space-md) - 4px)
}

#mobile-toggle {
    background: 0 0;
    border: none
}

.mobile-drawer {
    left: 100%
}

.mobile-drawer.nav--open {
    pointer-events: auto;
    left: 0
}

.mobile-link,
.mobile-sublink {
    transition: var(--transition);
    border-bottom: 1px solid #ffffff0d;
    width: 100%
}

.mobile-sublink {
    border-bottom: 1px solid #ffffff05
}

.mobile-link:hover,
.mobile-link.active,
.mobile-sublink:hover,
.mobile-sublink.active {
    color: var(--color-primary);
    padding-left: var(--space-base)
}

.accordion-chevron {
    transition: var(--transition)
}

.mobile-accordion.open .accordion-chevron {
    transform: rotate(180deg)
}

.mobile-accordion.open .accordion-content {
    max-height: 400px;
    margin-top: var(--space-sm)
}

.btn-cta {
    border-radius: var(--rounded-sm);
    cursor: pointer
}

.industrial-shadow {
    transition: var(--transition);
    box-shadow: 8px 8px #1a1a1a
}

.industrial-shadow-hover {
    transition: var(--transition)
}

.industrial-shadow-hover:hover {
    box-shadow: 12px 12px 0px 0px var(--color-primary);
    transform: translate(-4px, -4px)
}

.industrial-shadow-light {
    transition: var(--transition);
    box-shadow: 8px 8px #ffc800
}

.slider-container-wrapper {
    position: relative;
    overflow: hidden
}

.slider-wrapper {
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    display: flex;
    overflow-x: auto
}

.slider-wrapper::-webkit-scrollbar {
    display: none
}

.slider-item-snap {
    scroll-snap-align: center;
    min-width: 100%;
    transition: var(--transition);
    flex-shrink: 0;
    position: relative;
    overflow: hidden
}

@media (min-width:768px) {
    .slider-item-snap.multislide {
        min-width: 50%
    }
}

@media (min-width:1024px) {
    .slider-item-snap.multislide {
        min-width: 25%
    }
}

.slider-fade-wrapper {
    width: 100%;
    height: 100%;
    position: relative
}

.slider-item-fade {
    opacity: 0;
    z-index: 1;
    transition: opacity 1.2s ease-in-out;
    position: absolute;
    inset: 0
}

.slider-item-fade.active {
    opacity: 1;
    z-index: 2;
    position: relative
}

.slider-arrow {
    width: 3rem;
    height: 3rem;
    color: var(--color-primary);
    z-index: 10;
    transition: var(--transition);
    cursor: pointer;
    background-color: #1a1a1a80;
    border: none;
    justify-content: center;
    align-items: center;
    display: flex;
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.slider-arrow:hover {
    background-color: var(--color-primary);
    color: var(--color-port-black)
}

.slider-arrow-left {
    left: 1rem
}

.slider-arrow-right {
    right: 1rem
}

.tab-btn {
    transition: var(--transition);
    cursor: pointer
}

#tab-content {
    transition: opacity .3s ease-in-out
}

.faq-ans {
    max-height: 0;
    transition: max-height .4s cubic-bezier(.16, 1, .3, 1), padding .4s;
    overflow: hidden
}

.faq-ans.open {
    max-height: 200px;
    padding-bottom: var(--space-md)
}

.faq-trigger-icon {
    transition: var(--transition)
}

.faq-card.open .faq-trigger-icon {
    transform: rotate(180deg)
}

.progress-track {
    height: var(--space-xs);
    background-color: #ffffff1a;
    width: 100%
}

.progress-fill {
    background-color: var(--color-primary);
    width: 0%;
    height: 100%;
    transition: width 1.5s cubic-bezier(.16, 1, .3, 1)
}

.dry-port-grid img {
    transition: var(--transition)
}

.dry-port-grid img:hover {
    filter: brightness(1.1);
    transform: scale(1.05)
}

.bento-card {
    transition: var(--transition)
}

.bento-card:hover {
    transform: translateY(-5px)
}

.green-glow {
    border-radius: var(--rounded-full);
    filter: blur(100px);
    pointer-events: none;
    z-index: 0;
    background-color: #ffc80014;
    width: 500px;
    height: 500px;
    position: absolute
}

.reveal {
    opacity: 0;
    transition: opacity .8s cubic-bezier(.16, 1, .3, 1), transform .8s cubic-bezier(.16, 1, .3, 1);
    transform: translateY(30px)
}

.reveal.revealed {
    opacity: 1;
    transform: translateY(0)
}

.reveal-delay-1 {
    transition-delay: .1s
}

.reveal-delay-2 {
    transition-delay: .2s
}

.reveal-delay-3 {
    transition-delay: .3s
}

.reveal-delay-4 {
    transition-delay: .4s
}

.animate-fade-in {
    animation: .8s cubic-bezier(.16, 1, .3, 1) forwards fadeIn
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.fab-desk-tip {
    pointer-events: none;
    transition: var(--transition)
}

.sticky-fab:hover .fab-desk-tip {
    opacity: 1;
    transform: translate(0)
}

.footer-logo {
    width: 280px;
    height: 200px
}

.footer-links a {
    transition: var(--transition);
    display: inline-block
}

.footer-links a:hover {
    transform: translate(4px);
    color: var(--color-primary) !important
}

@media (max-width:480px) {
    .py-xl {
        padding-top: var(--space-lg);
        padding-bottom: var(--space-lg)
    }
}

@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-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-gradient-position {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-from {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-via {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-to {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-stops {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-via-stops {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-from-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0%
}

@property --tw-gradient-via-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 50%
}

@property --tw-gradient-to-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-leading {
    syntax: "*";
    inherits: false
}

@property --tw-tracking {
    syntax: "*";
    inherits: false
}

@property --tw-outline-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@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-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
}