/** Shopify CDN: Minification failed

Line 1536:2 Unexpected "{"
Line 8841:18 Unexpected "{"
Line 8841: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;

	/* 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: #f6f6f6;
		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 h2 {
	position: relative;
	z-index: 2;
	color: #fff;
	font-size: 5rem;
	font-family: var(--font-h);
	font-weight: 800;
	text-align: center;
	padding: 8rem 3rem 3rem;
}
._herobanner h2 strong {
	color: var(--c-cardinal-od);
}
@media screen and (max-width: 768px) {
	._herobanner h2 {
		font-size: 4rem;
	}
}
@media screen and (max-width: 550px) {
	._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;
	padding: 4rem 0 8rem;
	border-top: 1px solid var(--c-steel-dark);
	border-bottom: 1px solid var(--c-steel-dark);
}
@media screen and (max-width: 788px) {
	._logoband {
		padding: 4rem 3rem 8rem;
	}
}
@media screen and (min-width: 426px) and (max-width: 550px) {
	._logoband {
		padding: 4rem 6rem 8rem;
	}
}
._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;
	}
}

.-bg-nordic {
	background-color: var(--c-nordic);
}
.-bg-slate {
	background-color: var(--c-slate);
}
.-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: 90px;
    
    background-color: var(--c-steel);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
    padding: 4px 0;
    /* Remove Comment if Announcement Bar is Active */
	top: 32px;            
	/* Remove Comment if Announcement Bar is Active */
}

/* Main Logo */
body > header ._brand {
    width: 275px;
    transition: width 200ms ease-in-out;
}

body > header.scrolled ._brand {
	width: 175px;
    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: 165px;
	}

	.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 {
		/* Remove Comment if Announcement Bar is Active */
        top: 32px;
		/* Remove Comment if Announcement Bar is Active */
		height: 75px;
    }

    body > header ._brand {   	/*Main Logo*/
        width: 145px;
    }

	body > header.scrolled ._brand {
		width: 145px;
	}

	/* .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;
}


/* 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: Breaks menu out to full viewport width */
    ._menu:not(.-show) ._mega,
    ._menu:not(.-show) ._submenu {
        position: fixed !important;
        top: 180px !important; 
        left: 0 !important;
        width: 100vw !important;
        background-color: var(--c-steel) !important;
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05) !important;
        padding: 2rem 0 !important;
        border-radius: 0 !important;
        transform: translateY(-10px);
        transition: opacity 150ms ease, transform 150ms ease !important;
    }

    /* 2. Invisible Hover Bridge: Prevents menu from closing when crossing gaps */
    ._menu:not(.-show) ._mega::before,
    ._menu:not(.-show) ._submenu::before {
        content: "";
        display: block;
        position: absolute;
        top: -80px;
        left: 0;
        width: 100vw;
        height: 80px;
        background: transparent;
        z-index: 99;
    }

    /* 3. Sticky Header Adjustment: Moves dropdown up when header shrinks */
    body > header.scrolled ._menu:not(.-show) ._mega,
    body > header.scrolled ._menu:not(.-show) ._submenu {
        top: 90px !important;
    }

    /* 4. 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: 300px !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 {
    color: #ffffff;
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom: 2.5rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: var(--font-h);
}

/* -- 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 {
    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 {
    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 {
    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);
}

.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; 
}


