/** Shopify CDN: Minification failed

Line 1541:2 Unexpected "{"
Line 9324:18 Unexpected "{"
Line 9324:27 Expected ":"

**/

@charset "UTF-8";

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	background-size: 100% auto;
	background-position: center;
	background-repeat: no-repeat;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

input, select, textarea {
	outline: none;
}

input[type=checkbox],
input[type=radio] {
	cursor: pointer;
}

button {
	border: none;
	background-color: transparent;
	cursor: pointer;
}

*::before,
*::after {
	background-size: 100% auto;
	background-position: center;
	background-repeat: no-repeat;
}

.splide__container {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	position: relative;
}

.splide__list {
	-webkit-backface-visibility: hidden;
	        backface-visibility: hidden;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
	display: block;
}

.splide__pagination {
	-ms-flex-align: center;
	-webkit-box-align: center;
	        align-items: center;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	        justify-content: center;
	margin: 0;
	pointer-events: none;
}

.splide__pagination li {
	display: inline-block;
	line-height: 1;
	list-style-type: none;
	margin: 0;
	pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
	display: none;
}

.splide__progress__bar {
	width: 0;
}

.splide {
	position: relative;
	visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
	visibility: visible;
}

.splide__slide {
	-webkit-backface-visibility: hidden;
	        backface-visibility: hidden;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	list-style-type: none !important;
	margin: 0;
	position: relative;
}

.splide__slide img {
	vertical-align: bottom;
}

.splide__spinner {
	-webkit-animation: splide-loading 1s linear infinite;
	        animation: splide-loading 1s linear infinite;
	border: 2px solid #999;
	border-left-color: transparent;
	border-radius: 50%;
	bottom: 0;
	contain: strict;
	display: inline-block;
	height: 20px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 20px;
}

.splide__sr {
	clip: rect(0 0 0 0);
	border: 0;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
	display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
	display: inline;
}

.splide__track {
	overflow: hidden;
	position: relative;
	z-index: 0;
}

@-webkit-keyframes splide-loading {
	0% {
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
	to {
		-webkit-transform: rotate(1turn);
		        transform: rotate(1turn);
	}
}

@keyframes splide-loading {
	0% {
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
	to {
		-webkit-transform: rotate(1turn);
		        transform: rotate(1turn);
	}
}
.splide__track--draggable {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	-moz-user-select: none;
	     user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
	margin: 0 !important;
	opacity: 0;
	z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
	opacity: 1;
	z-index: 1;
}

.splide--rtl {
	direction: rtl;
}

.splide__track--ttb > .splide__list {
	display: block;
}

.splide__arrow {
	-ms-flex-align: center;
	-webkit-box-align: center;
	        align-items: center;
	background: #ccc;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	height: 2em;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	        justify-content: center;
	opacity: 0.7;
	padding: 0;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	width: 2em;
	z-index: 1;
}

.splide__arrow svg {
	fill: #000;
	height: 1.2em;
	width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
	opacity: 0.9;
}

.splide__arrow:disabled {
	opacity: 0.3;
}

.splide__arrow:focus-visible {
	outline: 3px solid var(--c-himmel);
	outline-offset: 3px;
}

.splide__arrow--prev {
	left: 1em;
}

.splide__arrow--prev svg {
	-webkit-transform: scaleX(-1);
	    -ms-transform: scaleX(-1);
	        transform: scaleX(-1);
}

.splide__arrow--next {
	right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
	outline: 3px solid var(--c-himmel);
	outline-offset: 3px;
}

.splide__pagination {
	bottom: 0.5em;
	left: 0;
	padding: 0 1em;
	position: absolute;
	right: 0;
	z-index: 1;
}

.splide__pagination__page {
	background: #ccc;
	border: 0;
	border-radius: 50%;
	display: inline-block;
	height: 8px;
	margin: 3px;
	opacity: 0.7;
	padding: 0;
	position: relative;
	-webkit-transition: -webkit-transform 0.2s linear;
	transition: -webkit-transform 0.2s linear;
	transition: transform 0.2s linear;
	transition: transform 0.2s linear, -webkit-transform 0.2s linear;
	width: 8px;
}

.splide__pagination__page.is-active {
	background: #fff;
	-webkit-transform: scale(1.4);
	    -ms-transform: scale(1.4);
	        transform: scale(1.4);
	z-index: 1;
}

.splide__pagination__page:hover {
	cursor: pointer;
	opacity: 0.9;
}

.splide__pagination__page:focus-visible {
	outline: 3px solid var(--c-himmel);
	outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
	outline: 3px solid var(--c-himmel);
	outline-offset: 3px;
}

.splide__progress__bar {
	background: #ccc;
	height: 3px;
}

.splide__slide {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
	outline: 0;
}

@supports (outline-offset: -3px) {
	.splide__slide:focus-visible {
		outline: 3px solid var(--c-himmel);
		outline-offset: -3px;
	}
}
@media screen and (-ms-high-contrast: none) {
	.splide__slide:focus-visible {
		border: 3px solid var(--c-himmel);
	}
}
@supports (outline-offset: -3px) {
	.splide.is-focus-in .splide__slide:focus {
		outline: 3px solid var(--c-himmel);
		outline-offset: -3px;
	}
}
@media screen and (-ms-high-contrast: none) {
	.splide.is-focus-in .splide__slide:focus {
		border: 3px solid var(--c-himmel);
	}
	.splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
		border-color: var(--c-himmel);
	}
}
.splide__toggle {
	cursor: pointer;
}

.splide__toggle:focus-visible {
	outline: 3px solid var(--c-himmel);
	outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
	outline: 3px solid var(--c-himmel);
	outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
	border: 3px solid transparent;
	cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
	border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
	left: auto;
	right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
	-webkit-transform: scaleX(1);
	    -ms-transform: scaleX(1);
	        transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
	left: 1em;
	right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
	-webkit-transform: scaleX(-1);
	    -ms-transform: scaleX(-1);
	        transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
	left: 50%;
	-webkit-transform: translate(-50%);
	    -ms-transform: translate(-50%);
	        transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
	top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
	-webkit-transform: rotate(-90deg);
	    -ms-transform: rotate(-90deg);
	        transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
	bottom: 1em;
	top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
	-webkit-transform: rotate(90deg);
	    -ms-transform: rotate(90deg);
	        transform: rotate(90deg);
}

.splide__pagination--ttb {
	bottom: 0;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-direction: column;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	        flex-direction: column;
	left: auto;
	padding: 1em 0;
	right: 0.5em;
	top: 0;
}

/*
 * Container style
 */
.ps {
	overflow: hidden !important;
	overflow-anchor: none;
	-ms-overflow-style: none;
	touch-action: auto;
	-ms-touch-action: auto;
}

/*
 * Scrollbar rail styles
 */
.ps__rail-x {
	display: none;
	opacity: 0;
	transition: background-color 0.2s linear, opacity 0.2s linear;
	-webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
	height: 15px;
	/* there must be 'bottom' or 'top' for ps__rail-x */
	bottom: 0px;
	/* please don't change 'position' */
	position: absolute;
}

.ps__rail-y {
	display: none;
	opacity: 0;
	transition: background-color 0.2s linear, opacity 0.2s linear;
	-webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
	width: 15px;
	/* there must be 'right' or 'left' for ps__rail-y */
	right: 0;
	/* please don't change 'position' */
	position: absolute;
}

.ps--active-x > .ps__rail-x,
.ps--active-y > .ps__rail-y {
	display: block;
	background-color: transparent;
}

.ps:hover > .ps__rail-x,
.ps:hover > .ps__rail-y,
.ps--focus > .ps__rail-x,
.ps--focus > .ps__rail-y,
.ps--scrolling-x > .ps__rail-x,
.ps--scrolling-y > .ps__rail-y {
	opacity: 0.6;
}

.ps .ps__rail-x:hover,
.ps .ps__rail-y:hover,
.ps .ps__rail-x:focus,
.ps .ps__rail-y:focus,
.ps .ps__rail-x.ps--clicking,
.ps .ps__rail-y.ps--clicking {
	background-color: #eee;
	opacity: 0.9;
}

/*
 * Scrollbar thumb styles
 */
.ps__thumb-x {
	background-color: #aaa;
	border-radius: 6px;
	transition: background-color 0.2s linear, height 0.2s ease-in-out;
	-webkit-transition: background-color 0.2s linear, height 0.2s ease-in-out;
	height: 6px;
	/* there must be 'bottom' for ps__thumb-x */
	bottom: 2px;
	/* please don't change 'position' */
	position: absolute;
}

.ps__thumb-y {
	background-color: #aaa;
	border-radius: 6px;
	transition: background-color 0.2s linear, width 0.2s ease-in-out;
	-webkit-transition: background-color 0.2s linear, width 0.2s ease-in-out;
	width: 6px;
	/* there must be 'right' for ps__thumb-y */
	right: 2px;
	/* please don't change 'position' */
	position: absolute;
}

.ps__rail-x:hover > .ps__thumb-x,
.ps__rail-x:focus > .ps__thumb-x,
.ps__rail-x.ps--clicking .ps__thumb-x {
	background-color: #999;
	height: 11px;
}

.ps__rail-y:hover > .ps__thumb-y,
.ps__rail-y:focus > .ps__thumb-y,
.ps__rail-y.ps--clicking .ps__thumb-y {
	background-color: #999;
	width: 11px;
}

/* MS supports */
@supports (-ms-overflow-style: none) {
	.ps {
		overflow: auto !important;
	}
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	.ps {
		overflow: auto !important;
	}
}
/**
 * Vars
 */
:root {
/* Brand Accents */
    --c-cardinal: #ED5565;       /* Main Pink (from button/pod) */
    --c-cardinal-light: #F27B88;
    --c-cardinal-dark: #D63D4D;
    --c-cardinal-od: #ED5565;

    /* Secondary Accents */
    --c-himmel: #4A6274;        /* Slate Blue (from logo) */
    --c-himmel-light:rgb(214, 238, 255);
    --c-himmel-dark: #354B5B;

    /* Surfaces (The Light Mode Core) */
    --c-steel: #FFFFFF;         /* Main Background */
    --c-steel-dark: #F5F5F7;    /* Secondary Surface / Cart Background */

    /* Typography */
    --c-slate: #424242;         /* Primary Headlines/Body */
    --c-slate-light: #71757B;   /* Secondary/Muted Text */
    --c-nordic: #1f1f1e;        /* Deep Black for emphasis */
    --c-black: #000000;

    /* Warm Neutral Surfaces (used sparingly for section rhythm) */
    --c-warm: #FBF8F3;          /* Soft ivory — alternate section surface */
    --c-warm-deep: #F5EFE4;     /* Slightly deeper warm stone, rarer use */
    --c-hairline: rgba(31, 31, 30, 0.08); /* Architectural divider line */

	/* Fonts */
	/* Headings */
    --font-h: "Poppins", sans-serif;
    
    /* Body Text */
    --font-b: "Poppins", sans-serif;
    
    /* Accent Font (Optional: Use Poppins or keep your previous one) */
    --font-c: "Poppins", sans-serif;
}

/**
 * Mixins
 */
@-webkit-keyframes spinner {
	0% {
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
@keyframes spinner {
	0% {
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
.spinner {
	display: inline-block;
	border: 3px solid rgba(0, 0, 0, 0.1);
	border-left-color: var(--c-cardinal);
	border-radius: 50%;
	width: 2rem;
	height: 2rem;
	-webkit-animation: spinner 1.2s linear infinite;
	        animation: spinner 1.2s linear infinite;
}

html, body {
	width: 100%;
	height: 100%;
}

html {
	font-size: 62.5%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
html *, html *:before, html *:after {
	-webkit-box-sizing: inherit;
	        box-sizing: inherit;
}

main {
	min-height: 15rem;
}

body {
	font-size: 1.6rem;
	overflow-x: hidden;
}

body,
input,
select,
textarea {
	font-family: var(--font-b);
	outline: 0;
}

button {
	font-family: var(--font-b);
}

*, *:before, *:after {
	-webkit-box-sizing: inherit;
	        box-sizing: inherit;
	-webkit-font-kerning: normal;
	        font-kerning: normal;
	-webkit-font-variant-ligatures: common-ligatures contextual;
	        font-variant-ligatures: common-ligatures contextual;
	font-variant-numeric: lining-nums;
	-webkit-font-feature-settings: "kern", "liga", "clig", "calt", "lnum";
	        font-feature-settings: "kern", "liga", "clig", "calt", "lnum";
}

h1,
h1 *,
h1 strong,
h1 em,
h1 b,
h1 i, h2,
h2 *,
h2 strong,
h2 em,
h2 b,
h2 i, h3,
h3 *,
h3 strong,
h3 em,
h3 b,
h3 i {
	line-height: 1;
}

h4, h5, h6, div, span, p, a, ol, ul, li, dl, dd, dt, em, i, strong, b {
	line-height: 1.4;
}

sup {
	font-size: 50%;
	position: relative;
	top: -8px;
	margin: 0 2px;
}

a {
	text-decoration: none;
}

a > svg {
	pointer-events: none;
}

._wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	width: 1450px;
	max-width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 2;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	container-type: inline-size;
	-webkit-transition: padding 250ms ease-in-out;
	transition: padding 250ms ease-in-out;
}
._wrapper.-left {
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}
._wrapper.-center {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
._wrapper.-right {
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}
._wrapper.-middle {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
._wrapper.-bottom {
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}
._wrapper.-v-stretch {
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}
._wrapper.-full {
	width: 100%;
	padding: 0;
}
@media screen and (max-width: 1450px) {
	._wrapper:not(.-full) {
		padding-left: 2rem !important;
		padding-right: 2rem !important;
	}
}

.-full ._wrapper {
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

._row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	width: 100%;
}

._column {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	container-type: inline-size;
	width: 100%;
}
._column.-w-5 {
	width: calc(5% - 2rem);
}
@media screen and (max-width: 768px) {
	._column.-w-5 {
		width: 100%;
	}
}
._column.-w-10 {
	width: calc(10% - 2rem);
}
@media screen and (max-width: 768px) {
	._column.-w-10 {
		width: 100%;
	}
}
._column.-w-15 {
	width: calc(15% - 2rem);
}
@media screen and (max-width: 768px) {
	._column.-w-15 {
		width: 100%;
	}
}
._column.-w-20 {
	width: calc(20% - 2rem);
}
@media screen and (max-width: 1024px) {
	._column.-w-20 {
		width: 25%;
	}
}
@media screen and (max-width: 768px) {
	._column.-w-20 {
		width: 50%;
	}
}
@media screen and (max-width: 430px) {
	._column.-w-20 {
		width: 100%;
	}
}
._column.-w-25 {
	width: calc(25% - 2rem);
}
@media screen and (max-width: 768px) {
	._column.-w-25 {
		width: 100%;
	}
}
._column.-w-30 {
	width: calc(30% - 2rem);
}
@media screen and (max-width: 768px) {
	._column.-w-30 {
		width: 100%;
	}
}
._column.-w-33 {
	width: calc(33.333333% - 1rem);
}
@media screen and (max-width: 768px) {
	._column.-w-33 {
		width: 100%;
	}
}
._column.-w-40 {
	width: calc(40% - 2rem);
}
._column.-w-40-f {
	width: 40%;
}
@media screen and (max-width: 768px) {
	._column.-w-40 {
		width: 100%;
	}
}
._column.-w-45 {
	width: calc(45% - 2rem);
}
@media screen and (max-width: 768px) {
	._column.-w-45 {
		width: 100%;
	}
}
._column.-w-50 {
	width: calc(50% - 2rem);
}
._column.-w-50-f {
	width: 50%;
}
@media screen and (max-width: 768px) {
	._column.-w-50 {
		width: 100%;
	}
}
._column.-w-55 {
	width: calc(55% - 2rem);
}
@media screen and (max-width: 768px) {
	._column.-w-55 {
		width: 100%;
	}
}
._column.-w-60 {
	width: calc(60% - 2rem);
}
._column.-w-60-f {
	width: 60%;
}
@media screen and (max-width: 768px) {
	._column.-w-60 {
		width: 100%;
	}
}
._column.-w-65 {
	width: calc(65% - 2rem);
}
@media screen and (max-width: 768px) {
	._column.-w-65 {
		width: 100%;
	}
}
._column.-w-66 {
	width: calc(66.666666% - 2rem);
}
@media screen and (max-width: 768px) {
	._column.-w-66 {
		width: 100%;
	}
}
._column.-w-70 {
	width: calc(70% - 2rem);
}
._column.-w-70-f {
	width: 70%;
}
@media screen and (max-width: 768px) {
	._column.-w-70 {
		width: 100%;
	}
}
._column.-w-80 {
	width: calc(80% - 2rem);
}
@media screen and (max-width: 768px) {
	._column.-w-80 {
		width: 100%;
	}
}
._column.-w-85 {
	width: calc(85% - 2rem);
}
@media screen and (max-width: 768px) {
	._column.-w-85 {
		width: 100%;
	}
}
._column.-w-90 {
	width: calc(90% - 2rem);
}
@media screen and (max-width: 768px) {
	._column.-w-90 {
		width: 100%;
	}
}
._column.-flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
._column.-center {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
._column.-right {
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}
._column.-stretch {
	-ms-flex-item-align: stretch;
	    align-self: stretch;
}
._column.-middle {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
._column.-bottom {
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}

._grid {
	display: grid;
	gap: 5rem;
	width: calc(100% - 7.2rem);
	margin: 0 auto;
}
@media screen and (max-width: 550px) {
	._grid {
		width: calc(100% - 4rem);
	}
}
._grid.-col-3 {
	grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 1040px) {
	._grid.-col-3 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 650px) {
	._grid.-col-3 {
		grid-template-columns: repeat(1, 1fr);
	}
}

body {
	background-color: var(--c-steel);
}

body > header {
	width: 100%;
	padding: 4rem 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99;
}
body > header ._brand {
	display: block;
	aspect-ratio: 215/82;
	width: 215px;
}
@media screen and (max-width: 768px) {
	body > header ._brand {
		width: 190px;
	}
}
@media screen and (max-width: 550px) {
	body > header ._brand {
		width: 160px;
	}
}
@media screen and (max-width: 425px) {
	body > header ._brand {
		width: 120px;
	}
}
body > header button[rel=search] {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin-left: 1.5rem;
}
body > header button[rel=search] svg {
	width: 1.7rem;
	height: auto;
}
body > header button[rel=cart] {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin-left: 1rem;
	position: relative;
	-webkit-transform: translateY(-3px);
	    -ms-transform: translateY(-3px);
	        transform: translateY(-3px);
}
body > header button[rel=cart] svg {
	width: 1.7rem;
	height: auto;
}
body > header button[rel=cart]:hover span {
	-webkit-transform: translate(50%, -60%);
	    -ms-transform: translate(50%, -60%);
	        transform: translate(50%, -60%);
}
body > header button[rel=cart] span {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 1.6rem;
	height: 1.6rem;
	font-size: 1.1rem;
	font-weight: 700;
	color: #fff;
	background-color: var(--c-cardinal);
	border-radius: 100%;
	position: absolute;
	top: 2px;
	right: 3px;
	-webkit-transform: translate(50%, -50%);
	    -ms-transform: translate(50%, -50%);
	        transform: translate(50%, -50%);
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	transition: -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
}
body > header ._icon {
	margin-left: 2rem;
}
@media screen and (max-width: 375px) {
	body > header ._icon {
		display: none;
	}
}

._burger {
	outline: none;
	width: 15px;
	aspect-ratio: 1/0.8;
	border: 0px;
	padding: 0px;
	background: transparent;
	-webkit-transition: all 250ms ease-out;
	transition: all 250ms ease-out;
	cursor: pointer;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	display: none !important;
	font-size: 0;
	position: relative;
	margin-left: 2.5rem;
}
@media screen and (max-width: 1100px) {
	._burger {
		display: -webkit-box !important;
		display: -ms-flexbox !important;
		display: flex !important;
	}
}
._burger::before, ._burger::after {
	content: "";
	width: 19px;
	height: 2px;
	position: absolute;
	background: var(--c-steel);
	-webkit-transition: -webkit-transform 250ms ease-out;
	transition: -webkit-transform 250ms ease-out;
	transition: transform 250ms ease-out;
	transition: transform 250ms ease-out, -webkit-transform 250ms ease-out;
	left: 50%;
}
._burger::before {
	top: 0;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
}
._burger::after {
	bottom: 0;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
}
._burger.-active::before {
	-webkit-transform: translateX(-50%) translateY(260%) rotate(45deg);
	    -ms-transform: translateX(-50%) translateY(260%) rotate(45deg);
	        transform: translateX(-50%) translateY(260%) rotate(45deg);
}
._burger.-active::after {
	-webkit-transform: translateX(-50%) translateY(-260%) rotate(-45deg);
	    -ms-transform: translateX(-50%) translateY(-260%) rotate(-45deg);
	        transform: translateX(-50%) translateY(-260%) rotate(-45deg);
}

._menu.-main {
	margin-left: auto;
	margin-right: 2rem;
}
@media screen and (max-width: 1100px) {
	._menu.-main.-show {
		position: absolute;
		margin: 0;
		width: 100vw;
		top: 11rem;
		left: 0;
		background-color: #fff;
		display: block;
		-webkit-filter: drop-shadow(0 1rem 3rem rgba(0, 0, 0, 0.1));
		        filter: drop-shadow(0 1rem 3rem rgba(0, 0, 0, 0.1));
	}
	._menu.-main.-show ~ button[rel=search] {
		margin-left: auto;
	}
	._menu.-main.-show > ul {
		width: 100%;
		display: block;
	}
	._menu.-main.-show > ul > li {
		margin-left: 0;
		padding: 0 !important;
		display: -webkit-box !important;
		display: -ms-flexbox !important;
		display: flex !important;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}
	._menu.-main.-show > ul > li > a {
		margin-left: 3rem;
	}
	._menu.-main.-show > ul > li:not(:first-of-type) {
		border-top: 1px solid rgba(0, 0, 0, 0.05);
	}
	._menu.-main.-show > ul > li.-dropdown::after {
		content: none;
	}
	._menu.-main.-show > ul > li, ._menu.-main.-show > ul > li:not(:first-of-type) {
		display: block;
	}
	._menu.-main.-show > ul > li a {
		color: var(--c-slate);
	}
	._menu.-main.-show > ul > li.-active > button[rel=toggle] {
		-webkit-transform: rotate(180deg) translateY(-3px);
		    -ms-transform: rotate(180deg) translateY(-3px);
		        transform: rotate(180deg) translateY(-3px);
	}
	._menu.-main.-show > ul > li button[rel=toggle] {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		font-size: 0;
		color: transparent;
		width: 2rem;
		aspect-ratio: 1;
		border: 0;
		background-color: transparent;
		-webkit-appearance: none;
		   -moz-appearance: none;
		        appearance: none;
		padding: 0;
		margin-right: 3rem;
		-webkit-transition: -webkit-transform 100ms ease-in-out;
		transition: -webkit-transform 100ms ease-in-out;
		transition: transform 100ms ease-in-out;
		transition: transform 100ms ease-in-out, -webkit-transform 100ms ease-in-out;
	}
	._menu.-main.-show > ul > li button[rel=toggle]::after {
		content: "";
		border: solid rgba(0, 0, 0, 0.15);
		border-width: 0 2px 2px 0;
		display: block;
		-webkit-transform: rotate(45deg);
		    -ms-transform: rotate(45deg);
		        transform: rotate(45deg);
		display: block;
		width: 1rem;
		aspect-ratio: 1/1;
		-webkit-transition: -webkit-transform 100ms ease-in-out;
		transition: -webkit-transform 100ms ease-in-out;
		transition: transform 100ms ease-in-out;
		transition: transform 100ms ease-in-out, -webkit-transform 100ms ease-in-out;
	}
	._menu.-main.-show > ul > li > nav {
		width: 100%;
		display: none;
		background-color: var(--c-steel);
		padding: 0 3rem;
		border-top: 1px solid rgba(0, 0, 0, 0.05);
	}
	._menu.-main.-show > ul > li > nav ul {
		padding: 0;
		margin: 0;
	}
	._menu.-main.-show > ul > li > nav ul > li {
		margin: 0;
	}
	._menu.-main.-show > ul > li > nav > ul > li {
		padding: 1rem 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}
	._menu.-main.-show > ul > li > nav > ul > li > a {
		font-size: 90%;
	}
	._menu.-main.-show > ul > li > nav > ul > li:not(:first-of-type) {
		border-top: 1px solid rgba(0, 0, 0, 0.05);
	}
	._menu.-main.-show > ul > li > nav > ul > li.-active ul {
		display: block;
	}
	._menu.-main.-show > ul > li > nav > ul > li.-active > button[rel=toggle] {
		-webkit-transform: rotate(180deg) translateY(-3px);
		    -ms-transform: rotate(180deg) translateY(-3px);
		        transform: rotate(180deg) translateY(-3px);
	}
	._menu.-main.-show > ul > li > nav > ul ul {
		display: none;
		width: 100%;
		background-color: rgba(0, 0, 0, 0.03);
		padding: 0rem 2rem;
		border-radius: 5px;
		margin-top: 1rem;
	}
	._menu.-main.-show > ul > li > nav > ul ul li {
		padding: 1rem 0;
	}
	._menu.-main.-show > ul > li > nav > ul ul li:not(:first-of-type) {
		border-top: 1px solid rgba(0, 0, 0, 0.05);
	}
	._menu.-main.-show > ul > li > nav > ul ul a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		font-size: 90%;
	}
	._menu.-main.-show > ul > li > nav > ul ul a img {
		max-width: 5rem;
		margin-right: 1rem;
		border-radius: 5px;
	}
	._menu.-main.-show > ul > li.-active > nav {
		display: block;
	}
}
@media screen and (max-width: 550px) {
	._menu.-main.-show {
		top: 10rem;
	}
}
@media screen and (max-width: 480px) {
	._menu.-main.-show {
		top: 8rem;
	}
}
._menu.-main > ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
._menu.-main > ul.menu > li {
	padding: 2.5rem 0;
}
._menu.-main > ul li {
	margin-left: 5rem;
	position: relative;
}
._menu.-main > ul li.-dropdown {
	padding-right: 2rem;
}
._menu.-main > ul li.-dropdown::after {
	content: "";
	display: block;
	width: 0.8rem;
	height: 0.8rem;
	border-left: 2px solid var(--c-steel);
	border-bottom: 2px solid var(--c-steel);
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(calc(-50% - 1px)) rotate(-45deg);
	    -ms-transform: translateY(calc(-50% - 1px)) rotate(-45deg);
	        transform: translateY(calc(-50% - 1px)) rotate(-45deg);
}
@media screen and (max-width: 1100px) {
	._menu.-main > ul > li:not(:first-of-type) {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	._menu.-main > ul > li {
		display: none;
	}
}
._menu.-main > ul > li > a {
	position: relative;
	z-index: 10;
	padding: 1.5rem 0;
}
._menu.-main > ul a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	font-family: var(--font-h);
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
}
._menu.-main > ul a span {
	position: relative;
	white-space: nowrap;
}
._menu.-main > ul a._dum/* ==========================================================
   MINIMALIST CART TITLE TYPOGRAPHY
   ========================================================== */

/* Targets the 'My Cart' title in the drawer and main page */
main-cart ._header, 
side-cart ._header {
    font-weight: 200 !important; /* Extra-light weight to match your headlines */
    font-size: 2.8rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.25em !important; /* Increased spacing for an elegant, high-end feel */
    color: var(--c-nordic) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important; /* Ultra-thin divider */
    padding-bottom: 2rem !important;
}

/* Ensure the Review Your Order text on the main cart page also matches */
main-cart ._header {
    font-size: 3.4rem !important;
    text-align: left !important;
} {
	cursor: default;
}
._menu.-main > ul button[rel=toggle] {
	display: none;
}
._menu:not(.-show).-main > ul li:hover ._mega,
._menu:not(.-show).-main > ul li:hover ._submenu, ._menu:not(.-show).-main > ul li:focus-within ._mega,
._menu:not(.-show).-main > ul li:focus-within ._submenu {
	opacity: 1;
	-webkit-transform: translate(-50%, 0);
	    -ms-transform: translate(-50%, 0);
	        transform: translate(-50%, 0);
	pointer-events: all;
}
._menu:not(.-show).-main > ul li:hover ._mega ._tip,
._menu:not(.-show).-main > ul li:hover ._submenu ._tip, ._menu:not(.-show).-main > ul li:focus-within ._mega ._tip,
._menu:not(.-show).-main > ul li:focus-within ._submenu ._tip {
	top: -6px;
}
._menu:not(.-show) ._mega {
	display: block;
	position: absolute;
	top: 1rem;
	left: 50%;
	padding-top: 4rem;
	opacity: 0;
	-webkit-transform: translate(-50%, -0.5rem);
	    -ms-transform: translate(-50%, -0.5rem);
	        transform: translate(-50%, -0.5rem);
	-webkit-transition: opacity 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	transition: opacity 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out, opacity 250ms ease-in-out;
	transition: transform 250ms ease-in-out, opacity 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	pointer-events: none;
}
._menu:not(.-show) ._mega > ul {
	background-color: var(--c-steel);
	border-radius: 5px;
	-webkit-filter: drop-shadow(0 2rem 2rem rgba(0, 0, 0, 0.2));
	        filter: drop-shadow(0 2rem 2rem rgba(0, 0, 0, 0.2));
	display: block;
	padding: 5px;
	position: relative;
}
._menu:not(.-show) ._mega > ul ._tip {
	content: "";
	width: 0;
	height: 0;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-bottom: 6px solid var(--c-steel);
	font-size: 0;
	line-height: 0;
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
	-webkit-transition: top 250ms ease-in-out;
	transition: top 250ms ease-in-out;
}
._menu:not(.-show) ._mega > ul li {
	margin-left: 0;
	display: block;
	width: 100%;
	position: relative;
}
._menu:not(.-show) ._mega > ul li:hover ul, ._menu:not(.-show) ._mega > ul li:focus ul {
	opacity: 1;
	pointer-events: all;
}
._menu:not(.-show) ._mega > ul > li {
	background-color: #fff;
}
._menu:not(.-show) ._mega > ul > li:last-of-type {
	margin-bottom: 0;
}
._menu:not(.-show) ._mega > ul > li:last-of-type a {
	margin-bottom: 0;
}
._menu:not(.-show) ._mega > ul > li > a {
	font-size: 1.8rem;
	color: var(--c-nordic);
	padding: 1.5rem 4.5rem 1.5rem 2rem;
	position: relative;
	-webkit-transition: background-color 250ms ease-in-out;
	transition: background-color 250ms ease-in-out;
}
@media screen and (max-width: 1100px) {
	._menu:not(.-show) ._mega > ul > li > a {
		padding: 1.5rem 2rem 1.5rem 4.5rem;
	}
}
._menu:not(.-show) ._mega > ul > li > a:hover, ._menu:not(.-show) ._mega > ul > li > a:focus {
	background-color: rgba(0, 0, 0, 0.04);
}
._menu:not(.-show) ._mega > ul > li > a._arrow ._icon {
	position: absolute;
	top: 50%;
	right: 2.5rem;
	-webkit-transform: translate(0, -50%);
	    -ms-transform: translate(0, -50%);
	        transform: translate(0, -50%);
}
@media screen and (max-width: 1100px) {
	._menu:not(.-show) ._mega > ul > li > a._arrow ._icon {
		left: 2.5rem;
		right: initial;
		-webkit-transform: translate(0, -50%) rotate(180deg);
		    -ms-transform: translate(0, -50%) rotate(180deg);
		        transform: translate(0, -50%) rotate(180deg);
	}
}
._menu:not(.-show) ._mega > ul > li > a._arrow ._head,
._menu:not(.-show) ._mega > ul > li > a._arrow ._body {
	stroke: var(--c-nordic);
}
._menu:not(.-show) ._mega > ul > li > a span::after {
	content: none;
}
._menu:not(.-show) ._mega > ul ul {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	-webkit-transform: translateX(calc(100% - 1rem));
	    -ms-transform: translateX(calc(100% - 1rem));
	        transform: translateX(calc(100% - 1rem));
	background: #fff;
	border-radius: 5px;
	-webkit-filter: drop-shadow(0 2rem 2rem rgba(0, 0, 0, 0.2));
	        filter: drop-shadow(0 2rem 2rem rgba(0, 0, 0, 0.2));
	pointer-events: none;
	opacity: 0;
	z-index: 99;
	-webkit-transition: opacity 250ms ease-in-out;
	transition: opacity 250ms ease-in-out;
}
@media screen and (max-width: 1100px) {
	._menu:not(.-show) ._mega > ul ul {
		right: initial;
		left: 0;
		-webkit-transform: translateX(calc(-100% + 1rem));
		    -ms-transform: translateX(calc(-100% + 1rem));
		        transform: translateX(calc(-100% + 1rem));
	}
}
._menu:not(.-show) ._mega > ul ul li {
	padding: 0.5rem 1rem;
	position: relative;
	-webkit-transition: background-color 250ms ease-in-out;
	transition: background-color 250ms ease-in-out;
}
._menu:not(.-show) ._mega > ul ul li:not(.-last):hover, ._menu:not(.-show) ._mega > ul ul li:not(.-last):focus {
	background-color: rgba(0, 0, 0, 0.04);
}
._menu:not(.-show) ._mega > ul ul li.-last {
	padding: 1rem;
}
._menu:not(.-show) ._mega > ul ul li.-last a {
	font-size: 1.3rem;
	padding: 0.5rem 1.5rem;
	background-color: var(--c-steel);
	color: var(--c-slate-light);
	text-transform: uppercase;
	letter-spacing: 1px;
	border-radius: 5px;
	-webkit-transition: background-color 250ms ease-in-out;
	transition: background-color 250ms ease-in-out;
	text-align: center;
}
._menu:not(.-show) ._mega > ul ul li.-last a span {
	width: 100%;
	padding: 0;
}
._menu:not(.-show) ._mega > ul ul li.-last a:hover, ._menu:not(.-show) ._mega > ul ul li.-last a:focus {
	background-color: #e6e6e6;
}
._menu:not(.-show) ._mega > ul ul a {
	font-size: 1.6rem;
	color: var(--c-nordic);
	-webkit-transition: color 250ms ease-in-out;
	transition: color 250ms ease-in-out;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
._menu:not(.-show) ._mega > ul ul a span {
	display: block;
	padding-right: 3rem;
	width: calc(100% - 7.5rem);
	white-space: normal;
}
._menu:not(.-show) ._mega > ul ul a._arrow ._icon {
	position: absolute;
	top: 50%;
	right: 1rem;
	-webkit-transform: translate(0, -50%);
	    -ms-transform: translate(0, -50%);
	        transform: translate(0, -50%);
}
._menu:not(.-show) ._mega > ul ul a._arrow ._head,
._menu:not(.-show) ._mega > ul ul a._arrow ._body {
	stroke: var(--c-cardinal);
}
._menu:not(.-show) ._mega > ul ul a:hover, ._menu:not(.-show) ._mega > ul ul a:focus {
	color: var(--c-cardinal);
}
._menu:not(.-show) ._mega > ul ul a img {
	width: 6rem;
	border-radius: 3px;
	margin-right: 1.5rem;
	background-color: var(--c-steel);
}
._menu:not(.-show) ._mega > ul ul a span::after {
	content: none;
}
._menu.-show {
	display: none;
}
@media screen and (max-width: 1100px) {
	._menu ._submenu {
		display: none;
	}
}
@media screen and (min-width: 1080px) {
	._menu ._submenu {
		display: block;
		position: absolute;
		top: 1rem;
		left: 50%;
		padding-top: 4rem;
		opacity: 0;
		-webkit-transform: translate(-50%, -0.5rem);
		    -ms-transform: translate(-50%, -0.5rem);
		        transform: translate(-50%, -0.5rem);
		-webkit-transition: opacity 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
		transition: opacity 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
		transition: transform 250ms ease-in-out, opacity 250ms ease-in-out;
		transition: transform 250ms ease-in-out, opacity 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
		pointer-events: none;
	}
	._menu ._submenu ul {
		background-color: var(--c-steel);
		border-radius: 5px;
		-webkit-filter: drop-shadow(0 2rem 2rem rgba(0, 0, 0, 0.2));
		        filter: drop-shadow(0 2rem 2rem rgba(0, 0, 0, 0.2));
		display: block;
		padding: 5px;
		position: relative;
	}
	._menu ._submenu ul ._tip {
		content: "";
		width: 0;
		height: 0;
		border-left: 6px solid transparent;
		border-right: 6px solid transparent;
		border-bottom: 6px solid var(--c-steel);
		font-size: 0;
		line-height: 0;
		display: block;
		position: absolute;
		top: 0;
		left: 50%;
		-webkit-transform: translateX(-50%);
		    -ms-transform: translateX(-50%);
		        transform: translateX(-50%);
		-webkit-transition: top 250ms ease-in-out;
		transition: top 250ms ease-in-out;
	}
	._menu ._submenu ul li {
		margin-left: 0;
		display: block;
		width: 100%;
		position: relative;
		background-color: #fff;
	}
	._menu ._submenu ul li:last-of-type {
		margin-bottom: 0;
	}
	._menu ._submenu ul li:last-of-type a {
		margin-bottom: 0;
	}
	._menu ._submenu ul a {
		display: block;
		font-size: 1.8rem;
		color: var(--c-nordic);
		padding: 1.5rem 4.5rem 1.5rem 2rem;
		position: relative;
		-webkit-transition: background-color 250ms ease-in-out;
		transition: background-color 250ms ease-in-out;
	}
	._menu ._submenu ul a:hover, ._menu ._submenu ul a:focus {
		background-color: rgba(0, 0, 0, 0.04);
	}
	._menu ._submenu ul a._arrow ._icon {
		position: absolute;
		top: 50%;
		right: 2.5rem;
		-webkit-transform: translate(0, -50%);
		    -ms-transform: translate(0, -50%);
		        transform: translate(0, -50%);
	}
	._menu ._submenu ul a._arrow ._head,
	._menu ._submenu ul a._arrow ._body {
		stroke: var(--c-nordic);
	}
	._menu ._submenu ul a span::after {
		content: none;
	}
}
._menu ._mobile-only {
	display: none;
}
@media screen and (max-width: 374px) {
	._menu ._mobile-only {
		display: block;
	}
}
._menu.-postfooter {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin-left: 1rem;
}
._menu.-postfooter a {
	color: rgba(255, 255, 255, 0.5);
	-webkit-transition: color 250ms ease-in-out;
	transition: color 250ms ease-in-out;
	margin-left: 0.75rem;
}
._menu.-postfooter a:hover {
	color: var(--c-cardinal-od);
}
._menu.-footer h4 {
	font-size: 1.6rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-family: var(--font-h);
	color: var(--c-steel);
	display: block;
	width: 100%;
	margin-bottom: 2.5rem;
	font-weight: 600;
}
@media screen and (max-width: 550px) {
	._menu.-footer h4 {
		font-size: 1.4rem;
	}
}
._menu.-footer a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	width: 100%;
	color: var(--c-steel);
	font-family: var(--font-b);
	font-size: 1.8rem;
	font-weight: 400;
	-webkit-transition: color 250ms ease-in-out;
	transition: color 250ms ease-in-out;
	margin-top: 1rem;
}
@media screen and (max-width: 550px) {
	._menu.-footer a {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 480px) {
	._menu.-footer a {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		text-align: center;
	}
}
._menu.-footer a span {
	display: block;
	position: relative;
}
._menu.-footer a span::after {
	content: "";
	width: 100%;
	height: 2px;
	background-color: #fff;
	width: 0;
	opacity: 0;
	left: 0;
	bottom: -4px;
	position: absolute;
	-webkit-transition: width 600ms cubic-bezier(0.86, 0, 0.07, 1), opacity 600ms cubic-bezier(0.86, 0, 0.07, 1);
	transition: width 600ms cubic-bezier(0.86, 0, 0.07, 1), opacity 600ms cubic-bezier(0.86, 0, 0.07, 1);
}
._menu.-footer a:hover span::after, ._menu.-footer a:focus span::after {
	width: 100%;
	opacity: 1;
}

._arrow ._icon {
	overflow: visible;
	margin-left: 4px;
	width: 6px;
	aspect-ratio: 6/9;
	-webkit-transform: translateY(-1px);
	    -ms-transform: translateY(-1px);
	        transform: translateY(-1px);
}
._arrow ._head {
	opacity: 0;
	-webkit-transform: translateX(0);
	    -ms-transform: translateX(0);
	        transform: translateX(0);
	-webkit-transition: opacity 150ms ease-in-out, -webkit-transform 250ms ease-in-out;
	transition: opacity 150ms ease-in-out, -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out, opacity 150ms ease-in-out;
	transition: transform 250ms ease-in-out, opacity 150ms ease-in-out, -webkit-transform 250ms ease-in-out;
}
._arrow ._body {
	opacity: 0;
	-webkit-transform: scaleX(1);
	    -ms-transform: scaleX(1);
	        transform: scaleX(1);
	-webkit-transition: opacity 150ms ease-in-out, -webkit-transform 250ms ease-in-out;
	transition: opacity 150ms ease-in-out, -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out, opacity 150ms ease-in-out;
	transition: transform 250ms ease-in-out, opacity 150ms ease-in-out, -webkit-transform 250ms ease-in-out;
}
._arrow:hover ._head, ._arrow:focus ._head {
	opacity: 1;
	-webkit-transform: translateX(3px);
	    -ms-transform: translateX(3px);
	        transform: translateX(3px);
}
._arrow:hover ._body, ._arrow:focus ._body {
	opacity: 1;
	-webkit-transform: scaleX(2);
	    -ms-transform: scaleX(2);
	        transform: scaleX(2);
}

body > footer {
	width: 100%;
}
body > footer ._prefooter {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: var(--c-slate);
	padding: 8rem 0;
}
body > footer ._prefooter ._column:first-of-type {
	border-right: 1px solid var(--c-steel);
}
@media screen and (max-width: 1100px) {
	body > footer ._prefooter ._column:first-of-type {
		border-right: 0;
		border-bottom: 1px solid var(--c-steel);
		padding-bottom: 3rem;
	}
}
@media screen and (max-width: 1100px) {
	body > footer ._prefooter ._column {
		width: 75%;
	}
	body > footer ._prefooter ._column:last-of-type {
		padding-top: 3rem;
	}
}
body > footer ._prefooter ._subscribe {
	max-width: 50rem;
	margin: 0 auto;
}
body > footer ._prefooter ._form.-inline {
	background-color: var(--c-nordic);
	padding: 2rem 3rem;
	border-radius: 10rem;
}
body > footer ._prefooter ._form.-inline input {
	color: #fff;
}
body > footer ._prefooter ._form.-inline input::-webkit-input-placeholder {
	color: rgba(255, 255, 255, 0.5);
}
body > footer ._prefooter ._form.-inline input::-moz-placeholder {
	color: rgba(255, 255, 255, 0.5);
}
body > footer ._prefooter ._form.-inline input:-ms-input-placeholder {
	color: rgba(255, 255, 255, 0.5);
}
body > footer ._prefooter ._form.-inline input::-ms-input-placeholder {
	color: rgba(255, 255, 255, 0.5);
}
body > footer ._prefooter ._form.-inline input::placeholder {
	color: rgba(255, 255, 255, 0.5);
}
body > footer ._prefooter ._form.-inline footer {
	right: 1rem;
}
body > footer ._prefooter ._contact {
	max-width: 43rem;
	margin: 0 auto;
}
body > footer ._prefooter h4, body > footer ._prefooter h2, body > footer ._prefooter h3 {
	width: 100%;
	font-family: var(--font-h);
	letter-spacing: 1px;
	color: var(--c-steel);
	line-height: 1;
}
body > footer ._prefooter h4 {
	font-size: 1.6rem;
	margin-bottom: 3rem;
	font-weight: 600;
	text-transform: uppercase;
}
body > footer ._prefooter h2 {
	font-size: 3.6rem;
	margin-bottom: 3rem;
	color: #fff;
}
@media screen and (max-width: 768px) {
	body > footer ._prefooter h2 {
		font-size: 2.8rem;
	}
}
@media screen and (max-width: 550px) {
	body > footer ._prefooter h2 {
		font-size: 2.4rem;
	}
}
body > footer ._prefooter h3 {
	font-size: 1.9rem;
	font-weight: 500;
	color: #fff;
}
@media screen and (max-width: 550px) {
	body > footer ._prefooter h3 {
		font-size: 1.5rem;
	}
}
body > footer ._footer {
	background-color: var(--c-nordic);
	padding: 6rem 0;
}
@media screen and (max-width: 1100px) {
	body > footer ._footer ._column.-w-40 {
		width: 100%;
		margin-bottom: 3rem;
	}
	body > footer ._footer ._column.-w-20 {
		width: calc(33.333333% - 1rem);
	}
}
@media screen and (max-width: 768px) {
	body > footer ._footer ._column.-w-40 {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
}
@media screen and (max-width: 480px) {
	body > footer ._footer ._column.-w-20 {
		width: 100%;
		margin-bottom: 4rem;
	}
	body > footer ._footer ._column.-w-20 ._menu {
		width: 100%;
	}
}
body > footer ._brand {
	display: block;
	aspect-ratio: 215/82;
	width: 226px;
}
@media screen and (max-width: 550px) {
	body > footer ._brand {
		width: 150px;
	}
}
body > footer ._copy {
	font-size: 1.4rem;
	color: var(--c-slate);
	font-family: var(--font-sans);
}
body > footer ._social {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin-top: 4rem;
}
@media screen and (max-width: 768px) {
	body > footer ._social {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
}
body > footer ._social a {
	display: block;
	margin: 0 1.5rem 1rem 0;
	width: 3.5rem;
	height: 3.5rem;
	line-height: 1;
	-webkit-transition: -webkit-transform 250ms ease-in-out, -webkit-box-shadow 250ms ease-in-out;
	transition: -webkit-transform 250ms ease-in-out, -webkit-box-shadow 250ms ease-in-out;
	transition: transform 250ms ease-in-out, box-shadow 250ms ease-in-out;
	transition: transform 250ms ease-in-out, box-shadow 250ms ease-in-out, -webkit-transform 250ms ease-in-out, -webkit-box-shadow 250ms ease-in-out;
	border-radius: 100%;
}
body > footer ._social a:last-of-type {
	margin-right: 0;
}
@media screen and (max-width: 550px) {
	body > footer ._social a {
		width: 3rem;
		height: 3rem;
	}
}
body > footer ._social a:hover, body > footer ._social a:focus {
	-webkit-box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.2);
	        box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.2);
	-webkit-transform: translateY(-1px);
	    -ms-transform: translateY(-1px);
	        transform: translateY(-1px);
}
body > footer ._social a svg {
	width: 100%;
	height: auto;
}
body > footer ._colophon {
	margin-top: 2.5rem;
	color: rgba(255, 255, 255, 0.5);
	font-size: 1.4rem;
	font-family: var(--font-b);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 100%;
}
@media screen and (max-width: 768px) {
	body > footer ._colophon {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
}
body > footer ._column.-w-20 img {
	width: 62px;
	margin-top: 1.5rem;
}
@media screen and (max-width: 550px) {
	body > footer ._column.-w-20 img {
		margin-top: 1rem;
		width: 50px;
	}
}
@media screen and (max-width: 480px) {
	body > footer ._column.-w-20 img {
		margin-left: auto;
		margin-right: auto;
	}
}
body > footer ._column.-w-20 h4 {
	font-size: 1.6rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-family: var(--font-h);
	color: var(--c-steel);
	display: block;
	width: 100%;
	margin-bottom: 2.5rem;
	font-weight: 600;
}
@media screen and (max-width: 480px) {
	body > footer ._column.-w-20 h4 {
		margin-bottom: 1.5rem;
		text-align: center;
	}
}
body > footer ._column.-w-20 address {
	display: block;
	width: 100%;
	color: var(--c-steel);
	font-family: var(--font-b);
	font-size: 1.8rem;
	font-weight: 400;
}
@media screen and (max-width: 550px) {
	body > footer ._column.-w-20 address {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 480px) {
	body > footer ._column.-w-20 address {
		text-align: center;
	}
}

section {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	position: relative;
}
section ._section {
	display: block;
	width: 100%;
	padding: 4rem 0;
}
section ._section > defer-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
section ._section > defer-image[type=background] {
	background-size: cover;
	background-color: transparent !important;
}
section.hero {
	min-height: 70rem;
}
@media screen and (max-width: 1220px) {
	section.hero ._column.-w-60 {
		width: 75%;
	}
}
@media screen and (max-width: 960px) {
	section.hero ._column.-w-60 {
		width: 100%;
	}
}
section.split_content .-content-image {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
}
section.split_content .-content-image .-content::before {
	width: calc(100% + 8rem);
}
@media screen and (max-width: 768px) {
	section.split_content .-content-image .-content::before {
		width: 100%;
	}
}
section.split_content ._column:first-of-type {
	z-index: 2;
}
section.split_content img {
	border-radius: 5px;
}
section.split_content h2._title {
	padding-bottom: 0;
	margin-top: 3rem;
	margin-bottom: 2rem;
}
section.split_content h2._title::after {
	content: none;
}
@media screen and (max-width: 960px) {
	section.split_content h2._title {
		font-size: 4rem;
	}
}
@media screen and (max-width: 400px) {
	section.split_content h2._title {
		font-size: 3.2rem;
	}
}
section.split_content h3._title {
	font-size: 2.3rem;
	text-transform: uppercase;
	font-family: var(--font-h);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 100%;
	padding: 2rem 0 0;
	position: relative;
	font-weight: 400;
	letter-spacing: 1px;
}
section.split_content h3._title img {
	display: block;
	width: auto;
	max-height: 2.5rem;
	margin-left: 1rem;
}
section.split_content .-content {
	position: relative;
}
@media screen and (max-width: 768px) {
	section.split_content .-content {
		margin-top: 3rem;
	}
}
section.split_content .-content::before {
	content: "";
	width: 100%;
	top: 0;
	left: 0;
	height: 1px;
	display: block;
	background-color: rgba(255, 255, 255, 0.5);
	position: absolute;
}
section.split_content .-light .-content::before {
	background-color: var(--c-slate-light);
}
section.split_content .-no-preline .-content::before {
	content: none;
}
section.split_content ._content {
	margin-bottom: 2rem;
	font-size: 2rem;
}
section.product_atf ._wrapper {
	padding: 6rem 0;
}
@media screen and (max-width: 900px) {
	section.product_atf ._wrapper ._column {
		width: 100%;
	}
	section.product_atf ._wrapper ._column:first-of-type {
		margin-bottom: 3rem;
	}
}
section.product_atf h3._title {
	font-size: 2rem;
	text-transform: uppercase;
	font-family: var(--font-h);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 100%;
	padding: 0 1rem 2rem;
	margin-bottom: 3rem;
	position: relative;
	font-weight: 400;
	letter-spacing: 1px;
}
section.product_atf h3._title img {
	display: block;
	width: auto;
	max-height: 2.5rem;
	margin-left: 1rem;
}
section.product_atf h3._title::after {
	content: "";
	width: 100%;
	bottom: 0;
	left: 0;
	height: 1px;
	display: block;
	background-color: var(--c-slate-light);
	position: absolute;
}
section.product_atf ._content {
	margin-bottom: 3rem;
}
section.product_atf ._content, section.product_atf ._content * {
	font-size: 1.8rem !important;
	font-family: var(--font-b) !important;
}

._herobanner {
	width: 100vw;
	min-height: 30rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	position: relative;
}
._herobanner.-slim {
	min-height: 20rem;
}
._herobanner.-curve-bottom-in::after {
	-webkit-transform: translateY(3px) rotate(180deg);
	    -ms-transform: translateY(3px) rotate(180deg);
	        transform: translateY(3px) rotate(180deg);
}
._herobanner defer-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
}
._herobanner defer-image::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.75)));
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.75) 100%);
	position: absolute;
	top: 0;
	left: 0;
}
._herobanner h1,
._herobanner h2 {
	position: relative;
	z-index: 2;
	color: #fff;
	font-size: 5rem;
	font-family: var(--font-h);
	font-weight: 800;
	text-align: center;
	line-height: 1;
	padding: 8rem 3rem 3rem;
}
._herobanner h1 strong,
._herobanner h2 strong {
	color: var(--c-cardinal-od);
}
@media screen and (max-width: 768px) {
	._herobanner h1,
	._herobanner h2 {
		font-size: 4rem;
	}
}
@media screen and (max-width: 550px) {
	._herobanner h1,
	._herobanner h2 {
		font-size: 3.2rem;
		padding: 8rem 1rem 3rem;
	}
}

._heroslider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--c-nordic);
}
._heroslider .splide__track {
	height: 100%;
}
._heroslider defer-image {
	width: 100%;
	height: 100%;
}

defer-image {
	display: block;
	min-height: 2rem;
	background-color: rgba(0, 0, 0, 0.1);
	opacity: 0;
	margin: 0 auto;
	-webkit-transition: opacity 1000ms cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 1000ms cubic-bezier(0.86, 0, 0.07, 1);
	transition: opacity 1000ms cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 1000ms cubic-bezier(0.86, 0, 0.07, 1);
	transition: transform 1000ms cubic-bezier(0.86, 0, 0.07, 1), opacity 1000ms cubic-bezier(0.86, 0, 0.07, 1);
	transition: transform 1000ms cubic-bezier(0.86, 0, 0.07, 1), opacity 1000ms cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 1000ms cubic-bezier(0.86, 0, 0.07, 1);
}
defer-image[loaded] {
	opacity: 1;
}
defer-image[type=background] {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
defer-image img {
	-webkit-transition: opacity 100ms ease-in-out;
	transition: opacity 100ms ease-in-out;
	opacity: 0;
}

._image {
	width: 100%;
	display: block;
}
._image.-fit {
	height: 100%;
}
._image.-fit img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

._imagecard {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	position: relative;
	border-radius: 5px;
	overflow: hidden;
}
._imagecard img {
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	transition: -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
}
._imagecard:hover img, ._imagecard:focus-within img {
	-webkit-transform: scale(1.05);
	    -ms-transform: scale(1.05);
	        transform: scale(1.05);
}
._imagecard:hover::before, ._imagecard:hover::after, ._imagecard:focus-within::before, ._imagecard:focus-within::after {
	opacity: 0.9;
}
._imagecard:hover::after, ._imagecard:focus-within::after {
	-webkit-transform: translate(-50%, -50%) scale(1);
	    -ms-transform: translate(-50%, -50%) scale(1);
	        transform: translate(-50%, -50%) scale(1);
}
._imagecard::before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.4);
	z-index: 2;
	opacity: 0;
	-webkit-transition: opacity 250ms ease-in-out;
	transition: opacity 250ms ease-in-out;
}
._imagecard::after {
	content: "";
	display: block;
	width: 6rem;
	height: 6rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 24 24'%3E%3Cpath style='fill:%23f2f2f2' d='M18.5 23h-15A2.503 2.503 0 0 1 1 20.5v-15C1 4.122 2.122 3 3.5 3h9a.5.5 0 0 1 0 1h-9C2.673 4 2 4.673 2 5.5v15c0 .827.673 1.5 1.5 1.5h15c.827 0 1.5-.673 1.5-1.5v-9a.5.5 0 0 1 1 0v9c0 1.378-1.122 2.5-2.5 2.5zM22.5 9a.5.5 0 0 1-.5-.5V2h-6.5a.5.5 0 0 1 0-1h7a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5z'/%3E%3Cpath style='fill:%23f2f2f2' d='M10.5 14a.5.5 0 0 1-.354-.853l12-12a.5.5 0 0 1 .707.707l-12 12A.498.498 0 0 1 10.5 14z'/%3E%3C/svg%3E");
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: center;
	background-color: var(--c-slate);
	border-radius: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) scale(0.9);
	    -ms-transform: translate(-50%, -50%) scale(0.9);
	        transform: translate(-50%, -50%) scale(0.9);
	opacity: 0;
	z-index: 3;
	-webkit-transition: opacity 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	transition: opacity 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	transition: opacity 250ms ease-in-out, transform 250ms ease-in-out;
	transition: opacity 250ms ease-in-out, transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	pointer-events: none;
}

._title {
	display: block;
	width: 100%;
	font-family: var(--font-h);
	color: var(--c-nordic);
}
._title h1 {
	font-size: 6rem;
	margin-bottom: 1rem;
}
@media screen and (max-width: 960px) {
	._title h1 {
		font-size: 5rem;
	}
}
._title.-center {
	text-align: center;
	margin: 0 auto;
}
._title.-center small {
	text-align: center;
}
._title.-dark {
	color: var(--c-slate);
}
._title.-light {
	color: var(--c-himmel-light);
}
._title small {
	display: block;
	width: 100%;
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1.1;
	letter-spacing: 1px;
	margin-bottom: 1rem;
}

h1._title {
	font-size: 5rem;
	font-weight: 500;
	margin-bottom: 1rem;
	position: relative;
	line-height: 1.2;
}
@media screen and (max-width: 550px) {
	h1._title {
		font-size: 4rem;
	}
}

h2._title {
	font-size: 5.6rem;
	font-weight: 500;
	padding-bottom: 6rem;
	margin-bottom: 1rem;
	position: relative;
}
@media screen and (max-width: 768px) {
	h2._title {
		font-size: 4rem;
	}
}
@media screen and (max-width: 375px) {
	h2._title {
		font-size: 3.2rem;
	}
}
h2._title, h2._title * {
	line-height: 1.1;
}
h2._title::after {
	content: "";
	display: block;
	width: 65px;
	aspect-ratio: 65/25;
	position: absolute;
	bottom: 2rem;
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='65' height='24.45' viewBox='0 0 65 24.45'%3E%3Cpath d='M.06 12.89c2.41-4.43 7.86-6.42 12.73-6.35 7.78.06 14.76 4.61 21.44 7.5 9.73 4.31 20.95 2.19 29.74-3.65.5-.36 1.25.2.98.81-4.08 9.06-14.7 14-24.43 13.16-3.31-.23-6.72-1.28-9.68-2.67C21.26 17.35 11.56 6.94.77 13.52c-.22.16-.54.11-.69-.13-.1-.16-.11-.35-.02-.5Z' style='fill:%23ce193c'/%3E%3Cpath d='M18.91 3.05c2.78-3.94 8.42-3.5 12.38-1.82 3.58 1.46 7.04 3.26 10.58 4.72 5.15 2.11 10.73.99 16.11-.16.41-.1.76.42.48.76-3.72 4.57-9.98 6.94-15.86 5.83-1.95-.35-3.79-1.22-5.54-2.1-2.43-1.25-4.65-2.67-6.86-4.19-2.5-1.74-5.33-3.5-8.47-3.17-.81.09-1.6.34-2.37.68-.33.15-.67-.26-.45-.55Z' style='fill:%23ce193c'/%3E%3C/svg%3E");
	background-size: cover;
}
@media screen and (max-width: 768px) {
	h2._title::after {
		width: 48px;
	}
}
h2._title.-no-decoration {
	padding-bottom: 0;
	margin-bottom: 7rem;
	max-width: 80rem;
}
h2._title.-no-decoration::after {
	content: none;
}
h2._title.-bar {
	display: block;
	font-size: 1.8rem;
	text-transform: uppercase;
	color: var(--c-steel);
	padding: 1rem 2rem 0.75rem;
	background-color: var(--c-nordic);
	font-family: var(--font-h);
	font-weight: 600;
	margin-bottom: 3rem;
	width: auto;
}
h2._title.-bar::after {
	content: none;
}
h2._title.-slim-spacing {
	margin-bottom: 2rem;
}
h2._title.-small {
	font-size: 3.2rem;
}
h2._title.-xsmall {
	font-size: 2.4rem;
}

h3._title {
	font-size: 3rem;
	font-weight: 600;
	font-family: var(--font-h);
	color: var(--c-nordic);
	margin-bottom: 2rem;
}

._content {
	width: 100%;
	font-size: 2.2rem;
	color: #000;
}
@media screen and (max-width: 450px) {
	._content {
		font-size: 1.9rem;
	}
}
._content h4 {
	font-size: 90%;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 0.5px;
}
._content.-light {
	color: var(--c-steel);
}
._content.-light h4 {
	color: #fff;
}
._content.-dark {
	color: var(--c-nordic);
}
._content.-dark h4 {
	color: var(--c-slate);
}
._content.-slim {
	width: 80%;
	margin: 0 auto;
	max-width: 80rem;
}
._content.-slim-no-max {
	width: 80%;
	margin: 0 auto;
}
._content.-center {
	text-align: center;
}
._content.-small {
	font-size: 1.7rem;
}
._content > *:not(:last-child),
._content .metafield-rich_text_field > *:not(:last-child) {
	margin-bottom: 1rem;
}
._content p {
	line-height: 1.5;
}
._content ul {
	padding-left: 4rem;
	margin-bottom: 3rem;
	list-style-type: disc;
}
._content ul li {
	margin-bottom: 0.5rem;
	position: relative;
}
._content ul li::marker {
	color: var(--c-cardinal);
}
._content h2 {
	font-size: 3.6rem;
	display: block;
	font-family: var(--font-h);
	font-weight: 600;
	margin-bottom: 2rem !important;
	color: var(--c-nordic);
}
._content h3 {
	font-size: 2rem;
	display: block;
	font-family: var(--font-h);
	font-weight: 600;
	color: var(--c-nordic);
}
._content a:not(._button) {
	color: #000;
	text-decoration: underline;
	-webkit-transition: color 100ms ease-in-out;
	transition: color 100ms ease-in-out;
}
._content a:not(._button):focus, ._content a:not(._button):hover {
	color: var(--c-cardinal);
}
._content.-columns {
	-webkit-column-gap: 8rem;
	   -moz-column-gap: 8rem;
	        column-gap: 8rem;
}
._content.-columns.-col-2 {
	-webkit-columns: 2;
	   -moz-columns: 2;
	        columns: 2;
}
@media screen and (max-width: 700px) {
	._content.-columns.-col-2 {
		-webkit-columns: 1;
		   -moz-columns: 1;
		        columns: 1;
	}
}
._content.-columns.-col-3 {
	-webkit-columns: 3;
	   -moz-columns: 3;
	        columns: 3;
}
@media screen and (max-width: 960px) {
	._content.-columns.-col-3 {
		-webkit-columns: 2;
		   -moz-columns: 2;
		        columns: 2;
	}
}
@media screen and (max-width: 700px) {
	._content.-columns.-col-3 {
		-webkit-columns: 1;
		   -moz-columns: 1;
		        columns: 1;
	}
}
._content.-decorated {
	padding: 8rem 10%;
	margin: 2rem 0;
	position: relative;
}
@media screen and (max-width: 640px) {
	._content.-decorated {
		padding: 8rem 2rem;
	}
}
._content.-decorated h2 {
	font-size: 5.6rem;
	font-weight: 500;
	line-height: 1.1;
}
@media screen and (max-width: 768px) {
	._content.-decorated h2 {
		font-size: 4rem;
	}
}
._content.-decorated, ._content.-decorated * {
	line-height: 1.6;
}
._content.-decorated::before, ._content.-decorated::after {
	content: "";
	width: 70vw;
	height: 1px;
	display: block;
	position: absolute;
	background-color: var(--c-slate-light);
}
._content.-decorated::before {
	top: 0;
	left: 0;
	-webkit-transform: translateX(calc((50vw - 700px) * -1));
	    -ms-transform: translateX(calc((50vw - 700px) * -1));
	        transform: translateX(calc((50vw - 700px) * -1));
}
@media screen and (max-width: 1450px) {
	._content.-decorated::before {
		-webkit-transform: translateX(-2rem);
		    -ms-transform: translateX(-2rem);
		        transform: translateX(-2rem);
	}
}
._content.-decorated::after {
	bottom: 0;
	right: 0;
	-webkit-transform: translateX(calc(50vw - 700px));
	    -ms-transform: translateX(calc(50vw - 700px));
	        transform: translateX(calc(50vw - 700px));
}
@media screen and (max-width: 1450px) {
	._content.-decorated::after {
		-webkit-transform: translateX(2rem);
		    -ms-transform: translateX(2rem);
		        transform: translateX(2rem);
	}
}
._content.-decorated ._grid {
	margin-top: 4rem;
}

.hero ._content {
	font-size: 2.6rem;
	margin-bottom: 2rem;
}
@media screen and (max-width: 960px) {
	.hero ._content {
		font-size: 2rem;
	}
}

.-invert ._content {
	color: var(--c-steel);
}
.-invert ._content h2, .-invert ._content h3 {
	color: var(--c-steel);
}
.-invert ._content a {
	color: var(--c-steel);
}
.-invert ._content a:focus, .-invert ._content a:hover {
	color: var(--c-steel);
}

._buttons {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
._buttons.-center {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

/* ==========================================================
   GLOBAL BUTTONS: MODERN & SLEEK
   ========================================================== */
._button, 
button[type="submit"] {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 1.4rem 3.8rem; /* Elongated, sleek horizontal padding */
    font-size: 1.2rem; /* Slightly smaller font looks more elegant */
    font-weight: 500;
    font-family: var(--font-b);
    text-transform: uppercase;
    letter-spacing: 0.15em; /* Wide tracking is the hallmark of modern design */
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: 2px; /* Just barely rounded. Change to 0px for ultra-sharp edges */
    background-color: var(--c-nordic); /* Defaults to your deep dark color */
    color: #ffffff;
    
    /* This cubic-bezier creates a premium, snappy-but-smooth animation */
    transition: all 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94); 
}

._button[disabled], 
button[type="submit"][disabled] {
    opacity: 0.4;
    pointer-events: none;
}

/* -- Standard Hover State (Lift & Soft Shadow) -- */
._button:hover, 
._button:focus,
button[type="submit"]:hover,
button[type="submit"]:focus {
    background-color: var(--c-cardinal); /* Snaps to your accent red */
    color: #ffffff;
    transform: translateY(-4px); /* Noticeable but elegant lift */
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12); /* Soft, diffused shadow */
}

/* -- Outline Variant (The "Ghost" Button) -- */
._button.-outline {
    background-color: transparent;
    border: 1px solid var(--c-nordic);
    color: var(--c-nordic);
    box-shadow: none;
}

._button.-outline:hover, 
._button.-outline:focus {
    background-color: var(--c-nordic);
    color: #ffffff;
    border-color: var(--c-nordic);
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

/* -- Specific Red Button Variant -- */
._button.-red, 
._button.-cardinal {
    background-color: var(--c-cardinal);
    color: #ffffff;
}

._button.-red:hover, 
._button.-cardinal:hover {
    background-color: var(--c-black); /* Red buttons turn sleek black on hover */
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(206, 25, 60, 0.2); /* Subtle red tinted shadow */
}

/* -- Blue Button Variant -- */
._button.-blue, 
._button.-himmel {
    background-color: var(--c-himmel);
    color: #ffffff;
}

._button.-blue:hover, 
._button.-himmel:hover {
    background-color: var(--c-nordic);
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(25, 197, 233, 0.2);
}

/* -- Slim Variant (For forms/footers) -- */
._button.-slim {
    padding: 1rem 2.5rem;
    font-size: 1.1rem;
    letter-spacing: 0.1em;
}

c-video {
	display: block;
	width: 100%;
	margin: 0 auto;
	position: relative;
	border-radius: 5px;
	overflow: hidden;
	aspect-ratio: 16/9;
}
c-video .cover {
	background-size: cover;
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	cursor: pointer;
}
c-video .cover:hover:before {
	-webkit-transform: translate(-50%, -50%) scale(1.1);
	    -ms-transform: translate(-50%, -50%) scale(1.1);
	        transform: translate(-50%, -50%) scale(1.1);
}
c-video .cover::before {
	content: "";
	display: block;
	width: 6rem;
	aspect-ratio: 1;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88' viewBox='0 0 88 88'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff%7D%3C/style%3E%3C/defs%3E%3Cpath d='M44 88C19.74 88 0 68.26 0 44S19.74 0 44 0s44 19.74 44 44-19.74 44-44 44Zm0-86C20.84 2 2 20.84 2 44s18.84 42 42 42 42-18.84 42-42S67.16 2 44 2Z' class='cls-1'/%3E%3Cpath d='m36.59 56.99 22.02-10.03c2.53-1.15 2.53-4.75 0-5.91L36.59 31.02c-2.15-.98-4.59.59-4.59 2.95v20.06c0 2.36 2.44 3.93 4.59 2.95Z' class='cls-1'/%3E%3C/svg%3E");
	background-size: cover;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	transition: -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	-webkit-filter: drop-shadow(0 0 1.5rem rgba(0, 0, 0, 0.4));
	        filter: drop-shadow(0 0 1.5rem rgba(0, 0, 0, 0.4));
}

._video {
	position: relative;
	width: 100%;
	aspect-ratio: 16/9;
	overflow: hidden;
	max-width: 100%;
}
._video.-vertical {
	width: auto;
	aspect-ratio: 9/16;
	max-height: 100%;
	height: 90vh;
	margin: 0 auto;
}
._video iframe, ._video object, ._video embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

._iconcard {
	display: block;
	width: 15%;
	padding: 0 2rem;
	margin-bottom: 2rem;
}
@media screen and (max-width: 1040px) {
	._iconcard {
		width: 30%;
	}
}
@media screen and (max-width: 550px) {
	._iconcard {
		width: 60%;
	}
}
@media screen and (max-width: 425px) {
	._iconcard {
		width: 70%;
	}
}
._iconcard.-center img {
	margin-left: auto;
	margin-right: auto;
}
._iconcard.-center h3, ._iconcard.-center p {
	text-align: center;
}
._iconcard img {
	max-width: 70%;
	margin-bottom: 3rem;
}
._iconcard h3 {
	font-size: 2rem;
	font-family: var(--font-h);
	text-transform: uppercase;
	color: var(--c-nordic);
	font-weight: 600;
	margin-bottom: 1rem;
	display: block;
	width: 100%;
}
._iconcard p {
	font-size: 1.7rem;
	color: var(--c-nordic);
	display: block;
	width: 100%;
}

._card {
	display: block;
	width: 40%;
	margin: 0 5% 2rem;
}
@media screen and (max-width: 768px) {
	._card {
		width: 90%;
		margin-bottom: 4rem;
	}
}
._card img {
	border-radius: 5px;
	margin-bottom: 2rem;
}
._card h3 {
	font-size: 4.5rem;
	font-weight: 500;
	font-family: var(--font-h);
	line-height: 1;
	margin-bottom: 1rem;
	padding: 0 2rem;
}
._card h3, ._card h3 * {
	color: var(--c-nordic);
	line-height: 1;
}
._card p {
	font-size: 1.8rem;
	color: var(--c-nordic);
	padding: 0 2rem;
	margin-bottom: 2rem;
}
._card ._buttons {
	padding: 0 1rem;
}

._logoband {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	border-top: 1px solid var(--c-steel-dark);
	border-bottom: 1px solid var(--c-steel-dark);
}

._logoband h2 {
	display: block;
	font-size: 1.8rem;
	text-transform: uppercase;
	color: var(--c-steel);
	padding: 1rem 2rem 0.5rem;
	background-color: var(--c-nordic);
	font-family: var(--font-h);
	font-weight: 600;
	margin-bottom: 3rem;
}
._logoband ._logos {
	display: grid;
	gap: 3rem;
	width: 100%;
	margin: 0 auto;
	grid-template-columns: repeat(6, 1fr);
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
@media screen and (max-width: 768px) {
	._logoband ._logos {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media screen and (max-width: 550px) {
	._logoband ._logos {
		grid-template-columns: repeat(2, 1fr);
	}
}

._testimonials_wrapper {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	background-color: var(--c-nordic);
}
@media screen and (max-width: 1100px) {
	._testimonials_wrapper ._column {
		width: 100%;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
}
._testimonials_wrapper ._image {
	height: 100%;
	min-height: 80rem;
}
._testimonials_wrapper ._image .splide__track {
	height: 100%;
}
._testimonials_wrapper ._image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center;
	   object-position: center;
}
._testimonials_wrapper ._testimonials {
	padding: 8rem 6rem 8rem 20rem;
	border: 1px solid rgba(255, 255, 255, 0.5);
	-webkit-transform: translateX(-13rem);
	    -ms-transform: translateX(-13rem);
	        transform: translateX(-13rem);
	margin: 8rem 0;
	width: 100%;
	-webkit-transition: width 250ms ease-in-out;
	transition: width 250ms ease-in-out;
}
@media screen and (max-width: 1200px) {
	._testimonials_wrapper ._testimonials {
		width: 110%;
	}
}
@media screen and (max-width: 1120px) {
	._testimonials_wrapper ._testimonials {
		width: 120%;
	}
}
@media screen and (max-width: 1100px) {
	._testimonials_wrapper ._testimonials {
		width: 80%;
		-webkit-transform: translate(0, -4rem);
		    -ms-transform: translate(0, -4rem);
		        transform: translate(0, -4rem);
		padding: 12rem 8rem 8rem 8rem;
		margin: 0 0 6rem;
	}
}
@media screen and (max-width: 768px) {
	._testimonials_wrapper ._testimonials {
		padding: 8rem 4rem 4rem 4rem;
	}
}
._testimonials_wrapper ._testimonials .splide__track--nav > .splide__list > .splide__slide.is-active {
	border: 2px solid transparent;
}
._testimonials_wrapper ._testimonials .splide__slide {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
._testimonials_wrapper ._testimonials .splide__arrows {
	position: absolute;
	display: block;
	height: 5rem;
	left: 50%;
	bottom: 0;
	-webkit-transform: translateX(-50%) translateY(calc(100% + 1rem));
	    -ms-transform: translateX(-50%) translateY(calc(100% + 1rem));
	        transform: translateX(-50%) translateY(calc(100% + 1rem));
	width: 100%;
}
@media screen and (max-width: 768px) {
	._testimonials_wrapper ._testimonials .splide__arrows {
		-webkit-transform: translate(-50%, 60%);
		    -ms-transform: translate(-50%, 60%);
		        transform: translate(-50%, 60%);
		width: 90%;
	}
}
._testimonials_wrapper ._testimonials .splide__arrows .splide__arrow {
	display: block;
	background: transparent;
	width: 5rem;
	height: 5rem;
}
._testimonials_wrapper ._testimonials .splide__arrows .splide__arrow svg {
	width: 100%;
	height: 100%;
	fill: var(--c-steel);
}
._testimonials_wrapper ._testimonials .splide__arrows .splide__arrow--prev {
	left: 0;
	-webkit-transform: translate(-100%, -50%);
	    -ms-transform: translate(-100%, -50%);
	        transform: translate(-100%, -50%);
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	transition: -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
}
._testimonials_wrapper ._testimonials .splide__arrows .splide__arrow--prev:hover, ._testimonials_wrapper ._testimonials .splide__arrows .splide__arrow--prev:focus {
	-webkit-transform: translate(-110%, -50%);
	    -ms-transform: translate(-110%, -50%);
	        transform: translate(-110%, -50%);
}
._testimonials_wrapper ._testimonials .splide__arrows .splide__arrow--next {
	right: 0;
	-webkit-transform: translate(100%, -50%);
	    -ms-transform: translate(100%, -50%);
	        transform: translate(100%, -50%);
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	transition: -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
}
._testimonials_wrapper ._testimonials .splide__arrows .splide__arrow--next:hover, ._testimonials_wrapper ._testimonials .splide__arrows .splide__arrow--next:focus {
	-webkit-transform: translate(110%, -50%);
	    -ms-transform: translate(110%, -50%);
	        transform: translate(110%, -50%);
}
._testimonials_wrapper ._testimonials h2 {
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--c-slate-light);
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 4rem;
	font-family: var(--font-h);
	letter-spacing: 1px;
}
@media screen and (max-width: 768px) {
	._testimonials_wrapper ._testimonials h2 {
		margin-bottom: 2rem;
	}
}
@media screen and (max-width: 480px) {
	._testimonials_wrapper ._testimonials h2 {
		font-size: 1.4rem;
		margin-bottom: 1rem;
	}
}
._testimonials_wrapper ._testimonials ._stars {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin: 0 auto 2rem;
}
._testimonials_wrapper ._testimonials blockquote {
	text-align: center;
	color: var(--c-steel);
	font-size: 2.2rem;
	padding: 0 15%;
}
@media screen and (max-width: 650px) {
	._testimonials_wrapper ._testimonials blockquote {
		padding: 0;
	}
}
@media screen and (max-width: 480px) {
	._testimonials_wrapper ._testimonials blockquote {
		font-size: 1.8rem;
	}
}
._testimonials_wrapper ._testimonials ._attribution {
	display: block;
	text-align: center;
	margin-top: 2rem;
	color: var(--c-cardinal-od);
	font-family: var(--font-h);
	font-size: 2.2rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
}
@media screen and (max-width: 480px) {
	._testimonials_wrapper ._testimonials ._attribution {
		font-size: 1.8rem;
	}
}
._testimonials_wrapper ._testimonials ._attribution strong {
	color: var(--c-steel);
}
._testimonials_wrapper ._testimonials ._title {
	color: var(--c-steel);
	font-family: var(--font-b);
	text-align: center;
	font-size: 1.9rem;
	margin-top: 1rem;
}
@media screen and (max-width: 480px) {
	._testimonials_wrapper ._testimonials ._title {
		font-size: 1.7rem;
	}
}

._testimonial {
	width: 100%;
}

smart-form {
	display: block;
	width: 100%;
}
smart-form .message {
	display: block;
	width: 100%;
	padding: 1.5rem 2.5rem;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
	border-radius: 10rem;
}
smart-form .message.-error {
	background-color: var(--c-cardinal);
}
smart-form .message.-success {
	background-color: var(--c-himmel);
}

._message {
	display: block;
	padding: 1.5rem 2rem;
	color: #fff;
	background-color: var(--c-himmel);
	text-align: center;
	margin: 0 auto 3rem;
}

._form.-inline {
	display: block;
	position: relative;
}
._form.-inline footer {
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
}
._form.-inline input {
	display: block;
	width: calc(100% - 12rem);
	font-size: 1.6rem;
	font-family: var(--font-b);
	-webkit-appearance: none;
	        appearance: none;
	-moz-appearance: none;
	border: 0;
	background-color: transparent;
}
._form.-full {
	display: block;
	width: 100%;
	margin: 3rem auto;
}
._form.-full fieldset {
	display: block;
	margin-bottom: 2rem;
}
._form.-full fieldset p {
	display: block;
	margin-bottom: 1.5rem;
	font-size: 1.5rem;
	font-style: italic;
}
._form.-full label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	font-size: 1.5rem;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-weight: 700;
	margin-bottom: 5px;
	cursor: pointer;
	color: var(--c-nordic);
	font-family: var(--font-h);
}
._form.-full label small {
	margin-left: 5px;
}
._form.-full input,
._form.-full textarea {
	width: 100%;
	border: 1px solid var(--c-steel-dark);
	font-size: 1.6rem;
	padding: 0.8rem 1.5rem;
	border-radius: 3px;
	font-family: var(font-b);
}
._form.-full input.-disabled,
._form.-full textarea.-disabled {
	pointer-events: none;
	opacity: 0.8;
	background-color: var(--c-steel);
}
._form.-full input:focus,
._form.-full textarea:focus {
	outline: 1px solid rgba(0, 0, 0, 0.02);
	-webkit-box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.05);
	        box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.05);
}
._form.-full textarea {
	min-height: 10rem;
	resize: vertical;
}
._form.-full input[type=checkbox] {
	position: absolute;
	opacity: 0;
	height: 0;
	width: 0;
}
._form.-full input[type=checkbox]:checked ~ label::before {
	background-color: var(--c-slate);
}
._form.-full input[type=checkbox]:checked ~ label::after {
	opacity: 1;
}
._form.-full input[type=checkbox] ~ label {
	padding-left: 3rem;
	text-transform: none;
	font-size: 1.6rem;
	position: relative;
	letter-spacing: 0;
}
._form.-full input[type=checkbox] ~ label::before {
	content: "";
	display: block;
	position: absolute;
	top: 1px;
	left: 0;
	height: 2rem;
	width: 2rem;
	border-style: solid;
	background-color: var(--c-steel);
	-webkit-transition: background-color 250ms ease;
	transition: background-color 250ms ease;
	border-radius: 4px;
}
._form.-full input[type=checkbox] ~ label::after {
	content: "";
	display: block;
	position: absolute;
	left: 8px;
	top: 5px;
	width: 5px;
	height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	-webkit-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	opacity: 0;
	-webkit-transition: opacity 250ms ease;
	transition: opacity 250ms ease;
}
._form.-full ._select {
	display: block;
	width: 100%;
	position: relative;
}
._form.-full ._select::after {
	content: "";
	display: block;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid var(--c-steel-dark);
	position: absolute;
	top: 50%;
	right: 1.5rem;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	pointer-events: none;
}
._form.-full ._select select {
	width: 100%;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	cursor: pointer;
	font-size: 1.6rem;
	border: 1px solid var(--c-steel-dark);
	font-size: 1.6rem;
	padding: 1.1rem 1.5rem;
	border-radius: 3px;
}
._form.-full ._select select:focus {
	outline: 1px solid rgba(0, 0, 0, 0.02);
	-webkit-box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.05);
	        box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.05);
}
._form.-full a:not(._button) {
	display: block;
	color: var(--c-slate);
	text-transform: uppercase;
	font-weight: 600;
	margin: 1rem 0;
	font-size: 1.5rem;
}
._form.-full footer {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
@media screen and (max-width: 425px) {
	._form.-full footer {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
}
._form.-full footer ._button:not(:first-child) {
	margin-left: 1.5rem;
}
._form.-full ._loader {
	display: block;
	margin-left: 1rem;
}
._form.-full ._loader::before {
	content: "";
	width: 2rem;
	aspect-ratio: 1;
	border-top: 3px solid rgba(0, 0, 0, 0.2);
	border-right: 3px solid transparent;
	-webkit-animation: rotation 1s linear infinite;
	        animation: rotation 1s linear infinite;
	border-radius: 50%;
	display: block;
}
._form.-full .errors,
._form.-full ._errors {
	display: block;
	margin-bottom: 2rem;
}
._form.-full .errors li,
._form.-full ._errors li {
	display: block;
	background-color: var(--c-cardinal);
	color: #fff;
	padding: 1rem 2rem;
	font-weight: 600;
	border-radius: 2rem;
	font-size: 1.5rem;
	line-height: 1.1;
}
._form.-full .errors li a,
._form.-full ._errors li a {
	color: #fff;
	text-decoration: underline;
	line-height: 1.1;
}
._form.-full .errors li:not(:last-of-type),
._form.-full ._errors li:not(:last-of-type) {
	margin-bottom: 1rem;
}

@-webkit-keyframes rotation {
	0% {
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}

@keyframes rotation {
	0% {
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
main-cart,
side-cart {
	background-color: #fff;
	-webkit-filter: none;
	        filter: none;
	padding: 2rem;
	display: block;
}
main-cart::before,
side-cart::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	background-color: rgba(0, 0, 0, 0.07);
	z-index: 2;
	-webkit-transition: opacity 250ms ease-in-out;
	transition: opacity 250ms ease-in-out;
	opacity: 0;
	pointer-events: none;
}
main-cart.-loading::after,
side-cart.-loading::after {
	content: "";
	width: 2.5rem;
	aspect-ratio: 1;
	border-top: 3px solid rgba(0, 0, 0, 0.2);
	border-right: 3px solid transparent;
	-webkit-animation: rotation 1s linear infinite;
	        animation: rotation 1s linear infinite;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	z-index: 3;
}
main-cart.-loading::before,
side-cart.-loading::before {
	opacity: 1;
	pointer-events: all;
}
main-cart ._header,
side-cart ._header {
	font-weight: 700;
}
main-cart ._contents,
side-cart ._contents {
	height: calc(100% - 22rem);
	position: relative;
}
main-cart ._item,
side-cart ._item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	padding: 3rem 0;
}
main-cart ._item:not(:last-of-type),
side-cart ._item:not(:last-of-type) {
	border-bottom: 1px solid var(--c-steel);
}
main-cart ._item > a,
side-cart ._item > a {
	width: calc(40% - 1rem);
}
main-cart ._item ._details,
side-cart ._item ._details {
	width: calc(60% - 1rem);
}
main-cart ._item ._details h4,
side-cart ._item ._details h4 {
	font-size: 1.3rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--c-yellow);
}
main-cart ._item ._details h3,
side-cart ._item ._details h3 {
	font-weight: 700;
	color: var(--c-slate);
	font-size: 1.8rem;
	line-height: 1.2;
}
main-cart ._item ._details h3 a,
side-cart ._item ._details h3 a {
	color: var(--c-cardinal);
}
main-cart ._item ._details dl,
side-cart ._item ._details dl {
	margin: 1rem 0 2rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
main-cart ._item ._details dd,
side-cart ._item ._details dd {
	margin-right: 5px;
}
main-cart ._item ._details dt,
side-cart ._item ._details dt {
	font-weight: 600;
}
main-cart ._item ._details dt.-single,
side-cart ._item ._details dt.-single {
	font-size: 1.4rem;
	font-style: italic;
	color: var(--c-gray-m);
}
main-cart ._item ._button,
side-cart ._item ._button {
	font-size: 1.2rem;
	letter-spacing: 1px;
	padding: 5px 1rem;
}
main-cart ._footer,
side-cart ._footer {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	height: 15rem;
	border-top: 1px solid var(--c-steel);
}
main-cart ._footer ._pricing,
side-cart ._footer ._pricing {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	padding: 1.5rem 0;
	color: var(--c-slate);
}
main-cart ._footer ._pricing dl,
side-cart ._footer ._pricing dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
main-cart ._footer ._pricing dl dd,
side-cart ._footer ._pricing dl dd {
	font-weight: 600;
	margin-left: 5px;
}
main-cart ._footer button,
main-cart ._footer a,
side-cart ._footer button,
side-cart ._footer a {
	width: calc(50% - 1rem);
}
main-cart ._footer button:first-of-type:not(:last-of-type),
main-cart ._footer a:first-of-type:not(:last-of-type),
side-cart ._footer button:first-of-type:not(:last-of-type),
side-cart ._footer a:first-of-type:not(:last-of-type) {
	background: transparent;
	border: 1.5px solid var(--c-cardinal);
	color: var(--c-cardinal);
}
main-cart ._footer button:last-of-type,
main-cart ._footer a:last-of-type,
side-cart ._footer button:last-of-type,
side-cart ._footer a:last-of-type {
	background: var(--c-cardinal);
	background: -webkit-gradient(linear, left bottom, left top, from(var(--c-cardinal-light)), to(var(--c-cardinal)));
	background: linear-gradient(0deg, var(--c-cardinal-light) 0%, var(--c-cardinal) 100%);
}
main-cart ._empty,
side-cart ._empty {
	color: var(--c-slate);
	font-style: italic;
	display: block;
	margin-bottom: 2rem;
}

side-cart {
	position: fixed;
	z-index: 99999;
	width: 40rem;
	height: 100%;
	top: 0;
	right: 0;
	-webkit-transform: translateX(105%);
	    -ms-transform: translateX(105%);
	        transform: translateX(105%);
	pointer-events: none;
	-webkit-transition: -webkit-transform 500ms ease-in-out, -webkit-filter 500ms ease-in-out;
	transition: -webkit-transform 500ms ease-in-out, -webkit-filter 500ms ease-in-out;
	transition: transform 500ms ease-in-out, filter 500ms ease-in-out;
	transition: transform 500ms ease-in-out, filter 500ms ease-in-out, -webkit-transform 500ms ease-in-out, -webkit-filter 500ms ease-in-out;
}
side-cart.-open {
	-webkit-filter: drop-shadow(-1rem 0 2rem rgba(0, 0, 0, 0.2));
	        filter: drop-shadow(-1rem 0 2rem rgba(0, 0, 0, 0.2));
	pointer-events: all;
	-webkit-transform: translateX(0);
	    -ms-transform: translateX(0);
	        transform: translateX(0);
}
side-cart ._header {
	font-size: 2.8rem;
	color: var(--c-slate);
	font-family: var(--font-b);
	margin-top: 1rem;
	height: 6rem;
}
side-cart > button[rel=close] {
	position: absolute;
	top: 2rem;
	right: 2rem;
	z-index: 2;
	border: 0;
	padding: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	font-size: 2.4rem;
	font-family: var(--font-b);
	font-weight: 600;
	color: #fff;
	width: 4rem;
	height: 4rem;
	background: var(--c-cardinal);
	background: -webkit-gradient(linear, left bottom, left top, from(var(--c-cardinal-light)), to(var(--c-cardinal)));
	background: linear-gradient(0deg, var(--c-cardinal-light) 0%, var(--c-cardinal) 100%);
	border-radius: 100%;
	-webkit-transition: background-color 250ms ease-in-out, color 250ms ease-in-out, -webkit-transform 250ms ease-in-out, -webkit-box-shadow 250ms ease-in-out;
	transition: background-color 250ms ease-in-out, color 250ms ease-in-out, -webkit-transform 250ms ease-in-out, -webkit-box-shadow 250ms ease-in-out;
	transition: transform 250ms ease-in-out, box-shadow 250ms ease-in-out, background-color 250ms ease-in-out, color 250ms ease-in-out;
	transition: transform 250ms ease-in-out, box-shadow 250ms ease-in-out, background-color 250ms ease-in-out, color 250ms ease-in-out, -webkit-transform 250ms ease-in-out, -webkit-box-shadow 250ms ease-in-out;
}
side-cart > button[rel=close]:hover, side-cart > button[rel=close]:focus {
	-webkit-box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.2);
	        box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.2);
	-webkit-transform: translateY(-1px);
	    -ms-transform: translateY(-1px);
	        transform: translateY(-1px);
}

main-cart {
	position: relative;
	width: 100%;
	max-width: 80rem;
	padding: 3rem 5rem;
}
@media screen and (max-width: 560px) {
	main-cart {
		padding: 2rem 4rem;
	}
}
main-cart ._header {
	font-size: 4rem;
	text-align: center;
	font-family: var(--font-h);
	color: var(--c-cardinal);
	line-height: 1.1;
	margin-bottom: 2rem;
}
main-cart ._item {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
main-cart ._item ._details h3 {
	font-size: 2.2rem;
}
main-cart ._item ._details dl {
	font-size: 1.7rem;
}
@media screen and (max-width: 500px) {
	main-cart ._item ._details {
		width: 100%;
	}
}
@media screen and (max-width: 500px) {
	main-cart ._item a {
		width: 100%;
		margin-bottom: 1rem;
	}
}
main-cart ._item ._mods {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin-bottom: 1.5rem;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
main-cart ._item ._mods ._select {
	width: 100%;
	background-color: var(--c-cardinal);
	border-radius: 10rem;
	cursor: pointer;
	position: relative;
}
main-cart ._item ._mods ._select option {
	color: var(--c-slate);
}
main-cart ._item ._mods ._select::after {
	content: "";
	height: 6px;
	aspect-ratio: 1;
	border-style: solid;
	border-color: #fff;
	border-width: 0px 2px 2px 0px;
	position: absolute;
	pointer-events: none;
	display: block;
	top: 50%;
	right: 1.5rem;
	z-index: 2;
	-webkit-transform: translateY(-60%) rotate(45deg);
	    -ms-transform: translateY(-60%) rotate(45deg);
	        transform: translateY(-60%) rotate(45deg);
}
main-cart ._item ._mods ._select select {
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	border: none;
	padding: 5px 3rem 5px 2rem;
	font-size: 1.6rem;
	font-family: var(--font-b);
	background: transparent;
	cursor: pointer;
	color: #fff;
	width: 100%;
}
main-cart ._item ._mods ._select option:disabled {
	color: var(--c-gray-ml);
}
main-cart ._item ._mods ._qty input {
	font-size: 1.7rem;
}
main-cart ._item ._mods dl {
	display: block;
	margin: 0;
}
main-cart ._item ._mods dd {
	display: block;
	font-size: 1.3rem;
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: 1px;
	color: var(--c-steel-dark);
	margin-bottom: 1rem;
}
main-cart ._item ._actions {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
main-cart ._item ._actions button:not(:first-of-type) {
	margin-left: 1rem;
}
main-cart ._footer {
	height: auto;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
main-cart ._footer ._pricing {
	margin-bottom: 1rem;
}
main-cart ._footer dl {
	font-size: 1.8rem;
}
@media screen and (max-width: 460px) {
	main-cart ._footer ._button {
		width: 100%;
	}
}

._carousel .spotlight img {
	border-radius: 1rem;
}
._carousel .spotlight .splide__arrow {
	background: rgba(0, 0, 0, 0.2);
	width: 4rem;
	aspect-ratio: 1/1;
	height: auto;
}
._carousel .spotlight .splide__arrow svg {
	fill: #fff;
	width: 80%;
	height: 80%;
}
._carousel .thumbnails {
	margin-top: 2rem;
}
._carousel .thumbnails li {
	aspect-ratio: 1/1;
}
._carousel .thumbnails .splide__track--nav > .splide__list > .splide__slide {
	border: 3px solid transparent;
	opacity: 0.6;
	-webkit-transition: opacity 250ms ease-in-out, border 250ms ease-in-out;
	transition: opacity 250ms ease-in-out, border 250ms ease-in-out;
}
._carousel .thumbnails .splide__track--nav > .splide__list > .splide__slide.is-active {
	border: 3px solid var(--c-cardinal);
	border-radius: 5px;
	background-color: #fff;
	opacity: 1;
}

._variations {
	display: block;
	width: 100%;
	margin-bottom: 3rem;
}
._variations h3 {
	color: var(--c-nordic);
	font-size: 14px;
	font-family: var(--font-h);
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	width: 100%;
	display: block;
	margin-bottom: 1rem;
	line-height: 1.2;
}
._variations ._prodoptions {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
	width: 100%;
}
._variations ._prodoptions input {
	display: none;
}
._variations ._prodoptions input:checked + label {
	opacity: 1;
	color: var(--c-cardinal);
}
._variations ._prodoptions img {
	margin-bottom: 1rem;
	width: 100%;
}
._variations ._prodoptions button, ._variations ._prodoptions label {
	display: block;
	padding: 1.5rem;
	border-radius: 1rem;
	background-color: #fff;
	-webkit-filter: drop-shadow(0 0.5rem 0.5rem rgba(0, 0, 0, 0.05));
	        filter: drop-shadow(0 0.5rem 0.5rem rgba(0, 0, 0, 0.05));
	text-align: center;
	font-size: 1.5rem;
	font-weight: 800;
	font-family: var(--font-h);
	-webkit-transition: opacity 250ms ease-in-out, color 250ms ease-in-out;
	transition: opacity 250ms ease-in-out, color 250ms ease-in-out;
	opacity: 0.5;
	cursor: pointer;
}
._variations ._prodoptions button.-active, ._variations ._prodoptions label.-active {
	color: var(--c-cardinal);
}
._variations ._prodoptions button.-active, ._variations ._prodoptions button:hover, ._variations ._prodoptions button:focus, ._variations ._prodoptions label.-active, ._variations ._prodoptions label:hover, ._variations ._prodoptions label:focus {
	opacity: 1;
}
._variations ._prodoptions label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

#specs ._variations {
	margin-bottom: 1rem;
	margin-top: 2rem;
}

._addfeatures {
	display: block;
	width: 100%;
	margin-bottom: 3rem;
}
._addfeatures h3 {
	color: var(--c-nordic);
	font-size: 14px;
	font-family: var(--font-h);
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	width: 100%;
	display: block;
	margin-bottom: 1rem;
	line-height: 1.2;
}
._addfeatures ._features {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	width: 100%;
}
@media screen and (max-width: 650px) {
	._addfeatures ._features {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 425px) {
	._addfeatures ._features {
		grid-template-columns: repeat(1, 1fr);
	}
}
._addfeatures ._features > button {
	width: 100%;
	border: 1px solid var(--c-slate-light);
	padding: 1.5rem;
	padding-right: 3rem;
	font-size: 1.6rem;
	color: var(--c-nordic);
	text-align: left;
	line-height: 1.2;
	position: relative;
	-webkit-transition: padding 250ms ease-in-out, color 250ms ease-in-out, background-color 250ms ease-in-out;
	transition: padding 250ms ease-in-out, color 250ms ease-in-out, background-color 250ms ease-in-out;
}
._addfeatures ._features > button._arrow ._icon {
	width: 8px;
	position: absolute;
	top: 50%;
	right: 2rem;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	margin: 0;
}
._addfeatures ._features > button._arrow ._head,
._addfeatures ._features > button._arrow ._body {
	stroke: var(--c-cardinal);
}
._addfeatures ._features > button::before {
	content: "";
	width: 0;
	display: block;
	height: calc(100% + 2px);
	position: absolute;
	top: -1px;
	left: -1px;
	background-color: var(--c-cardinal);
	-webkit-transition: width 250ms ease-in-out;
	transition: width 250ms ease-in-out;
}
._addfeatures ._features > button:hover, ._addfeatures ._features > button:focus {
	padding-left: 3rem;
	color: var(--c-cardinal);
	background-color: rgba(0, 0, 0, 0.05);
}
._addfeatures ._features > button:hover::before, ._addfeatures ._features > button:focus::before {
	width: 1.5rem;
}
._addfeatures ._features > button:focus-visible {
	outline: none;
	-webkit-box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.05);
	        box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.05);
}

._productrow {
	display: grid;
	gap: 3rem;
	row-gap: 5rem;
	width: 100%;
	grid-template-columns: repeat(3, 1fr);
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 768px) {
	._productrow {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 550px) {
	._productrow {
		grid-template-columns: repeat(1, 1fr);
	}
}
._productrow.-col-3 {
	grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
	._productrow.-col-3 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 550px) {
	._productrow.-col-3 {
		grid-template-columns: repeat(1, 1fr);
	}
}
._productrow.-col-4 {
	grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 768px) {
	._productrow.-col-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 550px) {
	._productrow.-col-4 {
		grid-template-columns: repeat(1, 1fr);
	}
}

._productcard.-full {
	width: 100%;
	margin: 0;
}
._productcard.-full img {
	background-color: #fff;
	padding: 2rem;
}
._productcard.-full h3 {
	font-size: 3.2rem;
}
@media screen and (max-width: 900px) {
	._productcard.-full h3 {
		font-size: 2.4rem;
	}
}
._productcard.-full p {
	font-size: 1.7rem;
}
._productcard.-full ._price {
	padding: 0 2rem 1rem;
	margin-top: -1rem;
}
._productcard.-full ._price ins {
	display: block;
	font-size: 2.8rem;
	font-style: italic;
	font-weight: 300;
	text-decoration: none;
	font-family: var(--font-h);
}
._productcard.-mini {
	display: block;
	background-color: #fff;
	border-radius: 1rem;
	padding: 2rem 2.5rem;
	-webkit-transition: background-color 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out, -webkit-filter 0.25s ease-in-out;
	transition: background-color 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out, -webkit-filter 0.25s ease-in-out;
	transition: transform 0.25s ease-in-out, background-color 0.25s ease-in-out, filter 0.25s ease-in-out;
	transition: transform 0.25s ease-in-out, background-color 0.25s ease-in-out, filter 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out, -webkit-filter 0.25s ease-in-out;
}
._productcard.-mini:hover, ._productcard.-mini:focus {
	-webkit-transform: translateY(-0.5rem) scale(1.02);
	    -ms-transform: translateY(-0.5rem) scale(1.02);
	        transform: translateY(-0.5rem) scale(1.02);
	-webkit-filter: drop-shadow(0 3rem 2rem rgba(0, 0, 0, 0.1));
	        filter: drop-shadow(0 3rem 2rem rgba(0, 0, 0, 0.1));
}
._productcard.-mini h3 {
	display: block;
	width: 100%;
	font-family: var(--font-h);
	font-weight: 600;
	font-size: 1.7rem;
	text-align: center;
	margin: 2rem 0;
}
._productcard.-mini h3, ._productcard.-mini h3 a {
	color: var(--c-nordic);
	line-height: 1.1;
}

._hotspotimg {
	display: block;
	position: relative;
	margin: 0 auto;
	max-width: 100rem;
}

hot-spot[open] ._spot {
	-webkit-transform: translate(-50%, -50%) rotate(0deg);
	    -ms-transform: translate(-50%, -50%) rotate(0deg);
	        transform: translate(-50%, -50%) rotate(0deg);
}
hot-spot ._spot {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 6rem;
	height: 6rem;
	font-size: 5rem;
	font-weight: 800;
	font-family: var(--font-b);
	color: var(--c-cardinal);
	background-color: #fff;
	border-radius: 100%;
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	    -ms-transform: translate(-50%, -50%) rotate(-45deg);
	        transform: translate(-50%, -50%) rotate(-45deg);
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	transition: -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	outline: 6px solid rgba(255, 255, 255, 0.5);
	-webkit-filter: drop-shadow(0 1rem 2rem rgba(0, 0, 0, 0.3));
	        filter: drop-shadow(0 1rem 2rem rgba(0, 0, 0, 0.3));
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	cursor: pointer;
}
@media screen and (max-width: 768px) {
	hot-spot ._spot {
		width: 4.5rem;
		height: 4.5rem;
		font-size: 4rem;
	}
}
@media screen and (max-width: 375px) {
	hot-spot ._spot {
		width: 4rem;
		height: 4rem;
		font-size: 3rem;
	}
}

._hotpoint defer-image {
	margin-bottom: 2rem;
}
._hotpoint defer-image img {
	border-radius: 5px;
}
._hotpoint h3 {
	color: var(--c-nordic);
	font-size: 2.8rem;
	font-weight: 600;
	font-family: var(--font-h);
	margin-bottom: 1rem;
}
@media screen and (max-width: 375px) {
	._hotpoint h3 {
		font-size: 2.2rem;
	}
}
._hotpoint p {
	font-size: 1.7rem;
	color: var(--c-nordic);
}
@media screen and (max-width: 375px) {
	._hotpoint p {
		font-size: 1.5rem;
	}
}

body [data-tippy-root] {
	-webkit-filter: drop-shadow(0 2rem 3rem rgba(0, 0, 0, 0.3));
	        filter: drop-shadow(0 2rem 3rem rgba(0, 0, 0, 0.3));
}
body .tippy-box {
	background-color: #fff;
	padding: 2rem;
	border-radius: 1.5rem;
}
@media screen and (max-width: 375px) {
	body .tippy-box {
		padding: 1rem;
	}
}
body .tippy-arrow {
	color: #fff;
}
body .tippy-arrow::before {
	-webkit-transform: scale(1.5);
	    -ms-transform: scale(1.5);
	        transform: scale(1.5);
}

._keyfeat {
	display: block;
	width: 100%;
	padding: 6rem 0;
	position: relative;
}
._keyfeat::before {
	content: "";
	width: 100%;
	top: 0;
	left: 0;
	height: 1px;
	display: block;
	background-color: rgba(255, 255, 255, 0.5);
	position: absolute;
}
._keyfeat h3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	font-size: 4.4rem;
	font-family: var(--font-h);
	font-weight: 600;
	color: var(--c-steel);
	margin-bottom: 2rem;
	line-height: 1.2;
}
._keyfeat h3 span {
	line-height: 1.2;
	display: block;
	width: calc(100% - 6rem);
}
@media screen and (max-width: 768px) {
	._keyfeat h3 span {
		width: calc(100% - 5rem);
	}
}
@media screen and (max-width: 375px) {
	._keyfeat h3 span {
		width: calc(100% - 4.6rem);
	}
}
@media screen and (max-width: 768px) {
	._keyfeat h3 {
		font-size: 3.2rem;
	}
}
@media screen and (max-width: 375px) {
	._keyfeat h3 {
		font-size: 2.8rem;
	}
}
._keyfeat h3 img {
	max-width: 5rem;
	margin-right: 1rem;
	-webkit-transform: translateY(-4px);
	    -ms-transform: translateY(-4px);
	        transform: translateY(-4px);
}
@media screen and (max-width: 768px) {
	._keyfeat h3 img {
		max-width: 4rem;
	}
}
@media screen and (max-width: 375px) {
	._keyfeat h3 img {
		max-width: 3.6rem;
	}
}
._keyfeat p {
	font-size: 1.8rem;
	color: var(--c-steel);
	padding-left: 1.5rem;
}

._keyset1 ._keyfeat {
	padding-right: 5rem;
}

._keyimg1 img,
._keyimg2 img {
	border-radius: 5px;
}

._keyimg2 {
	margin-top: -8rem;
}

._keyset2 ._keyfeat {
	padding-left: 5rem;
}
@media screen and (max-width: 900px) {
	._keyset2 ._keyfeat {
		padding-left: 0;
	}
}

@media screen and (max-width: 900px) {
	._column._keyset1,
	._column._keyset2,
	._column._keyimg1,
	._column._keyimg2 {
		width: 100%;
	}
	._column._keyimg1 {
		margin-bottom: 6rem;
	}
	._keyimg2 {
		margin-top: 0;
	}
	._keyimg2, ._keyimg2 ~ c-spacer, ._keyimg2 ~ h2, ._keyimg2 ~ ._grid {
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
	}
}
._featurecard {
	background-color: rgba(0, 0, 0, 0.2);
	background-blend-mode: multiply;
	border-radius: 5px;
}
._featurecard > img {
	display: block;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	background-color: #fff;
}
._featurecard h3 {
	font-size: 3.3rem;
	color: var(--c-steel);
	font-weight: 600;
	font-family: var(--font-h);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	color: var(--c-steel);
	padding: 2.5rem 2.5rem 1rem;
	line-height: 1;
}
@media screen and (max-width: 768px) {
	._featurecard h3 {
		font-size: 2.8rem;
	}
}
@media screen and (max-width: 375px) {
	._featurecard h3 {
		font-size: 2.3rem;
	}
}
._featurecard h3 img {
	max-width: 4rem;
	margin-right: 0.5rem;
	-webkit-transform: translateY(-2px);
	    -ms-transform: translateY(-2px);
	        transform: translateY(-2px);
}
._featurecard p {
	font-size: 2rem;
	color: var(--c-steel);
	padding: 0 2.5rem 2.5rem;
}
@media screen and (max-width: 768px) {
	._featurecard p {
		font-size: 1.8rem;
	}
}

._speccolumn {
	padding: 7rem 4rem;
}
._speccolumn > h3 {
	margin: 0 0 1.5rem;
}

._specs {
	-webkit-transition: opacity 250ms ease-in-out;
	transition: opacity 250ms ease-in-out;
	width: 100%;
}
._specs.-hide {
	opacity: 0;
	pointer-events: none;
}

._spec {
	display: block;
	padding: 3rem 0;
	width: 100%;
	border-bottom: 1px solid var(--c-slate-light);
}
._spec h3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-family: var(--font-h);
	color: var(--c-nordic);
	font-weight: 600;
	margin-bottom: 1.5rem;
	font-size: 2rem;
}
._spec h3 defer-image {
	margin-right: 0.5rem;
	margin-left: 0;
}
._spec p {
	font-size: 1.8rem;
	color: var(--c-nordic);
}

._download {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #fff;
	border-radius: 1rem;
	overflow: hidden;
	-webkit-transition: -webkit-transform 0.25s ease-in-out, -webkit-filter 0.25s ease-in-out;
	transition: -webkit-transform 0.25s ease-in-out, -webkit-filter 0.25s ease-in-out;
	transition: transform 0.25s ease-in-out, filter 0.25s ease-in-out;
	transition: transform 0.25s ease-in-out, filter 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out, -webkit-filter 0.25s ease-in-out;
	margin-right: 2rem;
	margin-bottom: 2rem;
}
._download:hover, ._download:focus {
	-webkit-transform: translateY(-0.5rem) scale(1.005);
	    -ms-transform: translateY(-0.5rem) scale(1.005);
	        transform: translateY(-0.5rem) scale(1.005);
	-webkit-filter: drop-shadow(0 3rem 2rem rgba(0, 0, 0, 0.1));
	        filter: drop-shadow(0 3rem 2rem rgba(0, 0, 0, 0.1));
}
._download img {
	width: 10rem;
}
._download div {
	width: calc(100% - 10rem);
	padding: 1.5rem 2rem;
}
._download div h4 {
	color: var(--c-nordic);
	font-weight: 600;
	font-size: 1.7rem;
}
._download div span {
	font-size: 1.3rem;
	text-transform: uppercase;
	color: var(--c-cardinal);
	font-weight: 600;
	letter-spacing: 1px;
}

._videoslider {
	display: block;
	width: 100%;
}
._videoslider .splide__arrows {
	position: absolute;
	display: block;
	height: 4rem;
	left: 50%;
	bottom: 0;
	-webkit-transform: translateX(-50%) translateY(calc(100% + 0.9rem));
	    -ms-transform: translateX(-50%) translateY(calc(100% + 0.9rem));
	        transform: translateX(-50%) translateY(calc(100% + 0.9rem));
}
._videoslider .splide__arrows .splide__arrow {
	display: block;
	background: transparent;
	width: 4rem;
	height: 4rem;
}
._videoslider .splide__arrows .splide__arrow svg {
	width: 100%;
	height: 100%;
	fill: var(--c-steel);
}
._videoslider .splide__arrows .splide__arrow--prev {
	left: 0;
	-webkit-transform: translate(-120%, -50%);
	    -ms-transform: translate(-120%, -50%);
	        transform: translate(-120%, -50%);
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	transition: -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
}
._videoslider .splide__arrows .splide__arrow--prev:hover, ._videoslider .splide__arrows .splide__arrow--prev:focus {
	-webkit-transform: translate(-130%, -50%);
	    -ms-transform: translate(-130%, -50%);
	        transform: translate(-130%, -50%);
}
._videoslider .splide__arrows .splide__arrow--next {
	right: 0;
	-webkit-transform: translate(120%, -50%);
	    -ms-transform: translate(120%, -50%);
	        transform: translate(120%, -50%);
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	transition: -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
}
._videoslider .splide__arrows .splide__arrow--next:hover, ._videoslider .splide__arrows .splide__arrow--next:focus {
	-webkit-transform: translate(130%, -50%);
	    -ms-transform: translate(130%, -50%);
	        transform: translate(130%, -50%);
}
._videoslider .splide__pagination {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	bottom: 0;
	-webkit-transform: translateY(calc(100% + 2rem));
	    -ms-transform: translateY(calc(100% + 2rem));
	        transform: translateY(calc(100% + 2rem));
}
._videoslider .splide__pagination__page {
	background-color: rgba(255, 255, 255, 0.5);
	opacity: 1;
	-webkit-transition: background-color 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	transition: background-color 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	transition: background-color 250ms ease-in-out, transform 250ms ease-in-out;
	transition: background-color 250ms ease-in-out, transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
}
._videoslider .splide__pagination__page:hover, ._videoslider .splide__pagination__page:focus {
	background-color: rgb(255, 255, 255) !important;
}
._videoslider .splide__pagination__page.is-active {
	background-color: rgba(255, 255, 255, 0.85);
	-webkit-transform: scale(1.2);
	    -ms-transform: scale(1.2);
	        transform: scale(1.2);
}

._videoslide h3 {
	margin-top: 3rem;
	font-size: 3.6rem;
	font-family: var(--font-h);
	font-weight: 600;
	margin-bottom: 1.5rem;
	color: var(--c-steel);
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}
._videoslide h3 span {
	padding-right: 3rem;
	background-color: var(--c-nordic);
	position: relative;
	z-index: 2;
	display: block;
	line-height: 1;
}
._videoslide h3::after {
	content: "";
	width: 100%;
	height: 1px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	background-color: var(--c-steel-dark);
	position: absolute;
	display: block;
}
._videoslide p {
	font-size: 2rem;
	color: var(--c-steel);
}

._comptable thead th {
	padding: 3rem;
}
._comptable thead th:not(:first-child) {
	min-width: 15rem;
}
._comptable thead th:first-child {
	position: sticky;
	left: 0;
	background-color: var(--c-steel);
	border-right: 1px solid var(--c-steel-dark);
}
._comptable thead th h3 {
	font-size: 3rem;
	font-weight: 500;
	font-family: var(--font-h);
	line-height: 1;
	margin-bottom: 2rem;
	color: var(--c-nordic);
}
@media screen and (max-width: 480px) {
	._comptable thead th h3 {
		font-size: 2.6rem;
	}
}
._comptable tbody tr:not(:last-of-type) {
	border-bottom: 1px solid var(--c-steel-dark);
}
._comptable tbody td {
	padding: 3rem 1.5rem;
	color: var(--c-nordic);
	vertical-align: middle;
	min-width: 15rem;
}
._comptable tbody th {
	padding: 3rem 1.5rem 3rem 0;
	color: var(--c-nordic);
	vertical-align: middle;
	font-weight: 800;
	position: sticky;
	left: 0;
	background-color: var(--c-steel);
	border-right: 1px solid var(--c-steel-dark);
}
._comptable thead th:nth-child(2n), ._comptable thead td:nth-child(2n),
._comptable tbody th:nth-child(2n),
._comptable tbody td:nth-child(2n) {
	background-color: rgba(0, 0, 0, 0.03);
}
._comptable.-col-2 thead th:not(:first-child),
._comptable.-col-2 tbody td {
	width: 33.333333333%;
}
._comptable.-col-3 thead th:not(:first-child),
._comptable.-col-3 tbody td {
	width: 25%;
}
._comptable.-col-4 thead th:not(:first-child),
._comptable.-col-4 tbody td {
	width: 20%;
}
._comptable.-col-5 thead th:not(:first-child),
._comptable.-col-5 tbody td {
	width: 16.66666666%;
}

._faqs,
._benefits {
	display: block;
	width: 100%;
	padding: 4rem 7rem;
	background-color: #fff;
	border-radius: 1rem;
}
@media screen and (max-width: 550px) {
	._faqs,
	._benefits {
		padding: 3rem 4rem;
	}
}

._faq {
	padding: 3rem 0;
	border-top: 1px solid var(--c-slate-light);
}
._faq[open] summary::after {
	-webkit-transform: translate(0, -50%) rotate(0deg);
	    -ms-transform: translate(0, -50%) rotate(0deg);
	        transform: translate(0, -50%) rotate(0deg);
}
._faq summary {
	display: block;
	font-size: 2.8rem;
	font-family: var(--font-h);
	line-height: 1;
	color: var(--c-nordic);
	margin-bottom: 1.5rem;
	text-align: left;
	font-weight: 500;
	cursor: pointer;
	position: relative;
	list-style: none;
	padding-right: 7rem;
}
@media screen and (max-width: 768px) {
	._faq summary {
		font-size: 2.5rem;
	}
}
@media screen and (max-width: 550px) {
	._faq summary {
		font-size: 2.1rem;
		line-height: 1.2;
	}
}
._faq summary::-webkit-details-marker {
	display: none;
}
._faq summary::after {
	content: "×";
	width: 3rem;
	height: 3rem;
	aspect-ratio: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	border: 2px solid var(--c-slate-light);
	color: var(--c-slate-light);
	font-size: 3rem;
	font-weight: 800;
	border-radius: 100%;
	position: absolute;
	top: 50%;
	right: 2rem;
	-webkit-transform: translate(0, -50%) rotate(-45deg);
	    -ms-transform: translate(0, -50%) rotate(-45deg);
	        transform: translate(0, -50%) rotate(-45deg);
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	transition: -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	font-family: var(--font-b);
}
@media screen and (max-width: 768px) {
	._faq summary::after {
		width: 2.6rem;
		height: 2.6rem;
		font-size: 2.8rem;
	}
}
._faq p {
	font-size: 1.7rem;
	color: var(--c-nordic);
	width: 100%;
}

._benefit {
	padding: 3rem 0;
	border-top: 1px solid var(--c-slate-light);
}
._benefit dt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-size: 2.8rem;
	font-family: var(--font-h);
	line-height: 1;
	color: var(--c-nordic);
	margin-bottom: 1.5rem;
	text-align: left;
	font-weight: 500;
	position: relative;
}
@media screen and (max-width: 768px) {
	._benefit dt {
		font-size: 2.5rem;
	}
}
@media screen and (max-width: 550px) {
	._benefit dt {
		font-size: 2.1rem;
		line-height: 1.2;
	}
}
._benefit dt svg {
	display: block;
	width: 3rem;
	aspect-ratio: 1;
	margin-right: 1.5rem;
}
._benefit dt span {
	display: block;
	width: calc(100% - 4.5rem);
}
._benefit dd {
	font-size: 1.7rem;
	color: var(--c-nordic);
	width: 100%;
	display: block;
	padding: 0 4.6rem;
}

._modal {
	border: 0;
	background: transparent;
	overflow: visible;
	padding: 0;
	max-width: 80%;
}
._modal::-ms-backdrop {
	background-color: rgba(0, 0, 0, 0.4);
}
._modal::backdrop {
	background-color: rgba(0, 0, 0, 0.4);
}
._modal button[rel=close] {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 0;
	font-size: 3rem;
	line-height: 1;
	font-family: var(--font-b);
	font-weight: 800;
	color: var(--c-cardinal);
	width: 4rem;
	height: 4rem;
	border-radius: 100%;
	background-color: #fff;
	top: 0;
	right: 0;
	position: absolute;
	-webkit-transform: translate(50%, -50%);
	    -ms-transform: translate(50%, -50%);
	        transform: translate(50%, -50%);
	z-index: 99;
	-webkit-filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 0.15));
	        filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 0.15));
}
._modal[open] > ._body {
	pointer-events: all;
	opacity: 1;
}
._modal > ._body {
	display: block;
	background-color: #fff;
	border-radius: 1rem;
	-webkit-filter: drop-shadow(0 1rem 3rem rgba(0, 0, 0, 0.1));
	        filter: drop-shadow(0 1rem 3rem rgba(0, 0, 0, 0.1));
	padding: 3rem 4rem;
	opacity: 0;
	-webkit-transition: opacity 250ms ease-in-out;
	transition: opacity 250ms ease-in-out;
	pointer-events: none;
	max-height: 90vh;
	overflow: hidden;
	position: relative;
}
@media screen and (max-width: 375px) {
	._modal > ._body {
		padding: 2rem;
	}
}
._modal > ._body h3 {
	font-weight: 400;
}
._modal h2 {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 3rem;
	font-family: var(--font-h);
	color: var(--c-nordic);
	margin-bottom: 3rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--c-steel-dark);
	font-weight: 500;
}
@media screen and (max-width: 375px) {
	._modal h2 {
		font-size: 2rem;
	}
}
._modal.-form form {
	min-width: 70rem;
	margin-bottom: 0;
	-webkit-transition: min-width 250ms ease-in-out;
	transition: min-width 250ms ease-in-out;
}
@media screen and (max-width: 985px) {
	._modal.-form form {
		min-width: 0;
	}
}

.shopify-product-form {
	display: block;
	width: 100%;
}

buy-box {
	display: block;
	width: 100%;
	background-color: #fff;
	padding: 2rem 3rem;
	border-radius: 1rem;
}
buy-box ._priceblock {
	display: block;
}
buy-box ._priceblock ins {
	font-family: var(--font-h);
	color: var(--c-nordic);
	font-weight: 500;
	margin-bottom: 2rem;
	text-decoration: none;
	font-size: 3.6rem;
	display: block;
}
buy-box ._checkout {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	border-top: 1px solid var(--c-steel-dark);
	padding-top: 2rem;
}
buy-box ._qty {
	width: 30%;
	margin-right: 2rem;
}
buy-box ._qty label {
	display: block;
	font-size: 1.3rem;
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: 1px;
	color: var(--c-steel-dark);
	margin-bottom: 1rem;
}
@media screen and (max-width: 550px) {
	buy-box ._qty {
		width: 50%;
	}
}
@media screen and (max-width: 420px) {
	buy-box ._qty {
		width: 80%;
	}
}
buy-box .addtocart {
	margin-bottom: 0;
	border-radius: 1rem;
	width: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
@media screen and (max-width: 550px) {
	buy-box .addtocart {
		width: 80%;
	}
}
buy-box ._checkout button[type=submit].-loading span {
	display: none;
}
buy-box ._checkout button[type=submit].-loading ._loader::before {
	content: "";
	width: 2rem;
	aspect-ratio: 1;
	border-top: 3px solid #fff;
	border-right: 3px solid transparent;
	-webkit-animation: rotation 1s linear infinite;
	        animation: rotation 1s linear infinite;
	border-radius: 50%;
	display: block;
}

bb-qty {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
bb-qty button {
	width: 4rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	font-size: 2rem;
	font-weight: 600;
	background-color: var(--c-steel);
	-webkit-transition: background-color 250ms ease-in-out, opacity 250ms ease-in-out;
	transition: background-color 250ms ease-in-out, opacity 250ms ease-in-out;
	padding: 0;
	margin: 0;
}
bb-qty button:disabled {
	opacity: 0.5;
}
bb-qty button:not(:disabled):hover, bb-qty button:not(:disabled):focus {
	background-color: var(--c-steel-dark);
}
bb-qty button[rel="-"] {
	border-top-left-radius: 1rem;
	border-bottom-left-radius: 1rem;
}
bb-qty button[rel="+"] {
	border-top-right-radius: 1rem;
	border-bottom-right-radius: 1rem;
}
bb-qty input {
	appearance: none;
	-moz-appearance: textfield;
	-webkit-appearance: none;
	padding: 1rem;
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--c-nordic);
	border: 0;
	border-top: 1px solid var(--c-steel);
	border-bottom: 1px solid var(--c-steel);
	width: calc(100% - 8rem);
}
bb-qty input::-webkit-outer-spin-button, bb-qty input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	        appearance: none;
	margin: 0;
}

._hovercards {
	display: grid;
	gap: 3rem;
	width: 100%;
	grid-template-columns: repeat(3, 1fr);
}
._hovercards.-col-2 {
	grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 860px) {
	._hovercards.-col-2 {
		grid-template-columns: repeat(1, 1fr);
	}
}
._hovercards.-col-3 {
	grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 1100px) {
	._hovercards.-col-3 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 860px) {
	._hovercards.-col-3 {
		grid-template-columns: repeat(1, 1fr);
	}
}
._hovercards.-col-4 {
	grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 1200px) {
	._hovercards.-col-4 {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media screen and (max-width: 1100px) {
	._hovercards.-col-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 860px) {
	._hovercards.-col-4 {
		grid-template-columns: repeat(1, 1fr);
	}
}

._hovercard {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: left;
	    -ms-flex-pack: left;
	        justify-content: left;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	position: relative;
	aspect-ratio: 1.3/1;
	padding: 3rem 3rem;
	border-radius: 5px;
	overflow: hidden;
	min-height: 30rem;
}
@media screen and (max-width: 460px) {
	._hovercard {
		min-height: 0;
		aspect-ratio: 0.9/1;
	}
}
._hovercard:hover defer-image, ._hovercard:focus-within defer-image {
	-webkit-transform: scale(1.03);
	    -ms-transform: scale(1.03);
	        transform: scale(1.03);
}
._hovercard.-center {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
._hovercard.-center h3, ._hovercard.-center p {
	text-align: center;
}
._hovercard.-right {
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}
._hovercard.-right h3, ._hovercard.-right p {
	text-align: right;
}
._hovercard defer-image {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	z-index: -1;
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	transition: -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
}
._hovercard > div {
	width: 100%;
}
._hovercard h3 {
	color: #fff;
	font-size: 3.6rem;
	font-weight: 500;
	font-family: var(--font-h);
	display: block;
	width: 100%;
	margin-bottom: 1.5rem;
	padding-top: 2rem;
	position: relative;
}
@media screen and (max-width: 460px) {
	._hovercard h3 {
		font-size: 3rem;
	}
}
._hovercard h3::before {
	content: "";
	display: block;
	width: 48px;
	aspect-ratio: 65/25;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transform: translateY(-100%);
	    -ms-transform: translateY(-100%);
	        transform: translateY(-100%);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='65' height='24.45' viewBox='0 0 65 24.45'%3E%3Cpath d='M.06 12.89c2.41-4.43 7.86-6.42 12.73-6.35 7.78.06 14.76 4.61 21.44 7.5 9.73 4.31 20.95 2.19 29.74-3.65.5-.36 1.25.2.98.81-4.08 9.06-14.7 14-24.43 13.16-3.31-.23-6.72-1.28-9.68-2.67C21.26 17.35 11.56 6.94.77 13.52c-.22.16-.54.11-.69-.13-.1-.16-.11-.35-.02-.5Z' style='fill:%23ce193c'/%3E%3Cpath d='M18.91 3.05c2.78-3.94 8.42-3.5 12.38-1.82 3.58 1.46 7.04 3.26 10.58 4.72 5.15 2.11 10.73.99 16.11-.16.41-.1.76.42.48.76-3.72 4.57-9.98 6.94-15.86 5.83-1.95-.35-3.79-1.22-5.54-2.1-2.43-1.25-4.65-2.67-6.86-4.19-2.5-1.74-5.33-3.5-8.47-3.17-.81.09-1.6.34-2.37.68-.33.15-.67-.26-.45-.55Z' style='fill:%23ea3446'/%3E%3C/svg%3E");
	background-size: cover;
}
._hovercard p {
	color: #fff;
	font-size: 1.8rem;
	margin-bottom: 1rem;
	width: 90%;
}
@media screen and (max-width: 460px) {
	._hovercard p {
		font-size: 1.6rem;
		width: 100%;
	}
}

._products {
	display: grid;
	gap: 3rem;
	-webkit-column-gap: 5rem;
	   -moz-column-gap: 5rem;
	        column-gap: 5rem;
	width: 100%;
	grid-template-columns: repeat(3, 1fr);
}
._products.-col-2 {
	grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 580px) {
	._products.-col-2 {
		grid-template-columns: repeat(1, 1fr);
	}
}
._products.-col-3 {
	grid-template-columns: repeat(3, 1fr);
	gap: 5rem;
}
@media screen and (max-width: 1024px) {
	._products.-col-3 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 580px) {
	._products.-col-3 {
		grid-template-columns: repeat(1, 1fr);
	}
}
._products.-col-4 {
	grid-template-columns: repeat(4, 1fr);
	gap: 5rem;
}
@media screen and (max-width: 1200px) {
	._products.-col-4 {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media screen and (max-width: 1024px) {
	._products.-col-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 580px) {
	._products.-col-4 {
		grid-template-columns: repeat(1, 1fr);
	}
}

._input {
	position: relative;
}
._input[data-not-empty] button {
	opacity: 1;
	pointer-events: all;
}
._input button {
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-size: 2.4rem;
	font-weight: 400;
	color: var(--c-slate-light);
	background-color: var(--c-steel);
	width: 3rem;
	height: 3rem;
	top: 50%;
	right: 1.5rem;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	-webkit-transition: background-color 250ms ease-in-out;
	transition: background-color 250ms ease-in-out;
	border-radius: 100%;
	opacity: 0;
	pointer-events: none;
}
._input button:hover {
	background-color: var(--c-steel-dark);
}

#modal-search button[rel=close] {
	position: fixed;
	top: 3rem;
	right: 50%;
	display: none;
}
@media screen and (max-width: 768px) {
	#modal-search button[rel=close] {
		display: block;
	}
}
#modal-search > ._body {
	position: fixed;
	top: 4rem;
	left: 50%;
	min-width: 40rem;
	max-width: 80vw;
	max-height: 90vh;
	-webkit-transform: translate(-50%, 0);
	    -ms-transform: translate(-50%, 0);
	        transform: translate(-50%, 0);
	padding: 0 0 2rem;
}
@media screen and (max-width: 425px) {
	#modal-search > ._body {
		min-width: 0;
	}
}
#modal-search label {
	display: block;
	width: 100%;
	font-size: 1.4rem;
	color: var(--c-nordic);
	text-transform: uppercase;
	text-align: center;
	font-family: var(--font-h);
	font-weight: 500;
	padding: 1.5rem 1.5rem;
}
#modal-search input {
	font-size: 2rem;
	color: var(--c-nordic);
	font-family: var(--font-b);
	padding: 1.5rem 6.5rem 1.5rem 2.5rem;
	border: 0;
	display: block;
	min-width: 30rem;
	width: 100%;
	background-color: var(--c-steel);
}
#modal-search input::-webkit-input-placeholder {
	color: var(--c-steel-dark);
	font-size: 1.5rem;
}
#modal-search input::-moz-placeholder {
	color: var(--c-steel-dark);
	font-size: 1.5rem;
}
#modal-search input:-ms-input-placeholder {
	color: var(--c-steel-dark);
	font-size: 1.5rem;
}
#modal-search input::-ms-input-placeholder {
	color: var(--c-steel-dark);
	font-size: 1.5rem;
}
#modal-search input::placeholder {
	color: var(--c-steel-dark);
	font-size: 1.5rem;
}
#modal-search ._results {
	display: block;
}
#modal-search ._result {
	padding: 1.5rem 2rem;
	-webkit-transition: background-color 250ms ease-in-out;
	transition: background-color 250ms ease-in-out;
}
#modal-search ._result:first-of-type {
	border-top: 1px solid var(--c-steel-dark);
}
#modal-search ._result:not(.-empty):hover, #modal-search ._result:not(.-empty):focus-within {
	background-color: var(--c-steel);
}
#modal-search ._result strong {
	font-weight: 800;
}
#modal-search ._result, #modal-search ._result a {
	color: var(--c-nordic);
	font-size: 1.8rem;
	display: block;
	width: 100%;
	outline: 0;
	border: 0;
}
#modal-search ._result a {
	position: relative;
	padding-right: 3rem;
}
#modal-search ._result a._arrow ._icon {
	position: absolute;
	top: 50%;
	right: 1rem;
	-webkit-transform: translate(0, -50%);
	    -ms-transform: translate(0, -50%);
	        transform: translate(0, -50%);
}
#modal-search ._result a._arrow ._head,
#modal-search ._result a._arrow ._body {
	stroke: var(--c-nordic);
}
#modal-search ._result.-collection a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
#modal-search ._result.-collection a::after {
	content: "Collection";
	display: block;
	font-size: 1.2rem;
	font-weight: 800;
	padding: 0.5rem 1rem;
	background-color: var(--c-slate);
	color: #fff;
	border-radius: 10rem;
	margin-left: 1rem;
	text-transform: uppercase;
}

._timeline {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	padding: 5rem 0;
	position: relative;
}
._timeline::before {
	content: "";
	width: 1px;
	height: 100%;
	top: 0;
	left: calc(50% - 0.5px);
	background-color: var(--c-steel-dark);
	display: block;
	z-index: -1;
	position: absolute;
}
._timeline.-content-image {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
}
._timeline.-content-image img {
	-webkit-transform: translate(-10%, 4rem);
	    -ms-transform: translate(-10%, 4rem);
	        transform: translate(-10%, 4rem);
}
@media screen and (max-width: 768px) {
	._timeline.-content-image img {
		-webkit-transform: translate(0);
		    -ms-transform: translate(0);
		        transform: translate(0);
	}
}
._timeline.-content-image ._content {
	padding: 0 9rem 0 6rem;
}
@media screen and (max-width: 460px) {
	._timeline.-content-image ._content {
		padding: 0 3rem;
	}
}
._timeline h3 {
	font-family: var(--font-c);
	font-size: 10rem;
	font-weight: 300;
	line-height: 0.6;
	padding-left: 3rem;
}
@media screen and (max-width: 460px) {
	._timeline h3 {
		font-size: 8rem;
	}
}
._timeline ._content {
	padding: 0 6rem 0 9rem;
}
@media screen and (max-width: 460px) {
	._timeline ._content {
		padding: 0 3rem;
	}
}
._timeline img {
	-webkit-transform: translate(8%, 8rem);
	    -ms-transform: translate(8%, 8rem);
	        transform: translate(8%, 8rem);
	border-radius: 5px;
}
@media screen and (max-width: 768px) {
	._timeline img {
		-webkit-transform: translate(0);
		    -ms-transform: translate(0);
		        transform: translate(0);
		margin-bottom: 3rem;
	}
}
@media screen and (max-width: 768px) {
	._timeline .-copy {
		background-color: var(--c-steel);
	}
}

._patentthumb {
	margin-bottom: 7rem;
	display: block;
	width: 100%;
	padding: 0 2rem;
}
._patentthumb .splide__track--nav > .splide__list > .splide__slide {
	border-radius: 1rem;
	overflow: hidden;
	-webkit-transition: border 300ms ease-in-out;
	transition: border 300ms ease-in-out;
}
._patentthumb .splide__track--nav > .splide__list > .splide__slide:hover {
	border-color: var(--c-steel-dark);
}
._patentthumb .splide__track--nav > .splide__list > .splide__slide.is-active {
	border-color: var(--c-cardinal);
}
._patentthumb .splide__arrows {
	position: absolute;
	display: block;
	height: 4rem;
	left: 50%;
	bottom: 0;
	-webkit-transform: translateX(-50%) translateY(calc(100% + 0.9rem));
	    -ms-transform: translateX(-50%) translateY(calc(100% + 0.9rem));
	        transform: translateX(-50%) translateY(calc(100% + 0.9rem));
}
._patentthumb .splide__arrows .splide__arrow {
	display: block;
	background: transparent;
	width: 4rem;
	height: 4rem;
}
._patentthumb .splide__arrows .splide__arrow svg {
	width: 100%;
	height: 100%;
	fill: var(--c-nordic);
}
._patentthumb .splide__arrows .splide__arrow--prev {
	left: 0;
	-webkit-transform: translate(-120%, -50%);
	    -ms-transform: translate(-120%, -50%);
	        transform: translate(-120%, -50%);
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	transition: -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
}
._patentthumb .splide__arrows .splide__arrow--prev:hover, ._patentthumb .splide__arrows .splide__arrow--prev:focus {
	-webkit-transform: translate(-130%, -50%);
	    -ms-transform: translate(-130%, -50%);
	        transform: translate(-130%, -50%);
}
._patentthumb .splide__arrows .splide__arrow--next {
	right: 0;
	-webkit-transform: translate(120%, -50%);
	    -ms-transform: translate(120%, -50%);
	        transform: translate(120%, -50%);
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	transition: -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
}
._patentthumb .splide__arrows .splide__arrow--next:hover, ._patentthumb .splide__arrows .splide__arrow--next:focus {
	-webkit-transform: translate(130%, -50%);
	    -ms-transform: translate(130%, -50%);
	        transform: translate(130%, -50%);
}

._tile {
	display: block;
	background-color: #fff;
	padding: 2rem 3rem;
	height: 100%;
	width: 100%;
}
._tile h3 {
	display: block;
	text-align: center;
	color: var(--c-nordic);
	font-family: var(--font-h);
	font-weight: 800;
	margin-top: 1rem;
}

._patentdetails {
	display: block;
	width: 100%;
	padding: 0 2rem;
}

._patent {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
._patent:not(:last-of-type) {
	padding-bottom: 4rem;
	margin-bottom: 4rem;
	border-bottom: 1px solid var(--c-steel-dark);
}
._patent h3 {
	width: 30rem;
	font-size: 1.7rem;
	font-weight: 800;
	color: var(--c-nordic);
}
@media screen and (max-width: 640px) {
	._patent h3 {
		width: 100%;
		margin-bottom: 2rem;
		font-size: 2rem;
	}
}
._patent ._description {
	width: calc(100% - 32rem);
	color: var(--c-slate);
	font-size: 1.6rem;
}
@media screen and (max-width: 640px) {
	._patent ._description {
		width: 100%;
	}
}
._patent ._description h4 {
	font-weight: 600;
	margin-bottom: 1rem;
	display: block;
	width: 100%;
	color: var(--c-slate);
}
._patent ._description p {
	display: block;
	width: 100%;
	color: var(--c-slate);
}

/**
 * Account & Login
 */
#recover {
	display: none;
}
#recover:target {
	display: block;
}
#recover:target ~ #login {
	display: none;
}

#login {
	width: 40rem;
	max-width: 90%;
}

p._empty {
	color: var(--c-steel-dark);
	font-style: italic;
	display: block;
	margin-bottom: 2rem;
}

address {
	color: var(--c-slate);
	font-style: italic;
	display: block;
	margin-bottom: 2rem;
	font-size: 1.7rem;
}

._addresses {
	width: 100%;
}

#newAddress {
	max-width: 90%;
	width: 50rem;
	background-color: #fff;
	padding: 0 3rem;
	border-radius: 5px;
}

._address {
	display: block;
	max-width: 90%;
	margin: 0 auto 3rem;
	width: 50rem;
	background-color: #fff;
	padding: 2rem 3rem;
}
._address:first-of-type {
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}
._address:not(:last-of-type) {
	border-bottom: 1px solid var(--c-steel-dark);
}
._address:last-of-type {
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}
._address.-default {
	position: relative;
}
._address.-default::after {
	content: "default";
	font-size: 1.3rem;
	font-weight: 800;
	color: #fff;
	background-color: var(--c-himmel);
	padding: 0.5rem 1rem;
	border-radius: 2rem;
	position: absolute;
	top: 2rem;
	right: 3rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
._address ._form {
	display: none;
	margin: 3rem auto;
	width: 100%;
}
._address address {
	font-size: 1.8rem;
}
._address footer {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

._table {
	width: 100%;
	border-collapse: collapse;
}
._table img {
	max-width: 120px;
	margin: 0 auto 1rem;
}
._table .-hide {
	display: none;
}
._table th {
	font-weight: 700;
	font-size: 1.4rem;
	text-transform: uppercase;
	color: var(--c-slate);
	background-color: #fff;
}
._table td {
	font-size: 1.6rem;
}
._table th,
._table td {
	padding: 1rem;
	text-align: center;
	border: 1px solid var(--c-steel-dark);
}
._table tr.-left td:first-of-type {
	text-align: left;
}
._table a {
	color: var(--c-himmel);
}
._table a:hover {
	text-decoration: underline;
}
._table tbody tr:nth-child(even) td {
	background-color: #fff;
}
._table tbody tr:nth-child(odd) td {
	background-color: #f6f6f6;
}
._table .fulfillment {
	margin-top: 1rem;
}
._table .fulfillment span {
	width: 100%;
	display: block;
}
._table .fulfillment small {
	font-size: 90%;
}

._tablewrap {
	display: block;
	overflow-x: scroll;
	width: 100%;
}

#newAddress.-hide {
	display: none;
}

._orders table {
	min-width: 72rem;
}

._acctdetails {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
._acctdetails ._title,
._acctdetails address {
	width: 100%;
}

@media screen and (max-width: 1024px) {
	._orders,
	._acctdetails {
		width: 100% !important;
	}
}

/**
 * Responsive Specific
 */
@media screen and (max-width: 1100px) {
	.product_specs ._column {
		width: 100%;
	}
}

button {
	color: var(--c-nordic);
}

b, strong {
	font-weight: 600;
}

em, i {
	font-style: italic;
}

img {
	display: block;
	width: 100%;
	height: auto;
}

small {
	font-size: 60%;
	line-height: 1.3;
	display: inline-block;
}

.-z-1 {
	position: relative;
	z-index: 1;
}
.-z-2 {
	position: relative;
	z-index: 2;
}
.-z-3 {
	position: relative;
	z-index: 3;
}
.-z-4 {
	position: relative;
	z-index: 4;
}
.-z-5 {
	position: relative;
	z-index: 5;
}
.-z-6 {
	position: relative;
	z-index: 6;
}
.-z-7 {
	position: relative;
	z-index: 7;
}
.-z-8 {
	position: relative;
	z-index: 8;
}
.-z-9 {
	position: relative;
	z-index: 9;
}
.-z-10 {
	position: relative;
	z-index: 10;
}

.-padding-none {
	padding: 0 !important;
}
.-padding-none-top {
	padding-top: 0rem !important;
}
.-padding-none-bottom {
	padding-bottom: 0rem !important;
}
.-padding-slim {
	padding: 3rem 0 !important;
}
.-padding-slim-top {
	padding-top: 3rem !important;
}
.-padding-slim-bottom {
	padding-bottom: 3rem !important;
}
.-padding-normal {
	padding: 6rem 0 !important;
}
.-padding-normal-top {
	padding-top: 6rem !important;
}
.-padding-normal-bottom {
	padding-bottom: 6rem !important;
}
.-padding-large {
	padding: 8rem 0 !important;
}
.-padding-large-top {
	padding-top: 8rem !important;
}
.-padding-large-bottom {
	padding-bottom: 8rem !important;
}
.-padding-xl {
	padding: 14rem 0 !important;
}
@media screen and (max-width: 450px) {
	.-padding-xl {
		padding: 10rem 0 !important;
	}
}
.-padding-xl-top {
	padding-top: 14rem !important;
}
@media screen and (max-width: 450px) {
	.-padding-xl-top {
		padding-top: 10rem !important;
	}
}
.-padding-xl-bottom {
	padding-bottom: 14rem !important;
}
@media screen and (max-width: 450px) {
	.-padding-xl-bottom {
		padding-bottom: 10rem !important;
	}
}

/* Minimal hairline divider — a limited-width architectural rule with a small
   brand-red accent as punctuation, used sparingly between white sections. */
._section.-divider-top {
	position: relative;
	padding-top: 7rem;
}
._section.-divider-top::before {
	content: "";
	position: absolute;
	top: 3.4rem;
	left: 50%;
	width: 6rem;
	height: 1px;
	background-color: var(--c-hairline);
	transform: translateX(-50%);
}
._section.-divider-top::after {
	content: "";
	position: absolute;
	top: 3.28rem;
	left: 50%;
	width: 1.6rem;
	height: 2px;
	background-color: var(--c-cardinal);
	transform: translateX(-50%);
}
@media screen and (max-width: 750px) {
	._section.-divider-top {
		padding-top: 5rem;
	}
	._section.-divider-top::before,
	._section.-divider-top::after {
		top: 2.4rem;
	}
}

.-bg-nordic {
	background-color: var(--c-nordic);
}
.-bg-slate {
	background-color: var(--c-slate);
}
.-bg-warm {
	background-color: var(--c-warm);
}
.-bg-warm-deep {
	background-color: var(--c-warm-deep);
}
.-bg-w ._wrapper::before {
	content: "";
	width: auto;
	max-width: 95%;
	height: 100%;
	max-height: 110rem;
	aspect-ratio: 1069/843;
	background-size: cover;
	display: block;
	position: absolute;
	top: -2rem;
	left: 0;
	-webkit-transform: translateX(calc((50vw - 700px) * -1));
	    -ms-transform: translateX(calc((50vw - 700px) * -1));
	        transform: translateX(calc((50vw - 700px) * -1));
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1068.99' height='842.76' viewBox='0 0 1068.99 842.76'%3E%3Cpath d='M986.95 1.01C763.16-30.18 288.27 674.63 265.13 625.4c-13.48-28.68 65.46-157.94 96.06-219.62 30.6-61.68 157.48-293.4 89.98-325.04-42.69-20.02-95.51 27.44-164.4 80.79C217.87 214.88 96.1 331.16 64.41 317.2c-27.2-11.98 94.21-175.87 41.63-247.08-15.25-20.65-39.63-30.69-74.38-30.69-10.76 0-21.13 1.87-30.87 4.93l-.8 450.84c120.44-46.44 339.23-302.66 351.72-273.35 13.77 32.31-139.83 237.9-225.79 389.78-62.33 110.14-41.46 212.14 32.51 228.56 87.96 19.53 182.18-75.6 304.02-189.56 219.63-205.42 455.03-504.68 528.28-512.35 48.41-5.07 59.74 38.87 56.78 61.05 19.12-17.4 57.41-181.89-60.57-198.34Z' opacity='.03'/%3E%3C/svg%3E");
	pointer-events: none;
}
@media screen and (max-width: 1450px) {
	.-bg-w ._wrapper::before {
		-webkit-transform: translateX(-2rem);
		    -ms-transform: translateX(-2rem);
		        transform: translateX(-2rem);
	}
}
@media screen and (max-width: 1210px) {
	.-bg-w ._wrapper::before {
		width: 100%;
		height: auto;
	}
}
.-bg-ws ._wrapper::before {
	content: "";
	width: 540px;
	aspect-ratio: 543/420;
	background-size: cover;
	display: block;
	position: absolute;
	top: 2rem;
	left: 0;
	-webkit-transform: translateX(calc((50vw - 700px) * -1));
	    -ms-transform: translateX(calc((50vw - 700px) * -1));
	        transform: translateX(calc((50vw - 700px) * -1));
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='542.93' height='419.13' viewBox='0 0 542.93 419.13'%3E%3Cpath d='M502.12.5c-111.3-15.51-347.48 335.01-358.98 310.53-6.7-14.26 32.56-78.55 47.78-109.22 15.22-30.67 78.32-145.92 44.75-161.65-21.23-9.95-47.5 13.65-81.76 40.18-34.26 26.53-94.82 84.36-110.59 77.42-13.53-5.96 46.85-87.47 20.71-122.88-7.58-10.27-19.71-15.26-36.99-15.26-9.94 0-19.2 3.21-27.03 7.43v17.19c2.42 1.34 4.25 3.44 5.36 6.52C7.04 55.4 4.43 67.22.01 82.64v166.8c56.22-8.63 179.58-154.65 186.2-139.1 6.85 16.07-69.54 118.32-112.29 193.85-31 54.77-20.62 105.5 16.17 113.67 43.74 9.71 90.61-37.6 151.2-94.27C350.52 221.43 467.59 72.6 504.02 68.78c24.08-2.52 29.71 19.33 28.24 30.36 9.51-8.65 28.55-90.46-30.12-98.64Z' opacity='.03'/%3E%3C/svg%3E");
	pointer-events: none;
}
@media screen and (max-width: 1450px) {
	.-bg-ws ._wrapper::before {
		-webkit-transform: translateX(0);
		    -ms-transform: translateX(0);
		        transform: translateX(0);
	}
}
@media screen and (max-width: 550px) {
	.-bg-ws ._wrapper::before {
		width: 300px;
	}
}
.-bg-ws ._wrapper::after {
	content: "";
	width: 390px;
	aspect-ratio: 391/400;
	background-size: cover;
	display: block;
	position: absolute;
	top: 30rem;
	right: 25px;
	-webkit-transform: translateX(calc(50vw - 700px));
	    -ms-transform: translateX(calc(50vw - 700px));
	        transform: translateX(calc(50vw - 700px));
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='391' height='399.51' viewBox='0 0 391 399.51'%3E%3Cpath d='M391 62.31c-103.02 97.5-208.89 245.3-216.49 229.11-6.7-14.26 32.56-78.55 47.78-109.22 15.22-30.67 78.32-145.92 44.75-161.65-21.23-9.95-47.5 13.65-81.76 40.18-34.26 26.53-94.82 84.36-110.59 77.42-13.53-5.96 46.85-87.47 20.71-122.88C87.81 4.99 75.68 0 58.4 0 31.73 0 9.92 23.11 7.64 26.88c6.63-4.7 24.66-8.06 29.08 4.25 4.42 12.31-21.21 75.19-31.09 121.59-9.87 46.4-9.88 82.56 25.73 77.09 56.22-8.63 179.58-154.65 186.2-139.1 6.85 16.07-69.54 118.32-112.29 193.85-31 54.77-20.62 105.5 16.17 113.67 43.74 9.71 90.61-37.6 151.2-94.27 39.84-37.26 80.72-80.73 118.36-121.11V62.31Z' opacity='.03'/%3E%3C/svg%3E");
	pointer-events: none;
}
@media screen and (max-width: 1450px) {
	.-bg-ws ._wrapper::after {
		-webkit-transform: translateX(0);
		    -ms-transform: translateX(0);
		        transform: translateX(0);
		right: 0;
	}
}
@media screen and (max-width: 550px) {
	.-bg-ws ._wrapper::after {
		width: 200px;
	}
}
.-bg-wirewave::before {
	content: "";
	width: 100vw;
	aspect-ratio: 144/43;
	background-size: cover;
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	background-image: url(wirewave.webp);
	pointer-events: none;
}
.-bg-wirewave-inset ._wrapper::before {
	content: "";
	width: 100vw;
	aspect-ratio: 144/43;
	background-size: cover;
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateX(calc((50vw - 700px) * -1)) translateY(-50%);
	    -ms-transform: translateX(calc((50vw - 700px) * -1)) translateY(-50%);
	        transform: translateX(calc((50vw - 700px) * -1)) translateY(-50%);
	background-image: url(wirewave.webp);
	pointer-events: none;
	z-index: -1;
}
@media screen and (max-width: 1450px) {
	.-bg-wirewave-inset ._wrapper::before {
		-webkit-transform: translateX(0);
		    -ms-transform: translateX(0);
		        transform: translateX(0);
	}
}

.-curve-top-in {
	position: relative;
}
.-curve-top-in::before {
	content: "";
	width: 100vw;
	display: block;
	aspect-ratio: 35/1;
	position: absolute;
	top: 1px;
	left: 0;
	-webkit-transform: translateY(-100%);
	    -ms-transform: translateY(-100%);
	        transform: translateY(-100%);
	background-size: cover;
}
.-curve-top-in.-bg-none::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='40' viewBox='0 0 1440 40'%3E%3Cpath fill='%23f2f2f2' d='M1440 40V0s-401 35.98-720 35.98S0 0 0 0v40h1440Z'/%3E%3C/svg%3E");
}
.-curve-top-in.-bg-slate::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='40' viewBox='0 0 1440 40'%3E%3Cpath fill='%2303465b' d='M1440 40V0s-401 35.98-720 35.98S0 0 0 0v40h1440Z'/%3E%3C/svg%3E");
}
.-curve-top-in.-bg-nordic::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='40' viewBox='0 0 1440 40'%3E%3Cpath fill='%23023747' d='M1440 40V0s-401 35.98-720 35.98S0 0 0 0v40h1440Z'/%3E%3C/svg%3E");
}
.-curve-top-out {
	position: relative;
}
.-curve-top-out::before {
	content: "";
	width: 100vw;
	display: block;
	aspect-ratio: 35/1;
	position: absolute;
	top: 1px;
	left: 0;
	-webkit-transform: translateY(-100%);
	    -ms-transform: translateY(-100%);
	        transform: translateY(-100%);
	background-size: cover;
}
.-curve-top-out.-bg-none::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='40' viewBox='0 0 1440 40'%3E%3Cpath fill='%23f2f2f2' d='M0 40v-4.21S401 0 720 0s720 35.79 720 35.79V40H0Z'/%3E%3C/svg%3E");
}
.-curve-top-out.-bg-slate::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='40' viewBox='0 0 1440 40'%3E%3Cpath fill='%2303465b' d='M0 40v-4.21S401 0 720 0s720 35.79 720 35.79V40H0Z'/%3E%3C/svg%3E");
}
.-curve-top-out.-bg-nordic::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='40' viewBox='0 0 1440 40'%3E%3Cpath fill='%23023747' d='M0 40v-4.21S401 0 720 0s720 35.79 720 35.79V40H0Z'/%3E%3C/svg%3E");
}
.-curve-bottom-in {
	position: relative;
}
.-curve-bottom-in::after {
	content: "";
	width: 100vw;
	display: block;
	aspect-ratio: 35/1;
	position: absolute;
	bottom: 1px;
	left: 0;
	-webkit-transform: translateY(100%);
	    -ms-transform: translateY(100%);
	        transform: translateY(100%);
	background-size: cover;
}
.-curve-bottom-in.-bg-none::after {
	background-image: url("data:image/svg+xml,%3Csvg data-name='Layer_1' xmlns='http://www.w3.org/2000/svg' width='1440' height='40' viewBox='0 0 1440 40'%3E%3Cpath d='M0 0v40S401 4.02 720 4.02 1440 40 1440 40V0H0Z' style='fill:%23f2f2f2'/%3E%3C/svg%3E");
}
.-curve-bottom-in.-bg-slate::after {
	background-image: url("data:image/svg+xml,%3Csvg data-name='Layer_1' xmlns='http://www.w3.org/2000/svg' width='1440' height='40' viewBox='0 0 1440 40'%3E%3Cpath d='M0 0v40S401 4.02 720 4.02 1440 40 1440 40V0H0Z' style='fill:%2303465b'/%3E%3C/svg%3E");
}
.-curve-bottom-in.-bg-nordic::after {
	background-image: url("data:image/svg+xml,%3Csvg data-name='Layer_1' xmlns='http://www.w3.org/2000/svg' width='1440' height='40' viewBox='0 0 1440 40'%3E%3Cpath d='M0 0v40S401 4.02 720 4.02 1440 40 1440 40V0H0Z' fill='%23023747'/%3E%3C/svg%3E");
}
.-curve-bottom-out {
	position: relative;
}
.-curve-bottom-out::after {
	content: "";
	width: 100vw;
	display: block;
	aspect-ratio: 35/1;
	position: absolute;
	bottom: 1px;
	left: 0;
	-webkit-transform: translateY(100%);
	    -ms-transform: translateY(100%);
	        transform: translateY(100%);
	background-size: cover;
}
.-curve-bottom-out.-bg-none::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='40' viewBox='0 0 1440 40'%3E%3Cpath fill='%23f2f2f2' d='M1440 0v4.21S1039 40 720 40 0 4.21 0 4.21V0h1440Z'/%3E%3C/svg%3E");
}
.-curve-bottom-out.-bg-slate::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='40' viewBox='0 0 1440 40'%3E%3Cpath fill='%2303465b' d='M1440 0v4.21S1039 40 720 40 0 4.21 0 4.21V0h1440Z'/%3E%3C/svg%3E");
}
.-curve-bottom-out.-bg-nordic::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='40' viewBox='0 0 1440 40'%3E%3Cpath fill='%23023747' d='M1440 0v4.21S1039 40 720 40 0 4.21 0 4.21V0h1440Z'/%3E%3C/svg%3E");
}








/* Benz Header Fix 21-11-2025 */

/* --- STICKY HEADER FIX --- */
body > header {
    position: fixed;
    z-index: 10001;
    width: 100%;
    height: 220px;
    top: 0;
    
    /* ADDED: Dark to transparent gradient for the unscrolled state */
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
    background-color: transparent; /* Kept as fallback */
    
    padding: 4rem 0;
    /* FIX: Added 'height' to the transition list */
    transition: background-color 20ms ease-in-out, padding 200ms ease-in-out, height 200ms ease-in-out;
}

body > header.scrolled {
    /* ADDED: Removes the gradient so the solid background takes over */
    background-image: none;
	height: 68px;
    z-index: 10005;
    background-color: var(--c-steel);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
    padding: 4px 0;
}

/* Main Logo */
body > header ._brand {
    width: 275px;
    transition: width 200ms ease-in-out;
}

body > header.scrolled ._brand {
	width: 130px;
    padding-top: 4px;
}

/* Made in USA logo */
.header-secondary-image {
	max-width: 70px; 
	height: auto;
	/* margin-left: 25rem;  */
	align-self: center; 
	transition: all 200ms ease-in-out; 
	display: none !important;
}

body > header.scrolled .header-secondary-image {
	max-width: 55px; 
	display: none !important;
	/* margin-left: 30rem; */
}

body > header.scrolled ._menu.-main > ul a {
    color:var(--c-black); /* White text for dark backgrounds */
}

/* Change icon colors in the scrolled header */
body > header.scrolled .header-right svg path,
body > header.scrolled .header-right svg {
    fill:var(--c-black) !important; /* Change this hex code to your desired color */
}

/* Change mobile burger menu lines color in the scrolled header */
body > header.scrolled ._burger::before,
body > header.scrolled ._burger::after {
    background-color:var(--c-black) !important; /* Change this hex code to your desired color */
}

/* Keeps the cart count text white even when header is scrolled */
body > header.scrolled button[rel=cart] span {
    background-color: var(--c-cardinal);
    color: var(--c-steel) !important; /* Forces the text to stay white */
}

@media screen and (max-width: 600px) {
    body > header ._brand {   	/*Main Logo*/
        width: 165px;
    }

	body > header.scrolled ._brand {
		width: 120px;
	}

	.header-secondary-image {	/*Made in USA Logo*/
		max-width: 50px; 
		display: none !important;
		/* margin-left: 1rem; */
	}

	body > header.scrolled .header-secondary-image {
		max-width: 50px; 
		display: none !important;
		/* margin-left: 1rem; */
	}

    body > header ._icon {
		margin-left: 1.5rem;
    }
	
    body > header button[rel=search] {
		margin-left: 0rem;
    }
	
	._burger {
		margin-left: 1.5rem;
	}

	._menu.-main.-show {
        top: 6.5rem;
    }


    body > header.scrolled {
		height: 58px;
    }

	/* The logo + icon row (._wrapper.-middle) is taller than this 58px
	   bar once its own top/bottom padding is added in, so left in normal
	   flow it only pads from the top and spills past the bar's bottom
	   edge — reading as "everything sits low". Pull it out of flow and
	   center it on the bar's true midline instead of its content-derived
	   height. (._wrapper is already `position: relative` at baseline, so
	   this doesn't change the containing block for its `-show` mobile
	   menu descendant, just this element's own offsets.) */
	body > header.scrolled ._wrapper.-middle {
		position: absolute;
		top: 50%;
		left: 0;
		-webkit-transform: translateY(-50%);
		    -ms-transform: translateY(-50%);
		        transform: translateY(-50%);
	}

    body > header ._brand {   	/*Main Logo*/
        width: 145px;
    }

	body > header.scrolled ._brand {
		width: 105px;
	}

	/* .header-secondary-image {	/*Made in USA Logo
	max-width: 35px; 
	} */

	/* body > header.scrolled .header-secondary-image {
	max-width: 35px; 
	}	 */
}

/* --- ICON/BUTTON SIZE REDUCTION --- */
body > header button[rel=search] svg,
body > header button[rel=cart] svg {
    width: 1.5rem;
}

._wrapper.-middle {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

body > header button svg, 
body > header a svg {
    width: 1.8rem !important;
    height: 1.8rem !important;
}

body > header button[rel=search] svg {
    width: 1.8rem !important;
    height: 1.8rem !important;
}

body > header a._icon svg {
    width: 1.8rem !important;
    height: 1.8rem !important;
    aspect-ratio: 1;
}

body > header button[rel=cart] {
    transform: translateY(0) !important;
}

body > header button, 
body > header a._icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

#shopify-section-announcment-bar,
.announcement-bar,
.announcement-bar a {
    cursor: pointer;
}



/* Private Collection Header */
._menu.-main ul li._custom-private-link {
    display: inline-block;
    vertical-align: middle;
}

._menu.-main ul li._custom-private-link a {
    display: block;
    text-decoration: none;
    padding: 0 1.5rem;
    line-height: var(--header-height);
}

._menu.-main ul li._custom-private-link.-active a span {
    font-weight: bold;
}

/* Signup Form */
/* Styling for the Select dropdown to match standard text inputs */
.register ._form .field select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    
    width: 100%;
    border: 1px solid var(--c-steel-dark);
    font-size: 1.6rem;
    padding: .8rem 2.5rem .8rem 1.5rem;
    border-radius: 3px;
    font-family: var(--font-b);
    
    /* SET FIXED HEIGHT TO MATCH INPUT FIELDS */
    height: 3.2rem;
    
    /* Set default color to PRIMARY TEXT COLOR */
    color: var(--fbc-primary-text, var(--c-black)); 
    background-color: var(--fbc-white, var(--c-steel));
    line-height: 1;
    height: auto;
    min-height: 4rem; /* Adjusted slightly higher than calculated 3.2rem */
}

/* Forces Placeholder color for the initial/selected placeholder option */
.register ._form .field select option.select-placeholder {
    color: var(--c-steel-dark);
}

/* Positioning the custom SVG arrow */
.register ._form .field .svg-wrapper {
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 2;
    color: var(--c-steel-dark);
}

/* Ensure placeholder text in standard inputs matches the select text color */
._form.-full input::placeholder, 
._form.-full textarea::placeholder {
    color: var(--c-steel-dark);
    opacity: 1;
}

/* General Spacing & Label Consistency */
.register ._form fieldset label,
.register ._form .field label {
    display: block;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
    font-family: var(--font-b);
}

/* Positioning and Styling the Custom Arrow SVG */
.register ._form .field .svg-wrapper {
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 2;
    color: var(--c-steel-dark);
    
    /* CRITICAL FIX: Ensure the element is displayed */
    display: block !important; 
}

/* Color for Placeholder Text (Light Gray) */
.group-placeholder-active {
    color: var(--c-steel-dark) !important;
}

/* Color for Selected Value Text (Primary/Dark Text) */
.group-value-active {
    color: var(--fbc-primary-text, #15141A) !important;
}





/* Header Logo Placement Fix 12/12/2025 */

/* 1. The Container */
._wrapper.-middle {
  display: flex;
  align-items: center;
  /* Remove any justify-content you might have added before */
  justify-content: flex-start; 
}

/* 2. The Logo */
._brand {
  /* No special code needed, it sits on the left naturally */
}

/* 3. The Image (The Key Fix) */
.header-secondary-image {
  /* "Auto" margins soak up all available empty space and split it evenly */
  margin-left: auto;
  margin-right: auto;
  
  /* Reset these if you had them from the previous attempt */
  position: static; 
  transform: none;
}

/* 4. The Menu & Buttons */
._menu.-main {
  /* REMOVE 'margin-left: auto' if you added it previously. 
     The image is now doing the pushing. */
  margin-left: 0; 
}


/* Side cart Fix */
side-cart ._footer {
    margin-top: 2rem !important;      
    padding-bottom: 0.75rem !important; 
    height: auto !important;
    min-height: 14rem; 
}




/* WEBSITE DESIGN OVERHAUL FEB 13, 2026 */

/* Header */

.header-left {
    display: flex;
    align-items: center;
    flex: 1;
    justify-content: flex-start;
}

.header-center {
    display: flex;
    align-items: center;
    flex: 2;
    justify-content: center;
}

.header-right {
    display: flex;
    align-items: center;
    flex: 1;
    justify-content: flex-end;
}

._wrapper.-middle .header-secondary-image {
    margin-left: 2rem;
    margin-right: 0;
}

._menu.-main {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
}

._menu.-main > ul {
    justify-content: center;
}


/* --- FLOATING GLASS NAV (opt-in variant, Aug 2026) ---
   Toggled per-section via "Navigation style" in the Header section
   settings; default stays "Fixed (current)" so this never applies unless
   a merchant explicitly switches it on. Only overrides the header's
   container (position/shape/background) — fonts, icons, and the menu
   markup itself are untouched, they inherit the rules above as-is.
   Desktop insets the bar with `left:50%; transform:translateX(-50%)` to
   float it in whitespace; mobile (below) insets it directly via
   `top/left/right` instead, since it doesn't need the centering transform
   and a plain inset is one less thing for the slide-out menu (also
   floating now, see the mobile block below) to have to account for. */
@media screen and (min-width: 1101px) {
    body > header.-floating {
        left: 50%;
        right: auto;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        width: calc(100% - (var(--nav-inset, 18px) * 2));
        max-width: 1500px;
        top: var(--nav-inset, 18px);
        height: auto;
        border-radius: var(--nav-radius, 14px);
        background-image: none;
        background-color: rgba(255, 255, 255, 0.14);
        -webkit-backdrop-filter: blur(var(--nav-blur, 18px)) saturate(160%);
                backdrop-filter: blur(var(--nav-blur, 18px)) saturate(160%);
        border: 1px solid rgba(255, 255, 255, 0.28);
        /* Layered shadow: an ambient all-around pass first (0 0, tight
           negative spread) so the corners get the same coverage as the
           flat edges instead of a gap where the side/bottom shadows don't
           overlap, then side shadows (tight spread, so they hug the bar
           instead of smearing outward) give it an edge against a body
           background that's the same near-white tone, then a bottom
           shadow kept shallow/close rather than a big drop-shadow floating
           below it. */
        box-shadow:
            0 0 18px -8px rgba(0, 0, 0, 0.28),
            -8px 0 20px -11px rgba(0, 0, 0, 0.3),
             8px 0 20px -11px rgba(0, 0, 0, 0.3),
             0 6px 14px -8px rgba(0, 0, 0, 0.32),
             inset 0 1px 0 rgba(255, 255, 255, 0.25);
        padding: 0.9rem 2rem;
        transition: background-color 250ms ease-in-out, border-color 250ms ease-in-out,
                    box-shadow 250ms ease-in-out, padding 200ms ease-in-out, top 200ms ease-in-out;
    }

    body > header.-floating.scrolled {
        background-color: rgba(255, 255, 255, 0.72);
        border-color: rgba(255, 255, 255, 0.55);
        box-shadow:
            0 0 14px -6px rgba(0, 0, 0, 0.18),
            -8px 0 18px -10px rgba(0, 0, 0, 0.2),
             8px 0 18px -10px rgba(0, 0, 0, 0.2),
             0 5px 12px -7px rgba(0, 0, 0, 0.22),
             inset 0 1px 0 rgba(255, 255, 255, 0.5);
        padding: 0.4rem 1.75rem;
        height: auto;
    }

    /* Scrolled text/icon colors already flip to var(--c-black) via the
       existing ".scrolled" rules above — the glass background just needs
       to be light enough for that to keep reading clearly, which the
       0.72 opacity above provides. */
}

/* Mobile counterpart (Aug 2026 revision): now genuinely floats — a small
   inset off the top and both sides (half the desktop "Floating: edge
   inset" setting, since the bar itself is already tighter on mobile) with
   matching rounded corners on all four sides, instead of the old
   edge-to-edge "just the bottom corners rounded" bar. `top`/`left`/`right`
   move the box itself rather than transform-centering it, so there's no
   containing-block side effect for descendants to worry about — the
   mobile slide-out menu just needs its own floating treatment below,
   which it gets. */
@media screen and (max-width: 1100px) {
    body > header.-floating {
        top: calc(var(--nav-inset, 18px) / 2);
        left: calc(var(--nav-inset, 18px) / 2);
        right: calc(var(--nav-inset, 18px) / 2);
        width: auto;
        background-image: none;
        background-color: rgba(255, 255, 255, 0.14);
        -webkit-backdrop-filter: blur(var(--nav-blur, 18px)) saturate(160%);
                backdrop-filter: blur(var(--nav-blur, 18px)) saturate(160%);
        border: 1px solid rgba(255, 255, 255, 0.28);
        border-radius: var(--nav-radius, 14px);
        box-shadow:
            0 0 14px -7px rgba(0, 0, 0, 0.26),
            -6px 0 16px -10px rgba(0, 0, 0, 0.28),
             6px 0 16px -10px rgba(0, 0, 0, 0.28),
             0 6px 14px -9px rgba(0, 0, 0, 0.3),
             inset 0 1px 0 rgba(255, 255, 255, 0.25);
        transition: background-color 250ms ease-in-out, border-color 250ms ease-in-out,
                    box-shadow 250ms ease-in-out;
    }

    body > header.-floating.scrolled {
        background-color: rgba(255, 255, 255, 0.72);
        border-color: rgba(255, 255, 255, 0.55);
        box-shadow:
            0 0 12px -6px rgba(0, 0, 0, 0.16),
            -6px 0 14px -9px rgba(0, 0, 0, 0.18),
             6px 0 14px -9px rgba(0, 0, 0, 0.18),
             0 5px 12px -8px rgba(0, 0, 0, 0.2),
             inset 0 1px 0 rgba(255, 255, 255, 0.5);
    }

    /* The slide-out menu is a `position: absolute` descendant of <header>
       (already `position: fixed`, so already its containing block) — swap
       its old `width: 100vw; left: 0` (sized to match the edge-to-edge
       "Fixed" bar) for `left/right: 0; width: auto`, which instead matches
       whatever box <header> actually has, inset included. Dropped down a
       small gap below the bar's own live-measured height (--nav-height, see
       wusa-header.liquid) rather than the fixed rem offsets tuned for the
       old, much taller header, and given the same glass/blur/radius
       treatment so it reads as part of the same floating system instead of
       an old-style edge-to-edge white sheet. */
    body > header.-floating ._menu.-main.-show {
        top: calc(100% + var(--nav-gap, 10px)) !important;
        left: 0;
        right: 0;
        width: auto;
        background-color: rgba(255, 255, 255, 0.88);
        -webkit-backdrop-filter: blur(var(--nav-blur, 18px)) saturate(160%);
                backdrop-filter: blur(var(--nav-blur, 18px)) saturate(160%);
        border: 1px solid rgba(255, 255, 255, 0.5);
        border-radius: var(--nav-radius, 14px);
        overflow: hidden;
        filter: none;
        box-shadow:
            0 0 14px -7px rgba(0, 0, 0, 0.22),
            0 10px 26px -12px rgba(0, 0, 0, 0.3),
            inset 0 1px 0 rgba(255, 255, 255, 0.4);
    }
}


/* --- FLOATING AUDIENCE SELECTOR (Home / Business), Aug 2026 ---
   A small persistent pill docked just under the navbar — NOT part of it —
   that lets visitors switch between the two site journeys. It's a child
   of `header` (already `position: fixed`), so `top: 100%` anchors it
   exactly to the header's own live-rendered box in both the fixed bar and
   floating-glass nav variants, with no separate height tracking needed.
   The inner ._wrapper reuses the exact same max-width/centering/padding
   system the nav content uses, so the pill's right edge lines up with the
   header-right icons automatically at every viewport width instead of
   needing its own breakpoint math. */
._audience-dock {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1;
    pointer-events: none; /* re-enabled on the pill itself below */
}

._audience-dock ._wrapper {
    padding-top: 0;
    padding-bottom: 0;
    pointer-events: none;
}

._audience-selector {
    position: relative; /* anchors the ._audience-thumb drag knob (see below) */
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: rgba(31, 31, 30, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.22);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
            backdrop-filter: blur(18px) saturate(160%);
    box-shadow:
        0 10px 24px -10px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
    cursor: grab;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none; /* dragging shouldn't also select the labels */
    touch-action: pan-y; /* horizontal movement drives the switch; vertical page scroll still works */
}

._audience-selector.-dragging {
    cursor: grabbing;
}

/* The knob that follows the pointer while dragging, on both the mobile
   (icon-only/label) and desktop (label/label) layouts — it's sized and
   positioned in JS from the real/target option's own getBoundingClientRect,
   so it always matches whatever size that side happens to be at the
   current breakpoint instead of needing its own breakpoint math. */
._audience-thumb {
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 2px 10px -2px rgba(0, 0, 0, 0.3);
    pointer-events: none;
    z-index: 0;
    transition: left 220ms cubic-bezier(0.2, 0.8, 0.2, 1), width 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

._audience-thumb.-instant {
    transition: none; /* 1:1 with the pointer while actively dragging */
}

/* While the thumb exists it's the only thing rendering the "active" pill —
   suppress the real button's own background so the two don't double up. */
._audience-selector.-dragging ._audience-option.-active {
    background: transparent;
    box-shadow: none;
}

/* Sized to roughly match the header's own icons (1.8rem / ~29px tall,
   see `body > header a._icon svg`) rather than the larger pill this
   started as. */
._audience-option {
    position: relative; /* stays above the absolutely-positioned ._audience-thumb */
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 999px;
    font-family: var(--font-b);
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.68);
    background: transparent;
    white-space: nowrap;
    transition: background-color 200ms ease, color 200ms ease, box-shadow 200ms ease;
}

._audience-option:hover {
    color: rgba(255, 255, 255, 0.92);
}

._audience-option.-active {
    background: rgba(255, 255, 255, 0.96);
    color: var(--c-nordic);
    box-shadow: 0 2px 10px -2px rgba(0, 0, 0, 0.3);
}

._audience-option.-active:hover {
    color: var(--c-nordic);
}

/* The homepage variant renders these as real <button> elements (state
   toggle, not navigation) — strip native button chrome so they read
   identically to the <a> version used everywhere else. */
._audience-option {
    border: none;
    background: transparent;
    -webkit-appearance: none;
            appearance: none;
    font: inherit;
    cursor: pointer;
}

._audience-option:focus-visible {
    outline: 3px solid var(--c-himmel);
    outline-offset: 3px;
}

._audience-option ._icon {
    margin-left: 0; /* override `body > header ._icon`'s 2rem left margin,
                        which is meant for the header's search/cart/account
                        icons and otherwise shoves this icon off-center. */
}

/* Icon/text switch (Aug 2026 revision, now universal at every width — this
   used to only kick in below 1100px, with desktop keeping both sides as
   full text labels; the two are now the same control everywhere). The
   INACTIVE side collapses to just its icon (house/briefcase) and the
   ACTIVE side keeps its text label, so the control reads as "you're here,
   tap to switch" instead of two equal-weight buttons — and the pill's
   total width shrinks by whatever the inactive label used to cost.
   ._label stays in the DOM at width 0 rather than display:none, so screen
   readers still announce it even while collapsed. */
._audience-selector {
    margin-top: 8px; /* was 16px — this used to be the desktop-only value;
                 now that the pill is the same compact control at every
                 width, it always sits close under the nav. */
    padding: 3px; /* was 2px — with the icon side now a locked square
                 (see below), it needs a bit more clearance from the
                 pill's own rounded outer edge or its flat corner reads
                 as poking past the curve. */
    gap: 6px; /* was 1px — too tight once one side is an icon with no
                 background of its own; it visually ran into the active
                 pill's rounded edge instead of reading as two separate
                 buttons. */
}
/* Fixed height + line-height so the collapsed (icon) and expanded
   (text) states are exactly the same height as each other — only the
   WIDTH is meant to change between them. That's also the ceiling for
   "don't make the pill bigger": font-size can grow for legibility as
   long as it still fits this box, but the box itself doesn't.
   flex-shrink: 0 keeps both sides at their intended size instead of
   the inline-flex parent squeezing them when space is tight — without
   it the active side's label box could shrink narrower than its own
   text, so the label spilled outward past the pill (or into the icon
   button) instead of the container simply sizing to fit. */
._audience-option {
    box-sizing: border-box; /* locks the box at exactly 24px total even if
                     padding/border ever change, so align-items: center
                     above always has the same fixed height to center
                     against on both sides of the pill. */
    height: 24px;
    padding: 0 10px;
    font-size: 12px;
    line-height: 1; /* was 24px — a line-height equal to the box height
                     creates a full-height line box, and most fonts don't
                     split their leading evenly above/below the glyphs, so
                     the text reads as vertically off-center even though
                     the line box itself is centered. line-height: 1 keeps
                     the line box close to the glyphs' own metrics and lets
                     align-items: center on the flex row do the actual
                     centering, for both the label and the icon. */
    flex-shrink: 0;
    transition: background-color 200ms ease, color 200ms ease, box-shadow 200ms ease, width 220ms ease, padding 220ms ease;
}
._audience-option ._icon {
    display: block; /* was inline-flex — an SVG has no children to lay out
                     as flex items, and leaving it as an inline-level
                     replaced element ties its box to font/line metrics
                     (baseline, ascent/descent) instead of pure box model,
                     which is what let it drift up or down depending on
                     the icon. display: block plus align-self below makes
                     its vertical position depend only on the flex row's
                     centering, same as the label. */
    align-self: center;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}
._audience-option.-active ._icon {
    display: none;
}
._audience-option ._label {
    display: inline-block;
    align-self: center;
    overflow: hidden;
    max-width: 120px;
    margin-left: 6px;
    opacity: 1;
    white-space: nowrap;
    transition: max-width 220ms ease, opacity 150ms ease, margin-left 220ms ease;
}
._audience-option:not(.-active) ._label {
    max-width: 0;
    margin-left: 0;
    opacity: 0;
}
/* Icon-only side: a square, not a shrunken version of the text pill.
   No horizontal padding to "breathe" against since there's no label —
   width is pinned to the same 24px as the fixed height, and the icon
   (14px) centers inside it via the flex centering already set on
   ._audience-option, so it reads as a round icon button, not an oval.
   flex: 0 0 24px (rather than just width) plus aspect-ratio: 1 pins
   both dimensions together so the flex parent can never stretch or
   squeeze one axis independently of the other — the box stays a true
   1:1 square at every width instead of drifting into an oval. */
._audience-option:not(.-active) {
    flex: 0 0 24px;
    width: 24px;
    aspect-ratio: 1;
    padding: 0;
}
/* The inner side of each icon already has the pill's own 6px `gap`
   separating it from the active label button — but the outer side
   (against the pill's own rounded edge) had nothing, so the icon read
   as flush left on the Home side / flush right on the Business side.
   Add that same 6px on the outer edge only, growing the box past its
   24px square (aspect-ratio no longer applies once the two sides
   differ) so the icon itself doesn't shrink or recenter. */
._audience-option:first-child:not(.-active) {
    flex: 0 0 30px;
    width: 30px;
    aspect-ratio: auto;
    padding-left: 6px;
}
._audience-option:last-child:not(.-active) {
    flex: 0 0 30px;
    width: 30px;
    aspect-ratio: auto;
    padding-right: 6px;
}

/* Homepage-only variant: same pill, but it toggles the Split Hero's state
   instead of navigating (see the buttons in wusa-header.liquid). Hidden at
   every width — on mobile the Split Hero's own collapsed-strip toggle
   already covers this same Home/Business decision, so a second copy of it
   floating under the header is redundant; on desktop the hero's hover
   choreography handles it. The plain (non-homepage) dock below has no such
   rule, so it keeps showing on every other page at every width. */
._audience-dock.-index {
    display: none;
}


/* Hero Page */

section.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
}

section.hero ._section {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 0;
}

section.hero ._heroslider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

section.hero ._wrapper {
    position: relative;
    z-index: 1;
    width: 100%;
}



/* Typography */


body {
    font-weight: 300; /* Light weight for all body text */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Navigation - Thin and spaced out */
._menu.-main > ul a {
    font-size: 1.2rem;
    font-weight: 300; /* Thin nav */
    letter-spacing: 0.2rem;
    text-transform: uppercase;
}

/* Hero Section - The "Extra Thin" look */
section.hero h1._title {
    font-size: 5.8rem;
    font-weight: 200; /* Extra-light headline */
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--c-steel);
}

section.hero ._content {
    font-size: 1.6rem;
    font-weight: 300;
    letter-spacing: 0.03em;
    opacity: 0.9;
}

/* Content Headlines */
h2._title {
    font-size: 3.4rem;
    font-weight: 200; /* Extra-light section titles */
    text-transform: uppercase;
    letter-spacing: 0.2rem;
    padding-bottom: 2rem;
}

/* Buttons - Slightly bolder for usability, but still clean */
._button {
    font-size: 1.3rem;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0.05em;
    padding: 1.4rem 3.5rem;
    border: 1px solid rgba(255,255,255,0.3); /* Thin border look */
}

/* Global Paragraphs */
._content p, p {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.8;
    color: rgba(0, 0, 0, 0.75);
}


/* ==========================================================
   DESKTOP MEGA MENU (Only applies to screens 1100px and up)
   ========================================================== */
@media (min-width: 1100px) {

    /* 1. Global Dropdown Resets: Mirrors the real nav bar's box exactly.
       The header has a `transform` on it in the "floating" pill variant
       (translateX for centering), and per spec that makes the header's own
       padding box the containing block for any `position: fixed`
       descendant — including this dropdown — instead of the viewport. That
       means `left: 0; width: 100%` isn't a guess, it resolves to "exactly
       the header's own box" automatically in both variants: when the header
       isn't transformed (the plain edge-to-edge "fixed" bar), the
       containing block falls back to the viewport, which the header also
       spans 0–100% of. Either way the dropdown's left/right edges land
       exactly on the nav bar's, with no separate width/left math to keep in
       sync. --nav-height (set from wusa-header.liquid, measuring the live
       header) and --nav-menu-radius carry over the one thing the containing
       block trick *doesn't* give us for free: how tall the header actually
       renders, and its corner radius. --nav-gap sits the dropdown a few
       pixels below the header so the two don't read as one fused block. */
    ._menu:not(.-show) ._mega,
    ._menu:not(.-show) ._submenu {
        position: fixed !important;
        top: calc(var(--nav-height, 90px) + var(--nav-gap, 10px)) !important;
        left: 0 !important;
        width: 100% !important;
        background-color: var(--c-steel) !important;
        /* Same layered recipe as the nav bar above (ambient corner fill +
           side hug + a close, shallow bottom shadow) instead of the old
           single soft "0 15px 35px @ 0.05" pass — that read as detached
           from the header floating far below it; this keeps the panel
           grounded right under the bar it drops from. */
        box-shadow:
            0 0 16px -7px rgba(0, 0, 0, 0.16),
            -6px 0 16px -10px rgba(0, 0, 0, 0.16),
             6px 0 16px -10px rgba(0, 0, 0, 0.16),
             0 8px 16px -10px rgba(0, 0, 0, 0.22) !important;
        padding: 2rem 0 !important;
        border-radius: var(--nav-menu-radius, 0px) !important;
        transform: translateY(-10px);
        transition: opacity 150ms ease, transform 150ms ease !important;
    }

    /* 2. Invisible Hover Bridge: fills the header + gap above the dropdown
       (same calc used for `top` above) so the mouse never leaves the li's
       hover/focus-within area while crossing from the nav buttons down into
       the mega menu — it can't close before you've had a chance to browse it. */
    ._menu:not(.-show) ._mega::before,
    ._menu:not(.-show) ._submenu::before {
        content: "";
        display: block;
        position: absolute;
        top: calc(-1 * (var(--nav-height, 90px) + var(--nav-gap, 10px)));
        left: 0;
        width: 100%;
        height: calc(var(--nav-height, 90px) + var(--nav-gap, 10px));
        background: transparent;
        z-index: 99;
    }

    /* 3. Trigger Animations: Shows menu on hover/focus */
    ._menu:not(.-show).-main > ul li:hover ._mega,
    ._menu:not(.-show).-main > ul li:hover ._submenu,
    ._menu:not(.-show).-main > ul li:focus-within ._mega,
    ._menu:not(.-show).-main > ul li:focus-within ._submenu {
        transform: translateY(0);
        opacity: 1;
        pointer-events: all;
    }

    /* 5. Hide Old Theme Assets: Removes old tooltip triangles */
    ._menu:not(.-show) ._mega > ul ._tip,
    ._menu:not(.-show) ._submenu > ul ._tip {
        display: none !important;
    }

    /* 6. Base Container Layout: Sets up the Sidebar + Grid structure */
    ._menu:not(.-show) ._mega > ul,
    ._menu:not(.-show) ._submenu > ul {
        display: block !important; 
        position: relative !important;
        background: transparent !important;
        box-shadow: none !important;
        max-width: 1400px;
        width: 100%;
        margin: 0 auto;
        padding: 0 !important;
        min-height: 400px !important;
    }

    /* 7. Category Sidebar (Left Column): Locks width to 320px */
    ._menu:not(.-show) ._mega > ul > li,
    ._menu:not(.-show) ._submenu > ul > li {
        width: 320px !important;
        background-color: transparent !important;
        border-right: 1px solid var(--c-steel-dark) !important;
        position: static !important;
    }

    /* 8. Category Links: Styling and hover states for the left sidebar */
    ._menu:not(.-show) ._mega > ul > li > a,
    ._menu:not(.-show) ._submenu > ul a {
        color: var(--c-black) !important;
        font-weight: 500 !important; 
        font-size: 1.3rem !important;
        letter-spacing: 0.1rem;
        padding: 1.5rem 2rem !important;
        border-bottom: 1px solid rgba(0,0,0,0.03) !important;
        border-left: 3px solid transparent !important;
        margin-bottom: 0 !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        transition: background-color 150ms ease, border-left-color 150ms ease !important;
    }

    ._menu:not(.-show) ._mega > ul > li:hover > a,
    ._menu:not(.-show) ._submenu > ul > li:hover > a {
        background-color: var(--c-steel) !important;
        border-left-color: var(--c-cardinal) !important;
        color: var(--c-cardinal) !important;
    }

    /* Keep parent category arrows pointing right */
    ._menu:not(.-show) ._mega > ul > li > a._arrow ._icon,
    ._menu:not(.-show) ._submenu > ul a._arrow ._icon {
        display: block !important;
        position: static !important;
        transform: rotate(0deg) !important;
        margin-left: 1rem;
    }

    /* 9. Product Panel (Right Area): Anchors grid next to the 320px sidebar */
    ._menu:not(.-show) ._mega > ul ul {
        display: none !important; 
        position: absolute !important;
        top: 0 !important;
        left: 320px !important;
        right: auto !important;
        width: calc(100% - 270px) !important; 
        height: 100% !important; 
        background: transparent !important;
        padding: 0 4rem !important;
        pointer-events: none !important;
        opacity: 0;
        transform: none !important;
        animation: fadePanel 200ms ease forwards;
    }

    @keyframes fadePanel {
        from { opacity: 0; }
        to { opacity: 1; }
    }

    /* 10. Product Grid Reveal: Tightly packs 240px columns when hovered */
    ._menu:not(.-show) ._mega > ul > li:hover ul {
        display: grid !important;
        grid-template-columns: repeat(auto-fill, 240px) !important;
        grid-auto-rows: min-content;
        gap: 1.5rem 2rem !important;
        justify-content: start !important;
        align-content: start !important;
        pointer-events: all !important;
    }

    /* 11. Individual Product Links: Keeps text/images aligned safely in a row */
    ._menu:not(.-show) ._mega > ul ul li {
        padding: 0 !important;
        background: transparent !important;
        width: 100% !important;
    }

    ._menu:not(.-show) ._mega > ul ul a {
        color: rgba(0, 0, 0, 0.8) !important;
        font-weight: 400 !important;
        font-size: 1.3rem !important;
        padding: 1rem !important;
        border-radius: 0 !important;
        text-transform: capitalize !important;
        letter-spacing: 0.02rem;
        border: 1px solid transparent !important;
        transition: all 150ms ease !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        width: 100% !important;
        gap: 1.5rem !important;
    }

    ._menu:not(.-show) ._mega > ul ul a:hover {
        color: var(--c-cardinal) !important;
        border-color: var(--c-steel-dark) !important;
        background-color: var(--c-steel) !important;
    }

    ._menu:not(.-show) ._mega > ul ul a img {
        width: 50px !important;
        height: 50px !important;
        object-fit: contain;
        background: transparent;
        border-radius: 0 !important;
        margin: 0 !important; 
        flex-shrink: 0 !important;
    }

    ._menu:not(.-show) ._mega > ul ul a span {
        flex-grow: 1 !important;
        text-align: left !important;
    }

    /* 12. Limit Products & "View All" Button: Caps display at 12 items */
    ._menu:not(.-show) ._mega > ul ul li:nth-child(n+13) {
        display: none !important;
    }

    ._menu:not(.-show) ._mega > ul ul li:last-child {
        display: block !important; 
        grid-column: 1 / -1; 
        margin-top: 1rem !important;
        border-top: 1px solid var(--c-steel-dark) !important;
        padding-top: 2rem !important;
        max-width: 1000px !important;
    }

    ._menu:not(.-show) ._mega > ul ul li:last-child a {
        background-color: var(--c-black) !important; 
        color:var(--c-steel) !important;
        font-weight: 500 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.15rem;
        justify-content: center !important; 
        padding: 1.2rem 3rem !important;
        display: inline-flex !important;
        width: auto !important;
        border: none !important;
    }

    ._menu:not(.-show) ._mega > ul ul li:last-child a:hover {
        background-color: var(--c-cardinal) !important;
        color: var(--c-steel) !important;
    }

    /* 13. Default Featured Images: Pinned to the right, hidden when products appear */
    ._menu:not(.-show) ._mega .dropdown-featured-images,
    ._menu:not(.-show) ._submenu .dropdown-featured-images {
        position: absolute !important;
        top: 0 !important;
        right: 4rem !important;
        left: auto !important;
        height: 100% !important;
        display: flex !important;
        gap: 3rem !important;
        align-items: center !important;
        justify-content: flex-end !important;
        transition: opacity 200ms ease-in-out !important;
        pointer-events: none !important;
        z-index: 1 !important;
    }

    ._menu:not(.-show) ._mega .dropdown-featured-images img,
    ._menu:not(.-show) ._submenu .dropdown-featured-images img {
        width: 320px !important;
        height: 240px !important;
        object-fit: cover !important;
        border-radius: 0 !important;
        border: 1px solid rgba(0,0,0,0.05) !important;
    }

    ._menu:not(.-show) ._mega > ul > li:has(ul):hover ~ .dropdown-featured-images,
    ._menu:not(.-show) ._submenu > ul > li:has(ul):hover ~ .dropdown-featured-images {
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /* 14. Sleek Arrow Logic: Replaces SVG styling and controls hover animations */
    ._menu:not(.-show) ._mega ._icon.-sleek-arrow,
    ._menu:not(.-show) ._submenu ._icon.-sleek-arrow {
        width: 8px !important;
        height: 12px !important;
        display: block !important;
        position: static !important;
        transition: transform 200ms ease;
        stroke: currentColor; 
    }

    ._menu:not(.-show) ._mega > ul > li:hover > a ._icon.-sleek-arrow {
        transform: rotate(90deg) !important;
    }

    ._menu:not(.-show) ._mega > ul ul a ._icon.-sleek-arrow {
        display: block !important;
        opacity: 0 !important;
        transform: translateX(-10px);
        transition: all 200ms ease-in-out !important;
        margin-left: auto !important;
        flex-shrink: 0 !important;
    }

    ._menu:not(.-show) ._mega > ul ul a:hover ._icon.-sleek-arrow {
        opacity: 1 !important;
        transform: translateX(0);
        color: var(--c-cardinal) !important;
    }

    /* 15. Main Navigation Top-Level Links Hover Effect (Bottom Line ONLY) */
    body > header ._menu.-main > ul > li > a {
        position: relative !important;
    }

    body > header ._menu.-main > ul > li > a::after {
        content: "" !important;
        position: absolute !important;
        bottom: -4px !important; 
        left: 0 !important;
        width: 100% !important;
        height: 3px !important;
        background-color: var(--c-cardinal) !important;
        transform: scaleX(0) !important; /* Hides the line initially */
        transform-origin: center !important; 
        transition: transform 90ms ease-in-out !important;
    }

    body > header ._menu.-main > ul > li:hover > a::after {
        transform: scaleX(1) !important; 
    }

    /* 16. Navbar Text Color (White when at top, defaults to theme dark when scrolled) */
    body > header.header:not(.scrolled) ._menu.-main > ul > li > a,
    body > header.header:not(.scrolled) ._menu.-main > ul > li > a span,
    body > header.header:not(.scrolled) ._menu.-main > ul > li > span {
        color: #ffffff !important;
    }

	body > header ._menu.-main > ul > li.-dropdown::after {
		display: none !important;
		content: none !important;
	}

} 
/* END OF DESKTOP MEGA MENU */


/* ==========================================================
   MOBILE MENU FIXES (Hide Images & Redundant Arrows)
   ========================================================== */
@media screen and (max-width: 1100px) {
    ._menu.-main.-show .dropdown-featured-images,
    ._menu.-main.-show img,
    ._menu.-main.-show ._icon.-sleek-arrow {
        display: none !important;
    }

    ._menu.-main.-show {
        height: auto !important;
        max-height: calc(100vh - 75px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain;
        padding-bottom: 0 !important;
        background-color: #ffffff !important;
    }

    ._menu.-main.-show > ul > li > a,
    ._menu.-main.-show > ul > li > a span {
        font-size: 1.4rem !important;
        font-weight: 600 !important;
        letter-spacing: 0.1em !important;
    }

    ._menu.-main.-show > ul > li > nav > ul > li > a,
    ._menu.-main.-show > ul > li > nav > ul > li > a span {
        font-size: 1.4rem !important;
        font-weight: 300 !important;
        letter-spacing: 0.1em !important;
    }

    ._menu.-main.-show > ul > li > nav > ul ul a,
    ._menu.-main.-show > ul > li > nav > ul ul a span {
        font-size: 1.4rem !important;
        font-weight: 300 !important;
        letter-spacing: 0.05em !important;
    }

    ._menu.-main.-show a span {
        white-space: normal !important;
        display: block !important;
        width: 100% !important;
        line-height: 1.3 !important; 
        padding-right: 2rem !important;
    }

    ._menu.-main.-show a {
        height: auto !important;
        align-items: flex-start !important; 
        padding-top: 1.2rem !important;
        padding-bottom: 1.2rem !important;
    }
}

@media screen and (max-width: 768px) {
    .mobile-menu-drawer,
    .menu-drawer__inner-container,
    ._mobile-menu {
        height: auto !important;
        min-height: fit-content !important;
        padding-bottom: 0 !important;
        background-color: #ffffff !important;
    }
  
    .menu-drawer__utility-links:empty,
    .mobile-menu-footer:empty {
        display: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

/* ==========================================================
   MODERN 4-COLUMN FOOTER (W3 INSPIRATION)
   ========================================================== */
._footer-modern {
    position: relative;
    padding: 7rem 0 3rem; 
    color: #ffffff;
    font-family: var(--font-b);
    border-top: 1px solid rgba(255,255,255,0.05);
}

/* Semi-transparent overlay to ensure text is readable over your image */
._footer-modern .footer-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0, 0, 0, 0.6); /* Slightly darker for better contrast */
    z-index: 1;
}

._footer-modern .footer-wrapper-inner {
    position: relative;
    z-index: 2;
}

/* 4-Column Strict Grid Layout */
.footer-main-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1.2fr 1.5fr; 
    gap: 4rem;
    width: 100%;
}

.footer-col {
    display: flex;
    flex-direction: column;
}

/* Base Heading Styles */
._footer-modern h4,
._footer-modern h2 {
    color: #ffffff;
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom: 2.5rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: var(--font-h);
    line-height: 1.4;
}

/* -- COLUMN 1: Brand & Socials -- */
.footer-col-brand {
    align-items: flex-start;
}

.footer-logo-row {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 3.5rem; 
}

.footer-logo-row ._brand {
    max-width: 180px;
}

.footer-logo-row .footer-badge {
    max-width: 60px;
    height: auto;
}

._social-modern {
    display: flex;
    gap: 1.5rem;
}

._social-modern a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 5px; /* Boxy aesthetic matching the inspiration */
    transition: background-color 200ms ease, transform 200ms ease;
}

._social-modern a:hover {
    background-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}

._social-modern a svg {
    width: 1.8rem;
    height: 1.8rem;
    stroke: #ffffff;
}

/* -- COLUMNS 2 & 3: Menus & Contact -- */
.footer-col-menu nav {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.footer-col-menu nav a {
    color: rgba(255, 255, 255, 0.6);
    font-size: 1.4rem;
    text-decoration: none;
    transition: color 200ms ease;
}

.footer-col-menu nav a:hover {
    color: #ffffff;
}

.footer-info-nav {
    margin-bottom: 3rem; /* Space between menu and contact block */
}

.footer-contact-info {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.footer-contact-info a,
.footer-contact-info p,
.footer-contact-info address {
    display: block;
    color: rgba(255, 255, 255, 0.6);
    font-size: 1.3rem;
    margin: 0;
    font-style: normal;
    text-decoration: none;
    transition: color 200ms ease;
    line-height: 1.6;
}

.footer-contact-info strong {
    color: #ffffff;
    font-weight: 500;
}

.footer-contact-info a:hover {
    color: #ffffff;
}

/* -- COLUMN 4: Newsletter -- */
._modern-subscribe {
    display: flex;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.15);
    border-radius: 5px; /* Matched the boxy aesthetic */
    padding: 0.5rem;
    margin-bottom: 3.5rem; 
    border: 1px solid transparent;
    transition: border 200ms ease;
    backdrop-filter: blur(10px); 
    max-width: 350px;
}

._modern-subscribe:focus-within {
    border: 1px solid rgba(255,255,255,0.4);
}

._modern-subscribe input {
    flex-grow: 1;
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
    font-size: 1.4rem;
    padding: 1rem 1.5rem;
    outline: none;
    box-shadow: none !important;
}

._modern-subscribe input::placeholder {
    color: rgba(255, 255, 255, 0.6);
}

._modern-subscribe button {
    background: transparent;
    border: none;
    color: #ffffff;
    padding: 0 1.5rem;
    cursor: pointer;
    transition: transform 200ms ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

._modern-subscribe button:hover {
    transform: translateX(4px) translateY(-4px);
    color: var(--c-cardinal);
}

/* -- ROW 2: Bottom Legal & Copyright -- */
.footer-bottom-row {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 6rem;
    padding-top: 3rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1); /* Subtle divider line */
}

.footer-bottom-row p,
.footer-bottom-row a,
.footer-separator {
    color: rgba(255, 255, 255, 0.6);
    font-size: 1.3rem;
    text-decoration: none;
    transition: color 200ms ease;
    margin: 0;
}

.footer-bottom-row a:hover {
    color: #ffffff;
}

.footer-bottom-row p {
    margin-right: 0.5rem;
}

/* Highlight brand text in copyright (optional) */
.footer-bottom-row p {
    color: rgba(255, 255, 255, 0.5);
}

/* Location Subheading */
/* Tightens the gap for the Location subheading */
._footer-modern h4.footer-subheading,
._footer-modern h2.footer-subheading {
    margin-top: 1.5rem; 
    margin-bottom: 0.5rem; 
    font-size: 1.4rem; 
    color: rgba(255, 255, 255, 0.8);
}

/* Ensures the address matches the exact color and font size of the links above it */
.footer-contact-info address {
    font-style: normal;
    color: rgba(255, 255, 255, 0.6);
    font-size: 1.4rem; 
    line-height: 1.6;
    margin: 0;
}

/* -- Responsive Behavior -- */
@media screen and (max-width: 1024px) {
    .footer-main-grid {
        grid-template-columns: repeat(2, 1fr); /* 2x2 grid on tablets */
        gap: 5rem 3rem;
    }
}

@media screen and (max-width: 650px) {
    .footer-main-grid {
        grid-template-columns: 1fr; /* 1 column stack on mobile */
        gap: 5rem;
    }
    .footer-logo-row { flex-direction: column; align-items: flex-start; }
    ._footer-modern { padding: 5rem 0 3rem; }
    .footer-bottom-row {
        flex-direction: column;
        text-align: center;
        gap: 1.5rem;
    }
    .footer-separator {
        display: none; /* Hide dividers on mobile stack */
    }
}

/* END OF FOOTER  */


/* ==========================================================
   CART FIXES (Images, Qty Layout, Spinners, Close Button)
   ========================================================== */

/* 1. Reduce Image Size in both carts */
main-cart ._item > a, 
side-cart ._item > a {
    width: 100px !important; 
    flex-shrink: 0 !important;
    margin: 0 !important;
}

main-cart ._item ._details, 
side-cart ._item ._details {
    width: calc(100% - 100px) !important;
    padding-left: 2.5rem !important;
}

/* 2. Main Cart ONLY - Right Align QTY */
main-cart ._item ._details {
    display: grid !important;
    grid-template-columns: 1fr auto !important; 
    grid-template-rows: auto auto auto 1fr !important;
    align-items: start !important;
    row-gap: 0.5rem !important;
}

main-cart ._item ._details h4,
main-cart ._item ._details h3,
main-cart ._item ._details dl,
main-cart ._item ._details ._actions {
    grid-column: 1 !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

/* Targets Titles in both Main and Side Cart */
main-cart ._item ._details h3, 
main-cart ._item ._details h3 a,
side-cart ._item ._details h3, 
side-cart ._item ._details h3 a {
    /* Change 'var(--c-cardinal)' to your desired color code (e.g., #000000) */
    color: var(--c-black) !important; 
    font-weight: 400 !important;
    transition: opacity 200ms ease !important;
}

/* Adds a subtle fade effect on hover */
main-cart ._item ._details h3 a:hover,
side-cart ._item ._details h3 a:hover {
    opacity: 0.7 !important;
    color: var(--c-cardinal) !important;
}

main-cart ._item ._details ._actions {
    align-self: end !important;
    margin-top: 1rem !important;
}

main-cart ._item ._details ._mods {
    grid-column: 2 !important;
    grid-row: 1 / span 4 !important; /* Spans all rows so it docks to the top right */
    justify-self: end !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
}

/* Ensure Side Cart stays stacked */
side-cart ._item ._details {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}
side-cart ._item ._details ._mods {
    margin: 1rem 0 !important;
    width: 100% !important;
}

/* 3. Modern Sleek Exit Button for Side Cart */
side-cart > button[rel=close] {
    position: absolute !important;
    top: 2rem !important;
    right: 2rem !important;
    z-index: 2 !important;
    border: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 3.5rem !important;
    font-family: var(--font-b) !important;
    font-weight: 300 !important; /* Thinner, sleeker 'X' */
    color: var(--c-nordic) !important;
    width: 4rem !important;
    height: 4rem !important;
    background: transparent !important; /* Removes the red circle */
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: transform 300ms ease-in-out, color 300ms ease-in-out !important;
}

side-cart > button[rel=close]:hover, 
side-cart > button[rel=close]:focus {
    color: var(--c-cardinal) !important;
    transform: rotate(90deg) !important; /* Elegant hover rotation */
    background: transparent !important;
    box-shadow: none !important;
}

/* 4. Hide QTY Spinners / Arrows Globally */
bb-qty input::-webkit-outer-spin-button,
bb-qty input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    display: none !important;
    margin: 0 !important;
}

bb-qty input[type="number"], 
bb-qty input {
    -moz-appearance: textfield !important;
    appearance: none !important;
}

/* Mobile Adjustments (Keeps mobile carts clean) */
@media screen and (max-width: 500px) {
    main-cart ._item > a,
    side-cart ._item > a {
        width: 80px !important;
    }
    main-cart ._item ._details,
    side-cart ._item ._details {
        width: calc(100% - 80px) !important;
        padding-left: 1.5rem !important;
    }
    
    /* Revert main cart to stacked layout on tiny mobile screens */
    main-cart ._item ._details {
        grid-template-columns: 1fr !important;
    }
    main-cart ._item ._details ._mods {
        grid-column: 1 !important;
        grid-row: auto !important;
        justify-self: start !important;
        align-items: flex-start !important;
        margin-top: 1rem !important;
    }
}

/* ==========================================================
   QUANTITY SELECTOR FIX (Uniform Height & Borders)
   ========================================================== */

/* 1. The Main Wrapper Box */
bb-qty {
    display: inline-flex !important;
    align-items: stretch !important;
    height: 4rem !important; /* Forces absolute height for the whole row */
    border: 1px solid rgba(0,0,0,0.15) !important;
    /* border-radius: 3px !important;  */
    background: #ffffff !important;
    overflow: hidden !important; /* Forces the buttons to stay inside the borders */
    box-sizing: border-box !important;
}

/* 2. The Plus & Minus Buttons */
bb-qty button {
    width: 4rem !important;
    height: 100% !important;
    min-height: 4rem !important; /* Safari/iOS height fix */
    background: #f9f9f9 !important;
    color: var(--c-nordic) !important;
    font-size: 2.2rem !important;
    font-weight: 300 !important;
    border: none !important; /* Removes default button borders */
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
	border-radius: 0px !important;
}

bb-qty button:hover {
    background: #ededed !important;
    color: var(--c-cardinal) !important;
}

/* 3. The Number Input Field */
bb-qty input {
    width: 5rem !important;
    height: 100% !important;
    min-height: 4rem !important; /* Safari/iOS height fix */
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 1.5rem !important;
    font-weight: 500 !important;
    color: var(--c-nordic) !important;
    background: transparent !important;
    box-shadow: none !important;
    
    /* This perfectly integrates the input into the wrapper */
    border: none !important; 
    border-left: 1px solid rgba(0,0,0,0.1) !important;
    border-right: 1px solid rgba(0,0,0,0.1) !important;
    border-radius: 0 !important;
    
    box-sizing: border-box !important;
    outline: none !important;
    -moz-appearance: textfield !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

/* ==========================================================
   FORCE HIDE BROWSER NUMBER ARROWS (SPINNERS)
   ========================================================== */

/* 1. Nuke arrows in Chrome, Safari, Edge, Opera */
main-cart bb-qty input[type="number"]::-webkit-inner-spin-button, 
main-cart bb-qty input[type="number"]::-webkit-outer-spin-button,
side-cart bb-qty input[type="number"]::-webkit-inner-spin-button, 
side-cart bb-qty input[type="number"]::-webkit-outer-spin-button,
bb-qty input[type="number"]::-webkit-inner-spin-button, 
bb-qty input[type="number"]::-webkit-outer-spin-button { 
    -webkit-appearance: none !important; 
    appearance: none !important;
    margin: 0 !important; 
    display: none !important;
}

/* 2. Nuke arrows in Firefox & strip default OS styling */
main-cart bb-qty input[type="number"],
side-cart bb-qty input[type="number"],
bb-qty input[type="number"] {
    -moz-appearance: textfield !important;
    -webkit-appearance: textfield !important;
    appearance: textfield !important;
}

/* ==========================================================
   ITEM SUB-TOTAL POSITIONING (Main Cart Only)
   ========================================================== */

main-cart ._item ._details {
    position: relative !important; /* Context for absolute positioning */
    min-height: 120px !important; /* Ensures space for the bottom elements */
}

main-cart ._item-subtotal {
    position: absolute !important;
    bottom: 0 !important;
    right: 0 !important;
    text-align: right !important;
    font-family: var(--font-b) !important;
    color: var(--c-nordic) !important;
}

main-cart ._item-subtotal span {
    font-size: 1.1rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    opacity: 0.6 !important;
    display: block !important;
    margin-bottom: 0.2rem !important;
}

main-cart ._item-subtotal strong {
    font-size: 1.8rem !important;
    font-weight: 500 !important;
}

/* Hide on Side Cart if shared class logic triggers */
side-cart ._item-subtotal {
    display: none !important;
}

/* Removes extra margin now that "Price:" label is gone */
main-cart ._item ._details dl dt, 
side-cart ._item ._details dl dt {
    margin-left: 0 !important;
    font-weight: 400 !important;
}

/* ==========================================================
   MINIMALIST CART TITLE TYPOGRAPHY (Polished)
   ========================================================== */

/* Targets the 'My Cart' title in the drawer and main page */
main-cart ._header, 
side-cart ._header {
    font-weight: 500 !important; /* Extra-light weight to match your headlines */
    font-size: 2.8rem !important;
    text-transform: none !important; /* Explicitly forces lowercase/normal case */
    letter-spacing: 0.1em !important; /* Elegant, subtle spacing */
    color: var(--c-nordic) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    padding-bottom: 2rem !important;
}

/* Ensure the Review Your Order text on the main cart page also matches */
main-cart ._header {
    font-size: 3.4rem !important;
    text-align: left !important;
}


/* ==========================================================
   RECOMMENDED ADDITIONS
   ========================================================== */

.recommended-title {
    width: 100%;
    text-align: center;
    font-size: 2.8rem;
    font-weight: 200;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-nordic);
    margin-bottom: 4rem;
    padding-top: 4rem;
    border-top: 1px solid rgba(0,0,0,0.05);
}

.recommended-additions ._productcard.-mini {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    border: 1px solid rgba(0,0,0,0.03);
    padding: 2.5rem;
}

.recommended-additions ._productcard.-mini h3 {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 1.5rem 0 0.5rem;
}

.recommended-price {
    text-align: center;
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
    font-weight: 300;
    color: var(--c-nordic);
}

@media screen and (max-width: 768px) {
    .recommended-title {
        font-size: 2.2rem;
    }
}


/* ==========================================================
   1. MODERN PRODUCT CARD
   ========================================================== */
.product-card-modern {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: transparent;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.product-card-modern:hover {
    transform: translateY(-4px);
}

/* Image Wrapper & Zoom Effect */
.pcm-image-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fdfdfd; 
    border-radius: 2px;
    overflow: hidden;
    aspect-ratio: 1/1; 
    margin-bottom: 2rem;
}

.pcm-image-wrap img {
    width: 80%;
    height: 80%;
    object-fit: contain;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.product-card-modern:hover .pcm-image-wrap img {
    transform: scale(1.05); 
}

/* Typography (Title & Price) */
.pcm-info {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    text-align: center;
}

.pcm-title {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 400; 
    letter-spacing: 0.1em;
    line-height: 1.4;
}

.pcm-title a {
    color: var(--c-nordic);
    text-decoration: none;
    transition: color 200ms ease;
}

.pcm-title a:hover {
    color: var(--c-cardinal);
}

.pcm-price {
    margin: 0;
    font-size: 2rem;
    font-weight: 400;
    color: rgba(0,0,0,0.6);
}

/* Collection Category Titles (e.g., DRY PODS) */
._products h2._title {
    font-weight: 300 !important;             /* Use 200 or 300 for that elegant, light look */
    font-size: 3.2rem !important;           /* Adjust size as needed */
    letter-spacing: 0.15em !important;      /* Adds that premium, spaced-out feel */
    text-transform: uppercase !important;   /* Keeps it consistent with the "Nordic" style */
    color: var(--c-nordic);                 /* Uses your existing slate/dark color variable */
    margin-bottom: 4rem !important;
}

/* ==========================================================
   2. BUTTONS & HOVER OVERLAY
   ========================================================== */
.pcm-quick-add {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1.5rem;
    transform: translateY(100%);
    opacity: 0;
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.3s ease;
}

.product-card-modern:hover .pcm-quick-add {
    transform: translateY(0);
    opacity: 1;
}

/* Split Button Layout (Add to Cart & Buy) */
.pcm-button-group,
.pcm-modal-btn-group {
    display: flex;
    width: 100%;
    gap: 1rem;
}

.pcm-modal-btn-group {
    flex-grow: 1;
    gap: 1.5rem;
}

/* Overrides for global _button class */
.pcm-btn,
.pcm-modal-btn {
    width: 100% !important;
    padding: 1.2rem !important;
    border-radius: 2px !important;
    font-size: 1.1rem !important;
    letter-spacing: 0.15em !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
}

.pcm-btn-half,
.pcm-modal-btn-group .pcm-modal-btn {
    width: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Specific Add to Cart Overrides */
.pcm-btn:not(.-outline) {
    background-color: var(--c-nordic) !important;
    color: #fff !important;
    border: none !important;
}

.pcm-btn:not(.-outline):hover {
    background-color: var(--c-cardinal) !important;
}

/* ==========================================================
   3. VARIANT SELECTION MODAL
   ========================================================== */
.pcm-variant-modal ._body {
    min-width: 50rem !important;
    padding: 3rem !important;
    text-align: left !important;
}

.pcm-modal-title {
    margin-bottom: 2rem !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
    font-size: 2.6rem !important;
    font-weight: 300 !important;
    color: var(--c-nordic) !important;
}

.pcm-modal-subtitle {
    margin-bottom: 1.5rem;
    font-size: 1.2rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--c-nordic);
}


/* Variant Image Cards */
.pcm-modal-variations ._prodoptions {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-bottom: 3rem;
}

.pcm-modal-variations input[type="radio"] {
    display: none;
}

.pcm-modal-variations label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    max-width: 140px;
    margin: 0;
    padding: 1.5rem;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: 5px;
    cursor: pointer;
    transition: all 200ms ease;
}

.pcm-modal-variations label img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    margin-bottom: 1rem;
}

.pcm-modal-variations label h5,
.pcm-modal-variations label .variant-title-label {
    margin: 0;
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.2;
    color: rgba(0,0,0,0.5);
    text-align: center;
}

/* Variant Card States */
.pcm-modal-variations input[type="radio"]:checked + label {
    border-color: var(--c-cardinal);
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.pcm-modal-variations input[type="radio"]:checked + label h5,
.pcm-modal-variations input[type="radio"]:checked + label .variant-title-label {
    color: var(--c-cardinal);
}

.pcm-modal-variations label.-disabled {
    opacity: 0.4;
    pointer-events: none;
}

/* Modal Bottom Checkout Bar */
.pcm-modal-bottom {
    padding: 2.5rem;
    background: #f6f6f6;
    border-radius: 5px;
}

.pcm-modal-price {
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(0,0,0,0.1);
    font-size: 3.2rem;
    font-weight: 400;
    color: var(--c-nordic);
}

.pcm-modal-actions {
    display: flex;
    align-items: flex-end;
    gap: 2rem;
}

.pcm-modal-qty {
    flex-shrink: 0;
}

.pcm-qty-label {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(0,0,0,0.4);
}



/* Product Images */
.pcm-image-wrap a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

.pcm-image-wrap img {
    margin: 0 auto !important;
}

/* Quick Add Button Icon */
.pcm-btn,
.pcm-modal-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.8rem !important;
}

.pcm-icon {
    width: 1.8rem !important;
    height: 1.8rem !important;
    flex-shrink: 0 !important;
}

/* ==========================================================
   4. MOBILE RESPONSIVENESS
   ========================================================== */
@media screen and (max-width: 768px) {
    /* Touch devices: buttons always visible below image */
    .pcm-quick-add {
        position: relative;
        padding: 1rem 0 0 0;
        transform: translateY(0);
        opacity: 1;
    }
    
    .pcm-image-wrap { 
        margin-bottom: 1rem; 
    }
    
    .pcm-variant-modal ._body {
        min-width: 100% !important;
        padding: 2rem !important;
    }
}

@media screen and (max-width: 450px) {
    /* Stack split buttons on tiny screens */
    .pcm-button-group,
    .pcm-modal-btn-group,
    .pcm-modal-actions {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 1rem !important;
    }

    .pcm-btn-half,
    .pcm-modal-btn-group .pcm-modal-btn,
    .pcm-modal-qty bb-qty {
        width: 100% !important;
    }
}

/* Removes the Page Header Logos/Symbols */
/* Removes overlapping background logo from collection/page headers */
.collection-hero h1,
.collection-hero h2,
.page-header h1,
._title {
    background-image: none !important;
}

.collection-hero h1::after,
.collection-hero h1::before,
.page-header h1::after,
.page-header h1::before,
._title::after,
._title::before {
    display: none !important;
}

/* ==========================================================
   COLLECTION PAGE WITH SIDEBAR LAYOUT
   ========================================================== */
.collection-layout-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 4rem;
    width: 100%;
    padding: 0 5% !important;
    box-sizing: border-box !important;
}

@media screen and (max-width: 900px) {
    .collection-layout-wrapper {
        padding: 0 2rem !important;
    }
}

/* Sidebar Styling */
.collection-sidebar {
    width: 250px;
    flex-shrink: 0;
    position: sticky;
    top: 120px; /* Keeps it in view when scrolling past header */
}

.sidebar-title {
    font-size: 1.6rem !important;
    font-weight: 300 !important;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-nordic);
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    line-height: 1; /* Preserve the old h3 line-height now that this is a <p> */
}

.sidebar-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.sidebar-menu li a {
    font-size: 1.4rem;
    font-weight: 300;
    color: rgba(0,0,0,0.6);
    text-decoration: none;
    transition: color 200ms ease, padding-left 200ms ease;
}

.sidebar-menu li a:hover {
    color: var(--c-cardinal);
    padding-left: 0.5rem;
}

/* Active Category State */
.sidebar-menu li.is-active a {
    color: var(--c-cardinal);
    font-weight: 500;
}

/* Main Content Area */
.collection-main-content {
    flex-grow: 1;
    width: calc(100% - 250px - 4rem);
}

/* Mobile Responsiveness (Stacks the sidebar on top) */
@media screen and (max-width: 900px) {
    .collection-layout-wrapper {
        flex-direction: column;
        gap: 2rem;
    }
    
    .collection-sidebar {
        width: 100%;
        position: relative;
        top: 0;
        border-bottom: 1px solid rgba(0,0,0,0.05);
        padding-bottom: 2rem;
    }
    
    .collection-main-content {
        width: 100%;
    }
}

/* ==========================================================
   CATEGORY "VIEW ALL" BUTTONS
   ========================================================== */
.category-view-all {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    margin-top: 1rem;
    margin-bottom: 6rem;
    width: 100%;
}

.category-view-all ._button {
    font-size: 1.2rem !important;
    padding: 1rem 3rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
}


/* ==========================================================
   DEDICATED CATEGORY PAGE LAYOUT
   ========================================================== */
.dedicated-category-grid {
    display: grid !important;
    /* Change '4' to '3' or '5' to make cards larger or smaller */
    grid-template-columns: repeat(4, 1fr) !important; 
    gap: 4rem !important;
    width: 100% !important;
}

/* Adjust card size for Tablets */
@media screen and (max-width: 1024px) {
    .dedicated-category-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 2rem !important;
    }
}

/* Adjust card size for Mobile */
@media screen and (max-width: 600px) {
    .dedicated-category-grid {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

/* ==========================================================
   MOBILE COLLECTION PAGE UPGRADES
   ========================================================== */

@media screen and (max-width: 900px) {
    /* 1. Turns the sidebar into a sticky horizontal swipe menu */
    .collection-layout-wrapper {
        flex-direction: column;
        gap: 0;
    }
    
    .collection-sidebar {
        width: 100%;
        position: sticky;
        top: 70px; /* Adjust this if it overlaps your sticky header */
        background-color: var(--c-steel, #ffffff);
        z-index: 99;
        padding: 1.5rem 0;
        border-bottom: 1px solid rgba(0,0,0,0.05);
        margin-bottom: 2rem;
    }

    .sidebar-title {
        display: none; /* Hides the "Categories" title to save space */
    }

	.sidebar-menu {
        display: flex;
        flex-direction: row;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 1rem;
        padding-top: 0.5rem; /* Pushes the pills down slightly so the top isn't clipped */
        padding-bottom: .2rem; /* Increased to prevent bottom clipping */
        white-space: nowrap;
        -webkit-overflow-scrolling: touch; 
        scrollbar-width: none; 
        touch-action: pan-x; 
        scroll-behavior: smooth; 
    }
    
    .sidebar-menu::-webkit-scrollbar {
        display: none; /* Chrome/Safari */
    }

	.sidebar-menu li {
        flex-shrink: 0;
        display: flex; /* Helps vertically center the pill in the row */
        align-items: center;
    }

	.sidebar-menu li a {
        display: inline-block !important; /* Forces the browser to respect the top/bottom padding */
        background: #f6f6f6;
        padding: 0.8rem 1.8rem !important;
        border-radius: 30px; 
        font-size: 1.2rem !important;
        font-weight: 500 !important;
        color: var(--c-slate) !important;
        line-height: 1.2 !important; /* Normalizes the height of the text inside the pill */
    }

    .sidebar-menu li.is-active a {
        background: var(--c-cardinal) !important;
        color: #ffffff !important;
    }

    .collection-main-content {
        width: 100%;
    }

    /* 2. Adjusts Dedicated Category Pages to Multi-Column Mobile Grid */
    .dedicated-category-grid {
        /* Change this '2' to a '3' if you truly want 3 columns on mobile */
        grid-template-columns: repeat(2, 1fr) !important; 
        gap: 1.5rem !important;
    }
}

/* Specific Mobile Grid for the "All Products" Feed */
@media screen and (max-width: 580px) {
    .category-products {
        /* Change this '2' to a '3' if you truly want 3 columns on mobile */
        grid-template-columns: repeat(2, 1fr) !important; 
        gap: 1.5rem !important;
        column-gap: 1.5rem !important;
    }
}

/* ==========================================================
   TESTIMONAL SECTION FIX
   ========================================================== */

#shopify-section-{{ section.id }} ._testimonials {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    width: 100%;
    transform: none !important;
    margin: 0 !important;
  }

/* ==========================================================
   MOBILE PRODUCT CARD RE-DESIGN (Overlap Fix)
   ========================================================== */
@media screen and (max-width: 768px) {
    /* 1. Card Container & Layout */
    .product-card-modern {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        padding-bottom: 5.5rem !important; /* Fixed height gap for the button */
        margin-bottom: 0 !important;       /* Removed as requested */
        height: 100% !important;
    }
    
    /* 2. Image Wrapper Fix */
    .pcm-image-wrap {
        position: static !important; 
        display: block !important; 
        width: 100% !important;
        margin-bottom: 1.5rem !important;
    }

    .pcm-image-wrap img {
        margin: 0 auto !important;
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }

    /* 3. Typography & Info Alignment */
    .pcm-info {
        text-align: center !important; 
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        padding: 0 !important;
        width: 100% !important;
        flex-grow: 1 !important;
    }

    .pcm-title, 
    .pcm-price {
        font-size: 1.4rem !important;
        line-height: 1.3 !important;
        text-align: center !important;
        width: 100% !important;
    }

    .pcm-title {
        font-weight: 500 !important;
        margin-bottom: 0.5rem !important;
    }

    .pcm-price {
        margin-top: 0.5rem !important;
        display: block !important;
    }

    /* 4. Absolute Button Positioning & Style */
    .pcm-quick-add {
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        z-index: 10 !important;
    }

    .pcm-btn, 
    .pcm-modal-btn,
    ._button.pcm-btn {
        width: 100% !important;
        max-width: 100% !important;
        height: 44px !important;
        padding: 0 1.2rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        border-radius: 4px !important;
        
        /* Unified Colors & Typography */
        background-color: var(--c-slate) !important;
        color: #ffffff !important;
        border: 1px solid var(--c-slate) !important;
        font-size: 1.4rem !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
    }

    /* 5. Mobile Icon & Text Handling */
    .btn-desktop-text { display: none !important; }
    
    .btn-mobile-text { 
        display: flex !important; 
        align-items: center !important; 
        justify-content: center !important; 
        gap: 0.8rem !important; 
        width: 100% !important;
    }

    .btn-mobile-text svg {
        height: 1.6rem !important;
        width: 1.6rem !important;
        fill: #ffffff !important;
    }
}

/* ==========================================================
   MOBILE View Fix General
   ========================================================== */



main, #MainContent, .main-content {
    width: 100%;
    max-width: 100vw;
    /* 'clip' stops horizontal bleeding but allows sticky children to work natively */
    overflow-x: clip !important; 
}

/* ==========================Captcha============================ */

/* Fix for Shopify hCaptcha challenge page overlapping with header */
.shopify-challenge__container {
  /* Push the container down below the red banner and white header */
  padding-top: 220px !important; /* Adjust this value based on your actual header height */
  padding-bottom: 100px !important;
  
  /* Bring it to the front so it's clickable */
  position: relative !important;
  z-index: 99999 !important;
  
  /* Center it nicely */
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.shopify-challenge__message {
  margin-bottom: 20px;
}

/* ==========================================================
   SIDE CART — COMPACT ENTRIES + SUBTLE OUTLINES
   ========================================================== */

/* 1. Each entry becomes a subtle outlined card with tighter spacing */
side-cart ._item {
    padding: 1.25rem !important;
    margin: 0 0 1.25rem !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    align-items: center !important;
}

/* Kill the old divider line now that cards define boundaries */
side-cart ._item:not(:last-of-type) {
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}

/* 2. Smaller product image */
side-cart ._item > a {
    width: 64px !important;
}

side-cart ._item ._details {
    width: calc(100% - 64px) !important;
    padding-left: 1.5rem !important;
}

/* 3. Tighter typography */
side-cart ._item ._details h4 {
    font-size: 1.1rem !important;
    margin: 0 !important;
}

side-cart ._item ._details h3,
side-cart ._item ._details h3 a {
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
}

side-cart ._item ._details dl {
    margin: 0.25rem 0 0.75rem !important;
    font-size: 1.25rem !important;
}

side-cart ._item ._details dt.-single {
    font-size: 1.25rem !important;
}

/* 4. Compact quantity selector (side cart only) */
side-cart ._item ._details ._mods {
    margin: 0.5rem 0 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
}

side-cart bb-qty {
    height: 2.8rem !important;
}

side-cart bb-qty button {
    width: 2.8rem !important;
    min-height: 2.8rem !important;
    font-size: 1.6rem !important;
}

side-cart bb-qty input {
    width: 3.6rem !important;
    min-height: 2.8rem !important;
    font-size: 1.3rem !important;
}

/* 5. Smaller remove button */
side-cart ._item ._button {
    font-size: 1.1rem !important;
    padding: 3px 0.75rem !important;
}

/* Mobile: keep entries compact */
@media screen and (max-width: 500px) {
    side-cart ._item > a {
        width: 56px !important;
    }
    side-cart ._item ._details {
        width: calc(100% - 56px) !important;
        padding-left: 1.25rem !important;
    }
}
