:root {
    --base-100: #ffffff;
    --base-200: #ffffff;
    --base-300: #afb3ab;
    --base-400: #969992;
    --base-500: #7d807a;
    --base-600: #000000;
    --base-700: #000000
}

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    -webkit-user-select: none;
    user-select: none;
    margin: 0;
    padding: 0
}

body {
    background-color: var(--base-100);
    color: var(--base-700)
}

img,
svg {
    object-fit: cover;
    width: 100%;
    height: 100%
}

h1,
h2,
h3,
h4,
h5 {
    text-transform: uppercase;
    font-family: var(--font-koulen), sans-serif;
    font-weight: 400;
    line-height: .8
}

h1 {
    letter-spacing: clamp(-.15rem, -1vw, -.25rem);
    font-size: clamp(4rem, 10vw, 10rem)
}

h2 {
    letter-spacing: clamp(-.0125rem, -.75vw, -.2rem);
    font-size: clamp(3.25rem, 8vw, 8rem)
}

h3 {
    letter-spacing: clamp(-.035rem, -.5vw, -.075rem);
    font-size: clamp(2.5rem, 6.5vw, 5rem)
}

h4 {
    letter-spacing: clamp(0rem, -.5vw, -.075rem);
    font-size: clamp(2rem, 4.5vw, 4rem)
}

h5 {
    letter-spacing: clamp(0rem, -.25vw, -.05rem);
    font-size: clamp(1.25rem, 2vw, 3rem)
}

a,
p,
span {
    text-transform: uppercase;
    color: var(--base-700);
    font-family: var(--font-dm-mono), monospace;
    font-size: clamp(.8rem, .75vw, .85rem);
    font-weight: 500;
    line-height: 1;
    text-decoration: none
}

a.md,
p.md,
span.md {
    font-size: clamp(1rem, .8vw, 1.25rem)
}

a.lg,
p.lg,
span.lg {
    font-size: clamp(1.1rem, .85vw, 1.35rem)
}

p.bodyCopy {
    text-transform: none;
    font-family: var(--font-host-grotesk), sans-serif;
    letter-spacing: -.01rem;
    font-size: clamp(1.125rem, .75vw, 1.25rem);
    font-weight: 400;
    line-height: 1.1
}

p.bodyCopy.md {
    font-size: clamp(1.25rem, .85vw, 1.35rem)
}

p.bodyCopy.lg {
    font-size: clamp(1.375rem, .95vw, 1.45rem)
}

button {
    text-transform: uppercase;
    color: var(--base-700);
    font-family: var(--font-dm-mono), monospace;
    cursor: pointer;
    border: none;
    border-radius: .5rem;
    outline: none;
    padding: 1.25rem .75rem;
    font-size: clamp(.85rem, 1vw, .85rem);
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    transition: all .3s ease-in-out
}

button:active {
    transform: scale(.95)
}

button.primary {
    background: var(--base-700);
    color: var(--base-100)
}

button.secondary {
    background: var(--base-400);
    color: var(--base-100)
}

.btn a {
    background: var(--base-200);
    color: var(--base-700);
    text-transform: uppercase;
    font-family: var(--font-dm-mono), monospace;
    cursor: pointer;
    border-radius: .5rem;
    padding: 1.25rem 1.75rem;
    font-size: clamp(.85rem, 1vw, .85rem);
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    transition: all .3s ease-in-out;
    display: block
}

.container {
    width: 100%;
    max-width: 2000px;
    height: 100%;
    margin: 0 auto;
    padding: 2rem
}

.section-header,
.section-footer {
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    max-width: 2000px;
    margin: 0 auto;
    padding: 2.125rem;
    display: flex;
    position: absolute;
    left: 50%;
    transform: translate(-50%)
}

.section-header {
    top: 0
}

.section-footer {
    justify-content: flex-start;
    gap: 2rem;
    bottom: 0
}

.section-header p,
.section-footer p {
    color: var(--base-700)
}

.section-header.light p,
.section-footer.light p {
    color: var(--base-500)
}

.transition-grid {
    pointer-events: none;
    z-index: 100;
    width: 100%;
    height: 100svh;
    position: fixed;
    top: 0;
    left: 0;
    overflow: hidden
}

.transition-block {
    background-color: var(--base-500);
    transform-origin: 0;
    position: absolute;
    top: 0
}

@media (max-width:1000px) {
    .container,
    .section-header,
    .section-footer {
        padding: 1.5rem
    }
}

@font-face {
    font-family: Koulen;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../media/19e744b53a386fd6-s.16769523.woff2)format("woff2");
    unicode-range: U+1780-17FF, U+19E0-19FF, U+200C-200D, U+25CC
}

@font-face {
    font-family: Koulen;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../media/6c6a3def8289aaff-s.p.99c718a3.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: Koulen Fallback;
    src: local(Arial);
    ascent-override: 137.09%;
    descent-override: 65.8%;
    line-gap-override: 0.0%;
    size-adjust: 89.05%
}

.koulen_28999a45-module__2Ll8qa__className {
    font-family: Koulen, Koulen Fallback;
    font-style: normal;
    font-weight: 400
}

.koulen_28999a45-module__2Ll8qa__variable {
    --font-koulen: "Koulen", "Koulen Fallback"
}

@font-face {
    font-family: Host Grotesk;
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(../media/0d4f81138b703b58-s.1c58d563.woff2)format("woff2");
    unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Host Grotesk;
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(../media/3a11180d498b75c0-s.p.cb76a30f.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: Host Grotesk;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../media/0d4f81138b703b58-s.1c58d563.woff2)format("woff2");
    unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Host Grotesk;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../media/3a11180d498b75c0-s.p.cb76a30f.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: Host Grotesk;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(../media/0d4f81138b703b58-s.1c58d563.woff2)format("woff2");
    unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Host Grotesk;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(../media/3a11180d498b75c0-s.p.cb76a30f.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: Host Grotesk;
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(../media/0d4f81138b703b58-s.1c58d563.woff2)format("woff2");
    unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Host Grotesk;
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(../media/3a11180d498b75c0-s.p.cb76a30f.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: Host Grotesk;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../media/0d4f81138b703b58-s.1c58d563.woff2)format("woff2");
    unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Host Grotesk;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../media/3a11180d498b75c0-s.p.cb76a30f.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: Host Grotesk;
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url(../media/0d4f81138b703b58-s.1c58d563.woff2)format("woff2");
    unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Host Grotesk;
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url(../media/3a11180d498b75c0-s.p.cb76a30f.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: Host Grotesk Fallback;
    src: local(Arial);
    ascent-override: 96.69%;
    descent-override: 30.01%;
    line-gap-override: 0.0%;
    size-adjust: 104.98%
}

.host_grotesk_77591207-module__wBerHq__className {
    font-family: Host Grotesk, Host Grotesk Fallback;
    font-style: normal
}

.host_grotesk_77591207-module__wBerHq__variable {
    --font-host-grotesk: "Host Grotesk", "Host Grotesk Fallback"
}

@font-face {
    font-family: DM Mono;
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url(../media/ce8c9d7a56f920bc-s.ce8d954f.woff2)format("woff2");
    unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: DM Mono;
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url(../media/475197ef9cf73ba9-s.p.035d6fd3.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: DM Mono;
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(../media/587b2df5ecc06205-s.fb36229b.woff2)format("woff2");
    unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: DM Mono;
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(../media/bdef460321aa07a0-s.p.c4530df2.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: DM Mono;
    font-style: italic;
    font-weight: 500;
    font-display: swap;
    src: url(../media/f82326de2f9f680d-s.7357be16.woff2)format("woff2");
    unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: DM Mono;
    font-style: italic;
    font-weight: 500;
    font-display: swap;
    src: url(../media/f9fc8f485db6b190-s.p.01f2a084.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: DM Mono;
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(../media/ba8e772932784a28-s.7bb0ada4.woff2)format("woff2");
    unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: DM Mono;
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(../media/7546fe8f902b88b8-s.p.5f7c9333.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: DM Mono;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../media/b12e986493c137cf-s.4b5f6188.woff2)format("woff2");
    unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: DM Mono;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../media/36363bfb06833f56-s.p.d8302362.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: DM Mono;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(../media/b2fa3ef4ca165ab4-s.e316a4a9.woff2)format("woff2");
    unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: DM Mono;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(../media/a73419dd2ba2d841-s.p.f2813c2a.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: DM Mono Fallback;
    src: local(Arial);
    ascent-override: 73.71%;
    descent-override: 23.03%;
    line-gap-override: 0.0%;
    size-adjust: 134.59%
}

.dm_mono_4d7aaead-module__WtXi1a__className {
    font-family: DM Mono, DM Mono Fallback
}

.dm_mono_4d7aaead-module__WtXi1a__variable {
    --font-dm-mono: "DM Mono", "DM Mono Fallback"
}

.menu {
    will-change: transform;
    z-index: 10;
    width: calc(100% - 4rem);
    max-width: 2000px;
    transition: transform .4s;
    position: fixed;
    top: 2rem;
    left: 50%;
    transform: translate(-50%)
}

.menu.hidden {
    transform: translate(-50%)translateY(-300%)
}

.menu .menu-header {
    background-color: var(--base-700);
    z-index: 2;
    cursor: pointer;
    border-radius: .75rem;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem 1rem 1.75rem;
    display: flex;
    position: relative
}

.menu .menu-logo {
    text-transform: uppercase;
    font-family: var(--font-koulen), sans-serif;
    cursor: pointer;
    color: var(--base-100);
    font-size: clamp(1.25rem, 2vw, 3rem);
    line-height: 1
}

.menu .menu-toggle {
    cursor: pointer;
    background: 0 0;
    border: none;
    justify-content: center;
    align-items: center;
    width: 28px;
    height: 28px;
    padding: .5rem;
    display: flex;
    position: relative
}

.menu .menu-hamburger-icon {
    cursor: pointer;
    width: 20px;
    height: 25px;
    position: absolute;
    top: 10px;
    right: 0
}

.menu .menu-item {
    background: var(--base-100);
    border-radius: 1px;
    width: 20px;
    height: 2px;
    margin: 0 0 4px;
    transition: all .2s;
    display: block
}

.menu .menu-hamburger-icon.open .menu-item {
    background: var(--base-100)
}

.menu .menu-hamburger-icon.open .menu-item:first-child {
    transform-origin: 5px;
    transform: rotate(45deg)
}

.menu .menu-hamburger-icon.open .menu-item:nth-child(2) {
    transform-origin: 6px;
    transform: rotate(-45deg)
}

.menu .menu-overlay {
    background-color: var(--base-700);
    transform-origin: top;
    will-change: transform;
    border-radius: 0 0 .75rem .75rem;
    flex-direction: column;
    gap: 4rem;
    margin-top: -.75rem;
    padding: 4rem 2rem 2rem;
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    overflow: hidden;
    transform: scaleY(0)
}

.menu .menu-overlay-items {
    gap: 4rem;
    display: flex
}

.menu .menu-items-header p {
    color: var(--base-500)
}

.menu .menu-overlay-col-sm {
    flex-direction: column;
    flex: 2;
    gap: 2rem;
    display: flex
}

.menu .menu-overlay-col-sm .menu-main-link {
    width: 70%;
    color: var(--base-100);
    justify-content: space-between;
    align-items: center;
    display: flex
}

.menu .menu-overlay-col-sm .menu-main-link p {
    font-size: 1.25rem
}

.menu .menu-overlay-col-lg {
    flex: 2.5;
    gap: 2rem;
    display: flex
}

.menu .menu-overlay-col-lg .menu-overlay-sub-col {
    flex-direction: column;
    flex: 1;
    gap: 2rem;
    display: flex
}

.menu .menu-sub-links {
    flex-direction: column;
    display: flex
}

.menu .menu-sub-links a {
    color: var(--base-100);
    border-bottom: 1px dashed var(--base-500);
    will-change: transform, opacity;
    padding: 1rem 0;
    display: block;
    position: relative
}

.menu .menu-overlay-footer {
    border-top: 1px dashed var(--base-500);
    justify-content: space-between;
    width: 100%;
    padding: 1rem 0 0;
    display: flex
}

.menu .menu-overlay-footer a {
    color: var(--base-100)
}

@media (max-width:1000px) {
    .menu {
        width: calc(100% - 3rem);
        top: 1.5rem
    }
    .menu .menu-overlay-items {
        flex-direction: column;
        gap: 2rem
    }
    .menu .menu-items-header {
        display: none
    }
    .menu .menu-overlay-col-lg {
        flex-direction: column
    }
    .menu .menu-product-links {
        display: none
    }
}

footer {
    background-color: var(--base-100);
    width: 100%;
    height: 100%;
    margin-top: -45svh;
    position: relative
}

footer p.bodyCopy {
    font-size: .95rem
}

footer .container {
    flex-direction: column;
    gap: 10rem;
    padding: 3rem;
    display: flex
}

footer .footer-row:first-child {
    gap: 1rem;
    width: 45%;
    display: flex
}

footer .footer-row:first-child .footer-col {
    flex-direction: column;
    flex: 1;
    gap: 2rem;
    display: flex
}

footer .footer-row:first-child .footer-col .footer-col-header p {
    color: var(--base-500)
}

footer .footer-row:first-child .footer-col .footer-col-links {
    flex-direction: column;
    gap: 1rem;
    display: flex
}

footer .footer-row:nth-child(2) {
    justify-content: space-between;
    align-items: flex-end;
    display: flex
}

footer .footer-row:nth-child(2) .footer-copyright {
    flex-direction: column;
    gap: .5rem;
    display: flex
}

footer .footer-row:nth-child(2) .footer-copyright p:nth-child(2) {
    color: var(--base-500);
    margin-bottom: 1.5rem;
    line-height: 1.25
}

@media (max-width:1000px) {
    footer {
        margin-top: 0
    }
    footer .container {
        gap: 5rem;
        padding: 3rem 2rem
    }
    footer .footer-row:first-child {
        flex-direction: column;
        gap: 4rem;
        width: 100%
    }
    footer .footer-row:first-child .footer-col .footer-col-links {
        gap: .5rem
    }
    footer .footer-row:nth-child(2) {
        flex-direction: column;
        align-items: flex-start;
        gap: .25rem
    }
}

@media (min-width:2000px) {
    footer {
        margin-top: -40svh
    }
}

.contact-form {
    background-color: var(--base-100);
    width: 100%;
    height: 125svh;
    position: relative;
    overflow-x: hidden
}

.contact-form .contact-parallax-image-wrapper {
    background-color: var(--base-200);
    width: 100%;
    height: 80svh;
    position: relative;
    overflow: hidden
}

.contact-form .contact-parallax-image-wrapper h1 {
    color: var(--base-400);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) scale(5)
}

.contact-form .contact-parallax-image-wrapper img {
    position: absolute;
    bottom: -4rem;
    left: 40%;
    transform: translateX(-50%);
    transform-origin: bottom center;
    height: 120%;
    width: auto;
    object-fit: contain
}

.contact-form .contact-form-container {
    background-color: var(--base-700);
    width: 35%;
    height: 80svh;
    max-height: 900px;
    color: var(--base-100);
    z-index: 2;
    border-radius: .75rem;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 4rem 3rem;
    display: flex;
    position: absolute;
    top: 40svh;
    right: 8rem
}

.contact-form .cf-header {
    text-align: center;
    width: 90%
}

.contact-form .cf-copy p {
    color: var(--base-400);
    text-align: center;
    width: 80%;
    margin: 0 auto
}

.contact-form .cf-input {
    width: 100%
}

.contact-form .cf-input input {
    background-color: var(--base-600);
    text-transform: uppercase;
    width: 100%;
    color: var(--base-100);
    font-family: var(--font-dm-mono), monospace;
    border: 1.5px dashed #ffffff26;
    border-radius: .5rem;
    outline: none;
    padding: 1rem;
    font-weight: 500;
    line-height: 1
}

.contact-form .cf-submit {
    background-color: var(--base-300);
    width: 5rem;
    height: 5rem;
    color: var(--base-700);
    border-radius: 100%;
    justify-content: center;
    align-items: center;
    margin-bottom: 2rem;
    font-size: 1.5rem;
    display: flex
}

.contact-form .cf-submit svg {
    transform: scale(.35)
}

.contact-form .cf-footer {
    flex-direction: column;
    gap: 2rem;
    width: 100%;
    display: flex
}

.contact-form .cf-footer .cf-divider {
    border-top: 1.5px dashed #ffffff26;
    width: 100%;
    height: 1px
}

.contact-form .cf-footer .cf-footer-copy p {
    color: var(--base-500);
    text-align: center;
    width: 40%;
    margin: 0 auto;
    font-size: .8rem
}

@media (max-width:1000px) {
    .contact-form {
        height: 160svh
    }
    .contact-form .cf-header,
    .contact-form .cf-copy p {
        width: 100%
    }
    .contact-form .cf-footer .cf-footer-copy p {
        width: 75%
    }
    .contact-form .contact-form-container {
        border-radius: 0;
        width: 100%;
        padding: 5rem 2rem;
        top: 80svh;
        right: 0
    }
}

@media (min-width:2000px) {
    .contact-form .contact-form-container {
        width: 25%;
        height: 60svh
    }
    .contact-form .contact-form-container h4 {
        margin: 2rem auto 0;
        font-size: 2.5vw
    }
    .contact-form .cf-copy {
        margin-top: -2rem
    }
}

.shopping-cart-container {
    pointer-events: none;
    z-index: 50;
    width: 100%;
    height: 100svh;
    padding: 2rem;
    position: fixed;
    top: 0;
    left: 0
}

.shopping-cart-container .cart-button {
    background-color: var(--base-700);
    color: var(--base-100);
    cursor: pointer;
    pointer-events: all;
    width: max-content;
    height: 3.5rem;
    font-family: var(--font-dm-mono), monospace;
    text-transform: uppercase;
    border: none;
    border-radius: .75rem;
    justify-content: center;
    align-items: center;
    gap: .75rem;
    padding: 0 1.5rem;
    font-size: clamp(.85rem, 1vw, .85rem);
    font-weight: 500;
    transition: transform .2s;
    display: flex;
    position: absolute;
    bottom: 2rem;
    right: 2rem
}

.shopping-cart-container .cart-button:active {
    transform: scale(.95)
}

.shopping-cart-container .cart-icon {
    color: var(--base-100)
}

.shopping-cart-container .cart-count {
    background-color: var(--base-100);
    color: var(--base-700);
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: .25rem .5rem;
    font-size: .65rem;
    font-weight: 600;
    display: flex
}

.shopping-cart-container .cart-sidebar {
    background-color: var(--base-700);
    width: 30%;
    height: calc(100svh - 4rem);
    color: var(--base-100);
    pointer-events: all;
    overscroll-behavior: contain;
    border-radius: .75rem;
    flex-direction: column;
    transition: transform .3s;
    display: flex;
    position: absolute;
    top: 2rem;
    right: 2rem;
    overflow: hidden;
    transform: translate(calc(100% + 4rem))
}

.shopping-cart-container .cart-sidebar.open {
    transform: translate(0)
}

.shopping-cart-container .cart-sidebar-content {
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 2rem;
    display: flex
}

.shopping-cart-container .cart-header {
    border-bottom: 1px solid #ffffff1a;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    display: flex
}

.shopping-cart-container .cart-header h2 {
    color: var(--base-100);
    margin: 0;
    font-size: clamp(1.5rem, 2vw, 2rem)
}

.shopping-cart-container .cart-close {
    color: var(--base-100);
    cursor: pointer;
    font-family: var(--font-dm-mono), monospace;
    text-transform: uppercase;
    background: 0 0;
    border: none;
    padding: 0;
    font-size: clamp(.8rem, .75vw, .85rem);
    font-weight: 500;
    transition: opacity .2s
}

.shopping-cart-container .cart-items {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
    flex: 1;
    margin-bottom: 2rem;
    overflow: hidden auto
}

.shopping-cart-container .cart-items::-webkit-scrollbar {
    display: none
}

.shopping-cart-container .cart-empty {
    text-align: center;
    justify-content: center;
    align-items: center;
    height: 100%;
    display: flex
}

.shopping-cart-container .cart-empty p {
    color: var(--base-100);
    text-transform: uppercase
}

.shopping-cart-container .cart-item {
    border-bottom: 1px solid #ffffff1a;
    gap: 1.5rem;
    padding: 1.5rem 0;
    display: flex
}

.shopping-cart-container .cart-item:last-child {
    border-bottom: none
}

.shopping-cart-container .cart-item-image {
    background-color: var(--base-200);
    border-radius: .5rem;
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    padding: .5rem;
    overflow: hidden
}

.shopping-cart-container .cart-item-image img {
    object-fit: contain;
    width: 100%;
    height: 100%
}

.shopping-cart-container .cart-item-details {
    flex-direction: column;
    flex: 1;
    gap: .5rem;
    display: flex
}

.shopping-cart-container .cart-item-name-row {
    justify-content: space-between;
    align-items: center;
    width: 100%;
    display: flex
}

.shopping-cart-container .cart-item-name {
    color: var(--base-100);
    text-transform: uppercase;
    margin: 0
}

.shopping-cart-container .cart-item-quantity {
    color: var(--base-100);
    text-transform: uppercase;
    font-size: clamp(.85rem, 1vw, .9rem);
    font-weight: 500
}

.shopping-cart-container .cart-item-price {
    color: var(--base-100);
    margin: 0
}

.shopping-cart-container .cart-item-remove {
    color: var(--base-500);
    cursor: pointer;
    font-family: var(--font-dm-mono), monospace;
    text-transform: uppercase;
    text-align: left;
    background: 0 0;
    border: none;
    margin-top: .5rem;
    padding: 0;
    font-size: clamp(.75rem, .9vw, .8rem);
    font-weight: 500;
    transition: opacity .2s;
    transform: none
}

.shopping-cart-container .cart-item-remove:active {
    transform: none
}

.shopping-cart-container .cart-footer {
    border-top: 1px solid #ffffff1a;
    flex-direction: column;
    gap: 1rem;
    padding-top: 1.5rem;
    display: flex
}

.shopping-cart-container .cart-summary-row {
    color: var(--base-100);
    text-transform: uppercase;
    justify-content: space-between;
    font-size: clamp(.85rem, 1vw, .9rem);
    display: flex
}

.shopping-cart-container .cart-summary-row span {
    color: var(--base-100)
}

.shopping-cart-container .cart-checkout {
    background-color: var(--base-100);
    width: 100%;
    color: var(--base-700);
    cursor: pointer;
    font-family: var(--font-dm-mono), monospace;
    text-transform: uppercase;
    border: none;
    border-radius: .5rem;
    margin-top: 1rem;
    padding: 1.25rem;
    font-size: clamp(.85rem, 1vw, .85rem);
    font-weight: 500;
    transition: transform .2s
}

.shopping-cart-container .cart-checkout:active {
    transform: scale(.95)
}

@media (max-width:1000px) {
    .shopping-cart-container {
        padding: 1rem
    }
    .shopping-cart-container .cart-sidebar {
        width: calc(100% - 2rem);
        right: 2rem
    }
    .shopping-cart-container .cart-button {
        bottom: 1rem;
        right: 1rem
    }
    .shopping-cart-container .cart-sidebar {
        height: calc(100svh - 2rem);
        top: 1rem;
        right: 1rem
    }
    .shopping-cart-container .cart-sidebar-content {
        padding: 1.5rem
    }
}

footer .footer-row:nth-child(2) {
    justify-content: center
}

footer .footer-copyright {
    align-items: center;
    text-align: center
}