@charset "UTF-8";
/*
/// VENDORS ///
The CSS files from external libraries and frameworks
*/
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*! Flickity v2.2.1
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */
.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
  left: 10px;
}

.flickity-prev-next-button.next {
  right: 10px;
}

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/*
/// ABSTRACTS ///
all Sass tools and helpers used across the project.
Every global variable, function, mixin and placeholder should be put in here.
 */
/*
/// BASE ///
The boilerplate code for the project. In there, you might find some typographic
rules, and probably a stylesheet defining some standard styles for commonly
used HTML elements.
*/
@font-face {
  font-family: "ThemeIcons";
  src: url("../fonts/ThemeIcons.eot?45d9874200fbdf478af16d2ae343c26f?#iefix") format("embedded-opentype"), url("../fonts/ThemeIcons.woff2?45d9874200fbdf478af16d2ae343c26f") format("woff2"), url("../fonts/ThemeIcons.woff?45d9874200fbdf478af16d2ae343c26f") format("woff"), url("../fonts/ThemeIcons.ttf?45d9874200fbdf478af16d2ae343c26f") format("truetype"), url("../fonts/ThemeIcons.svg?45d9874200fbdf478af16d2ae343c26f#ThemeIcons") format("svg");
}
[class^=icon-]:before, [class*=" icon-"]:before {
  font-family: ThemeIcons !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-facebook:before {
  content: "\f101";
}

.icon-instagram:before {
  content: "\f102";
}

.icon-linkedin:before {
  content: "\f103";
}

.icon-pinterest:before {
  content: "\f104";
}

.icon-twitter:before {
  content: "\f105";
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: "Commissioner", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 14px;
  line-height: 1.3;
  color: #080808;
}

body,
input,
textarea,
select,
button {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6,
h1,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  color: inherit;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 700;
  line-height: 1.3;
  padding: 0;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
h1 a,
.h1 a,
.h2 a,
.h3 a,
.h4 a,
.h5 a,
.h6 a {
  color: inherit;
  text-decoration: none;
}

h1,
.h1 {
  font-size: 32px;
  margin: 0;
}

h2,
.h2 {
  font-size: 27px;
  margin: 0 0 10px 0;
}

h3,
.h3 {
  font-size: 21px;
  margin: 0 0 10px 0;
}

h4,
.h4 {
  font-size: 14px;
  margin: 0 0 5px 0;
}

h5,
.h5 {
  font-size: 14px;
  margin: 0 0 5px 0;
}

h6,
.h6 {
  font-size: 14px;
  margin: 0 0 5px 0;
}

a {
  color: inherit;
  transition: color 200ms ease;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 1rem;
}
a:hover {
  color: #dd3333;
}

p {
  margin: 0 0 1em;
  font-size: 1rem;
  line-height: 1.4;
}

p:empty,
p:last-child {
  margin-bottom: 0;
}

[class^=icon-social]:before {
  line-height: 1;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "ThemeIcons";
}
[class^=icon-social][href*=facebook]:before, [class^=icon-social].icon-facebook:before {
  content: "\f101";
}
[class^=icon-social][href*=instagram]:before, [class^=icon-social].icon-instagram:before {
  content: "\f102";
}
[class^=icon-social][href*=linkedin]:before, [class^=icon-social].icon-linkedin:before {
  content: "\f103";
}
[class^=icon-social][href*=pinterest]:before, [class^=icon-social].icon-pinterest:before {
  content: "\f104";
}
[class^=icon-social][href*=twitter]:before, [class^=icon-social].icon-twitter:before {
  content: "\f105";
}
[class^=icon-social][href*=youtube]:before, [class^=icon-social].icon-youtube:before {
  content: "\f106";
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.centering {
  margin: 0 auto;
  max-width: 1320px;
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 768px) {
  .centering {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/*
/// LAYOUT ///
Everything that takes part in laying out the site or application.
This folder could have stylesheets for the main parts of the site (header,
footer, navigation, sidebar…), the grid system or even CSS styles
for all the forms.
*/
#wpadminbar {
  position: fixed !important;
  z-index: 99999;
}

.admin-bar .site-header {
  top: 52px;
}
@media screen and (max-width: 1023px) {
  .admin-bar .site-header {
    top: 66px;
  }
}
.admin-bar .site-header.is-hidden {
  transform: translateX(-50%) translateY(-150%);
}
@media screen and (max-width: 1023px) {
  .admin-bar .site-header.is-hidden {
    transform: none;
    top: -140px;
  }
}

html.admin-bar {
  margin-top: 0 !important;
}

body.admin-bar {
  padding-top: 0;
}

.site-header {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  z-index: 11;
  width: 90%;
  max-width: 100%;
  transition: transform 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98);
  will-change: transform;
}
.site-header.is-hidden {
  transform: translateX(-50%) translateY(-150%);
}
@media screen and (max-width: 1023px) {
  .site-header {
    top: 20px;
    left: 20px;
    right: 20px;
    width: auto;
    transform: none;
  }
  .site-header.is-hidden {
    transform: none;
    top: -120px;
  }
}

.header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  background: white;
  color: #333;
  padding: 10px 20px;
  border-radius: 3px;
  gap: 20px;
}
@media screen and (min-width: 1024px) {
  .header-container {
    padding: 0px 15px;
    border-radius: 6px;
    gap: 0;
  }
}

.header-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  margin: 0;
  flex-shrink: 0;
  align-self: center;
  order: 1;
}
@media screen and (min-width: 1024px) {
  .header-logo {
    margin: 10px 0;
  }
}
.header-logo img {
  height: 30px;
  width: auto;
  display: block;
}
@media screen and (min-width: 1024px) {
  .header-logo img {
    height: 55px;
  }
}
.header-logo:hover {
  opacity: 0.8;
}

.header-nav {
  display: none;
  flex: 1;
  justify-content: center;
  order: 2;
}
@media screen and (min-width: 1024px) {
  .header-nav {
    display: flex;
  }
}
@media screen and (max-width: 1023px) {
  .header-nav {
    display: block;
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    width: 100%;
    z-index: 40;
    background: var(--white);
    padding: 18px 18px 22px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.16);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    overflow: hidden auto;
    max-height: 0;
    opacity: 0;
    transform: translateY(-8px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: max-height 0.35s ease, opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.35s;
  }
  .header-nav.is-open-menu {
    max-height: 78vh;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition: max-height 0.35s ease, opacity 0.25s ease, transform 0.25s ease;
  }
}
.header-nav .header-menu {
  display: flex;
  flex-direction: row;
  gap: 40px;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
}
.header-nav .header-menu li {
  display: flex;
  align-items: center;
  margin: 0;
}
.header-nav .header-menu a {
  position: relative;
  display: inline-block;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  padding: 0;
}
.header-nav .header-menu a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98);
}
.header-nav .header-menu a:hover {
  color: #333;
}
.header-nav .header-menu a:hover::after, .header-nav .header-menu a.is-active::after, .current-menu-item > .header-nav .header-menu a::after, .current_page_item > .header-nav .header-menu a::after {
  transform: scaleX(1);
}
.header-nav .header-menu .menu-item-has-children {
  position: relative;
}
.header-nav .header-menu .menu-item-has-children > a {
  padding-right: 18px;
}
.header-nav .header-menu .menu-item-has-children > a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -3px;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  opacity: 0.7;
}
.header-nav .header-menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 240px;
  max-width: 320px;
  margin: 0;
  padding: 12px 0;
  list-style: none;
  background: var(--white);
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12), 0 2px 10px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.06);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  z-index: 100;
}
.header-nav .header-menu .sub-menu .menu-item {
  margin: 0;
  padding: 0;
}
.header-nav .header-menu .sub-menu a {
  position: relative;
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 20px 12px;
  font-size: 0.9375rem;
  color: var(--charcoal);
  white-space: nowrap;
  background: transparent;
  transition: color 0.2s ease;
}
.header-nav .header-menu .sub-menu a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 20px;
  width: 0;
  height: 1px;
  background-color: #000;
  transition: width 0.4s cubic-bezier(0.16, 1.08, 0.38, 0.98);
}
.header-nav .header-menu .sub-menu a:hover, .header-nav .header-menu .sub-menu a:focus-visible {
  color: var(--charcoal);
}
.header-nav .header-menu .sub-menu a:hover::after, .header-nav .header-menu .sub-menu a:focus-visible::after {
  width: calc(100% - 40px);
}
.header-nav .header-menu .sub-menu .menu-item.current-menu-item > a::after,
.header-nav .header-menu .sub-menu .menu-item.current_page_item > a::after,
.header-nav .header-menu .sub-menu .menu-item > a[aria-current=page]::after {
  width: calc(100% - 40px);
}
.header-nav .header-menu .menu-item-has-children:hover > .sub-menu,
.header-nav .header-menu .menu-item-has-children.open-submenu > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(4px);
}
@media screen and (max-width: 1023px) {
  .header-nav .header-menu {
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    min-height: 0;
    margin: 0;
    padding: 0;
  }
  .header-nav .header-menu li {
    width: 100%;
    margin: 0;
    display: block;
  }
  .header-nav .header-menu a {
    display: block;
    width: 100%;
    font-size: 0.95rem;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: 0;
    white-space: normal;
    outline: none;
  }
  .header-nav .header-menu .menu-item-has-children > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
  .header-nav .header-menu .sub-menu {
    position: static;
    transform: none;
    min-width: 0;
    max-width: none;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    padding: 10px 0 0 12px;
    margin-top: 6px;
    background: transparent;
    opacity: 1;
    visibility: visible;
    display: none !important;
  }
  .header-nav .header-menu .sub-menu a {
    font-size: 0.88rem;
    line-height: 1.25;
    white-space: normal;
    font-weight: 500;
    padding: 4px 0;
  }
  .header-nav .header-menu .sub-menu a::after {
    display: none;
  }
  .header-nav .header-menu .menu-item-has-children.open-submenu > .sub-menu {
    display: block !important;
    transform: none !important;
    left: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .header-nav .header-menu .menu-item-has-children:hover > .sub-menu {
    display: none !important;
  }
  .header-nav .header-menu .menu-item-has-children.open-submenu:hover > .sub-menu {
    display: block !important;
  }
  .header-nav .header-menu .menu-item-has-children > a::before {
    transition: transform 0.2s ease;
  }
  .header-nav .header-menu .menu-item-has-children.open-submenu > a::before {
    transform: rotate(180deg);
  }
}

@media screen and (max-width: 1023px) {
  #site-header #main-nav.header-nav.main-nav {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
    max-height: 0;
    padding: 18px 18px 22px;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overflow: hidden auto;
    background: var(--white);
    z-index: 40;
  }
  #site-header #main-nav.header-nav.main-nav.is-open-menu {
    max-height: 78vh;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  #site-header #main-nav.header-nav.main-nav .menu,
  #site-header #main-nav.header-nav.main-nav .header-menu {
    min-height: 0;
    justify-content: flex-start;
    text-align: left;
    margin: 0;
  }
  #site-header #main-nav.header-nav.main-nav .sub-menu {
    list-style: none;
    margin: 6px 0 0;
    padding: 8px 0 0 14px;
    overflow: visible;
  }
  #site-header #main-nav.header-nav.main-nav .sub-menu .menu-item {
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    text-indent: 0;
  }
  #site-header #main-nav.header-nav.main-nav .sub-menu .menu-item > a {
    display: block;
    width: 100%;
    margin: 0;
    padding: 6px 0 !important;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.3;
    text-indent: 0;
    text-transform: none;
    letter-spacing: 0;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
  #site-header #main-nav.header-nav.main-nav .sub-menu .menu-item > a::after {
    display: none;
  }
  #site-header #main-nav.header-nav.main-nav .menu-item-has-children.open-submenu > .sub-menu {
    transform: none !important;
    left: auto !important;
    right: auto !important;
  }
}
.header-menu-toggle {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: 42px;
  height: 42px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  appearance: none;
  order: 4;
}
.header-menu-toggle .header-menu-toggle__line {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: var(--charcoal);
  transition: transform 0.25s ease, opacity 0.2s ease;
}
.header-menu-toggle.is-active .header-menu-toggle__line:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.header-menu-toggle.is-active .header-menu-toggle__line:nth-child(2) {
  opacity: 0;
}
.header-menu-toggle.is-active .header-menu-toggle__line:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}
@media screen and (min-width: 1024px) {
  .header-menu-toggle {
    display: none;
  }
}

body.is-open-menu .header-menu-toggle {
  border-color: rgba(0, 0, 0, 0.3);
  background: rgba(255, 255, 255, 0.92);
}
body.is-open-menu #main-nav.header-nav .menu,
body.is-open-menu #main-nav.header-nav .header-menu {
  justify-content: flex-start !important;
  min-height: 0 !important;
  text-align: left !important;
}
body.is-open-menu #main-nav.header-nav .menu .menu-item,
body.is-open-menu #main-nav.header-nav .header-menu .menu-item {
  margin: 0 !important;
}

.header-cta {
  display: none;
  align-items: stretch;
  text-align: left;
  overflow: hidden;
  border-radius: 3px;
  background: #333;
  color: #fff;
  min-width: 200px;
  width: auto;
  max-width: 100%;
  border: 1px solid transparent;
  text-transform: capitalize;
  text-decoration: none;
  font-size: 1rem;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  letter-spacing: 0.05em;
  transition: box-shadow 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98), background-color 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98), color 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98), border-color 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98);
  align-self: center;
  flex-shrink: 0;
  order: 3;
}
@media screen and (min-width: 1024px) {
  .header-cta {
    display: inline-flex;
    margin: 20px 0;
  }
}
@media screen and (max-width: 1023px) {
  .header-cta {
    display: inline-flex;
    margin: 0 8px 0 auto;
    width: auto;
    min-width: auto !important;
    max-width: none;
    order: 3;
  }
  .header-cta .btn-children {
    padding: 12px 10px;
    font-size: 10px;
    line-height: 1;
  }
  .header-cta .btn-arrow {
    padding: 0 8px;
  }
}
.header-cta:hover {
  background: #1a1a1a;
  color: #fff;
}
.header-cta .btn-children {
  padding: 15px 40px 15px 20px;
  flex: 1;
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
}
.header-cta .btn-arrow {
  padding: 0 20px;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98);
}
.header-cta .btn-arrow svg {
  width: 6px;
  height: 9px;
  stroke: currentColor;
}
.header-cta:hover .btn-arrow {
  border-color: rgba(255, 255, 255, 0.3);
}

@media screen and (max-width: 1023px) {
  .header-menu-toggle {
    order: 4;
    margin-left: 0;
    flex-shrink: 0;
  }
}
.site-footer {
  background: var(--charcoal);
  color: rgba(255, 255, 255, 0.9);
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.site-footer .footer-container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px;
}
@media screen and (max-width: -tablet-1) {
  .site-footer .footer-container {
    padding: 0 24px;
  }
}
.site-footer .footer-main {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 80px;
  padding: 80px 0 60px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
@media screen and (max-width: -tablet-1) {
  .site-footer .footer-main {
    grid-template-columns: 1fr;
    gap: 60px;
    padding: 60px 0 40px;
  }
}
.site-footer .footer-brand {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.site-footer .footer-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.site-footer .footer-logo:hover {
  opacity: 0.8;
}
.site-footer .footer-logo img {
  max-height: 60px;
  width: auto;
  height: auto;
  display: block;
}
.site-footer .footer-logo .logo-text {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--white);
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.site-footer .footer-description {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.7);
  max-width: 320px;
}
@media screen and (max-width: -tablet-1) {
  .site-footer .footer-description {
    max-width: 100%;
  }
}
.site-footer .footer-navigation {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 40px;
}
@media screen and (max-width: -tablet-1) {
  .site-footer .footer-navigation {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }
}
@media (max-width: 600px) {
  .site-footer .footer-navigation {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.site-footer .footer-nav-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.site-footer .footer-nav-title {
  margin: 0;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: capitalize;
  color: rgba(255, 255, 255, 0.9);
  font-family: "Commissioner", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.site-footer .footer-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.site-footer .footer-nav-list li {
  margin: 0;
}
.site-footer .footer-nav-list a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1.5;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-block;
  position: relative;
}
.site-footer .footer-nav-list a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.9);
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.site-footer .footer-nav-list a:hover {
  color: rgba(255, 255, 255, 0.95);
  transform: translateX(4px);
}
.site-footer .footer-nav-list a:hover::after {
  width: 100%;
}
.site-footer .footer-nav-list a:focus {
  outline: 2px solid rgba(255, 255, 255, 0.5);
  outline-offset: 4px;
  border-radius: 2px;
}
.site-footer .footer-social .footer-social-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
}
.site-footer .footer-social .footer-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
.site-footer .footer-social .footer-social-link::before {
  display: none;
}
.site-footer .footer-social .footer-social-link::after {
  display: none;
}
.site-footer .footer-social .footer-social-link:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.25);
  color: rgb(255, 255, 255);
  transform: translateY(-2px);
}
.site-footer .footer-social .footer-social-link:active {
  transform: translateY(0);
  border-radius: 50%;
}
.site-footer .footer-social .footer-social-link:focus {
  outline: 2px solid rgba(255, 255, 255, 0.5);
  outline-offset: 2px;
  outline-radius: 50%;
}
.site-footer .footer-social .footer-social-link .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.site-footer .footer-social .footer-social-icon {
  display: block;
  width: 20px;
  height: 20px;
  font-size: 20px;
  line-height: 1;
  position: relative;
}
.site-footer .footer-social .footer-social-icon::before {
  line-height: 1;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "ThemeIcons";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.site-footer .footer-social .icon-facebook .footer-social-icon::before {
  content: "\f101";
}
.site-footer .footer-social .icon-instagram .footer-social-icon::before {
  content: "\f102";
}
.site-footer .footer-social .icon-linkedin .footer-social-icon::before {
  content: "\f103";
}
.site-footer .footer-social .icon-pinterest .footer-social-icon::before {
  content: "\f104";
}
.site-footer .footer-social .icon-twitter .footer-social-icon::before {
  content: "\f105";
}
.site-footer .footer-social .icon-youtube .footer-social-icon::before {
  content: "\f106";
}
.site-footer .footer-bottom {
  padding: 32px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: -tablet-1) {
  .site-footer .footer-bottom {
    padding: 24px 0;
  }
}
.site-footer .footer-copyright {
  margin: 0;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
  text-align: center;
  letter-spacing: 0.01em;
}

.hero--shop {
  background-color: var(--sand) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  position: relative !important;
  min-height: auto !important;
  padding: 48px 0 40px !important;
  border-bottom: 1px solid var(--stone) !important;
}
.hero--shop .hero-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  overflow: hidden !important;
}
.hero--shop .hero-bg img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.hero--shop .hero-bg::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.35) !important;
  z-index: 1 !important;
}
.hero--shop .hero-overlay {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 0 !important;
}
.hero--shop .inner {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 28px !important;
  padding-top: 60px !important;
  padding-bottom: 0 !important;
}
@media screen and (max-width: -tablet-1) {
  .hero--shop .inner {
    padding-top: 48px !important;
  }
  body.admin-bar .hero--shop .inner {
    padding-top: 80px !important;
  }
}
.hero--shop .inner > div:first-child {
  width: 100% !important;
  margin-top: 20px !important;
}
.hero--shop .inner > div:first-child h1 {
  font-size: clamp(1.625rem, 4vw, 2.125rem) !important;
  font-weight: 600 !important;
  color: var(--charcoal) !important;
  margin: 0 !important;
  letter-spacing: -0.02em !important;
}

.hero--shop-has-bg .inner > div:first-child h1 {
  color: var(--white) !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.25) !important;
}

.hero--product {
  height: 340px !important;
  min-height: 340px !important;
  max-height: 340px !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--stone) !important;
  overflow: hidden !important;
}
.hero--product .hero-bg {
  position: absolute !important;
  inset: 0 !important;
}
.hero--product .hero-bg img,
.hero--product .hero-bg picture {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}
.hero--product .hero-overlay {
  margin-top: 0 !important;
  min-height: 0 !important;
}
.hero--product .hero-inner {
  padding: 0 !important;
  min-height: 0 !important;
  justify-content: center !important;
}

body.woocommerce .hero .inner,
.woocommerce-page .hero .inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 28px !important;
}

.hero--cart-checkout {
  min-height: auto !important;
  padding: 48px 0 40px !important;
  background-color: var(--sand) !important;
  border-bottom: 1px solid var(--stone) !important;
}
.hero--cart-checkout .hero-overlay {
  position: relative !important;
}
.hero--cart-checkout .hero-inner,
.hero--cart-checkout .hero-grid,
.hero--cart-checkout .hero-content {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}
.hero--cart-checkout .hero-cart-checkout-title h1 {
  margin: 0 !important;
  font-size: clamp(1.625rem, 4vw, 2.125rem) !important;
  font-weight: 600 !important;
  color: var(--charcoal) !important;
  letter-spacing: -0.02em !important;
}

.catalog-filters-container {
  max-width: var(--max-width) !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
}
@media screen and (max-width: -tablet-1) {
  .catalog-filters-container {
    padding: 0 20px !important;
  }
}

.hero .catalog-filters,
.catalog-filters {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 10px 14px !important;
  background: var(--white) !important;
  border-radius: 3px !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}
@media screen and (min-width: 1024px) {
  .hero .catalog-filters,
  .catalog-filters {
    padding: 10px 16px !important;
    border-radius: 6px !important;
    gap: 12px !important;
  }
}
@media screen and (max-width: -tablet-1) {
  .hero .catalog-filters,
  .catalog-filters {
    flex-wrap: wrap !important;
  }
}
.hero .catalog-filters label,
.catalog-filters label {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 0 !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
}
@media screen and (max-width: -tablet-1) {
  .hero .catalog-filters label,
  .catalog-filters label {
    flex: 1 1 calc(50% - 6px) !important;
    min-width: 140px !important;
  }
}
.hero .catalog-filters label > *:not(select),
.catalog-filters label > *:not(select) {
  display: none !important;
}
.hero .catalog-filters select,
.hero .catalog-filters .orderby,
.catalog-filters select,
.catalog-filters .orderby {
  width: 100% !important;
  margin: 0 !important;
  padding: 9px 38px 9px 12px !important;
  min-height: 40px !important;
  box-sizing: border-box !important;
  border-radius: 3px !important;
  border: 1px solid rgba(0, 0, 0, 0.07) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.3 !important;
  color: var(--charcoal) !important;
  color-scheme: light !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  background-color: #fafafa !important;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgb(250, 250, 250) 100%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath stroke='%23555' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 7 6.5 13 1.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: 0 0, right 12px center !important;
  background-size: auto, 14px 8px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), inset 0 -1px 0 rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}
@media screen and (min-width: 1024px) {
  .hero .catalog-filters select,
  .hero .catalog-filters .orderby,
  .catalog-filters select,
  .catalog-filters .orderby {
    padding: 10px 40px 10px 14px !important;
    min-height: 42px !important;
    border-radius: 4px !important;
  }
}
.hero .catalog-filters select:hover,
.hero .catalog-filters .orderby:hover,
.catalog-filters select:hover,
.catalog-filters .orderby:hover {
  border-color: rgba(0, 0, 0, 0.11) !important;
  background-color: #fff !important;
  background-image: linear-gradient(180deg, #fff 0%, #f7f7f7 100%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath stroke='%23555' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 7 6.5 13 1.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: 0 0, right 12px center !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), inset 0 -1px 0 rgba(0, 0, 0, 0.05), 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}
.hero .catalog-filters select:focus,
.hero .catalog-filters .orderby:focus,
.catalog-filters select:focus,
.catalog-filters .orderby:focus {
  outline: none !important;
}
.hero .catalog-filters select:focus-visible,
.hero .catalog-filters .orderby:focus-visible,
.catalog-filters select:focus-visible,
.catalog-filters .orderby:focus-visible {
  border-color: rgba(221, 51, 51, 0.35) !important;
  background-image: linear-gradient(180deg, #fff 0%, #fafafa 100%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath stroke='%23555' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 7 6.5 13 1.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: 0 0, right 12px center !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 0 0 3px rgba(221, 51, 51, 0.14) !important;
}
.hero .catalog-filters select:focus:not(:focus-visible),
.hero .catalog-filters .orderby:focus:not(:focus-visible),
.catalog-filters select:focus:not(:focus-visible),
.catalog-filters .orderby:focus:not(:focus-visible) {
  border-color: rgba(0, 0, 0, 0.09) !important;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgb(250, 250, 250) 100%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath stroke='%23555' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 7 6.5 13 1.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: 0 0, right 12px center !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), inset 0 -1px 0 rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}
.hero .catalog-filters select option,
.hero .catalog-filters .orderby option,
.catalog-filters select option,
.catalog-filters .orderby option {
  font-weight: 500 !important;
  font-size: 0.9375rem !important;
  padding: 0.5rem 0.75rem !important;
  background-color: #fff !important;
  color: var(--charcoal) !important;
}
.hero .catalog-filters select option:hover,
.hero .catalog-filters select option:focus,
.hero .catalog-filters .orderby option:hover,
.hero .catalog-filters .orderby option:focus,
.catalog-filters select option:hover,
.catalog-filters select option:focus,
.catalog-filters .orderby option:hover,
.catalog-filters .orderby option:focus {
  background-color: #f5f5f5 !important;
}
.hero .catalog-filters select option:checked,
.hero .catalog-filters .orderby option:checked,
.catalog-filters select option:checked,
.catalog-filters .orderby option:checked {
  background: linear-gradient(90deg, rgba(221, 51, 51, 0.08) 0%, rgba(221, 51, 51, 0.02) 100%) !important;
  font-weight: 600 !important;
}
.hero .catalog-filters .catalog-ordering,
.catalog-filters .catalog-ordering {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  flex: 1 1 auto !important;
  min-width: 180px !important;
}
.hero .catalog-filters .catalog-ordering label,
.catalog-filters .catalog-ordering label {
  font-size: 0.85rem !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  font-weight: 600 !important;
  margin: 0 !important;
  display: none !important;
}
.hero .catalog-filters.filtering,
.catalog-filters.filtering {
  opacity: 0.7 !important;
  pointer-events: none !important;
}

.catalog {
  max-width: var(--max-width) !important;
  margin: 0 auto !important;
  padding: 48px 32px 80px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 40px !important;
  background: var(--white) !important;
}
@media screen and (max-width: -tablet-1) {
  .catalog {
    padding: 32px 20px 60px !important;
  }
}

.catalog-tools,
.catalog-summary {
  display: none !important;
}

.product-grid.woocommerce {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 1024px) {
  .product-grid.woocommerce {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}
@media (max-width: 520px) {
  .product-grid.woocommerce {
    grid-template-columns: 1fr !important;
  }
}

.product-grid.woocommerce .product-card,
.woocommerce ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
}

.product-card .product-link {
  text-decoration: none !important;
  color: inherit !important;
  display: block !important;
  text-transform: none !important;
}

.product-card .product-media__link {
  text-transform: none !important;
}

.product-media,
.woocommerce ul.products li.product .product-media {
  position: relative !important;
  overflow: hidden !important;
  background: var(--white) !important;
  aspect-ratio: 3/4 !important;
}
.product-media .product-media__link,
.woocommerce ul.products li.product .product-media .product-media__link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  line-height: 0 !important;
  padding: 12px !important;
  box-sizing: border-box !important;
}
.product-media img,
.woocommerce ul.products li.product .product-media img {
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  transition: transform 0.35s ease !important;
}
.product-card:hover .product-media img, .woocommerce ul.products li.product:hover .product-media img,
.product-card:hover .woocommerce ul.products li.product .product-media img,
.woocommerce ul.products li.product:hover .woocommerce ul.products li.product .product-media img {
  transform: scale(1.02) !important;
}
.product-media .onsale,
.woocommerce ul.products li.product .product-media .onsale {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 3 !important;
  margin: 0 !important;
  padding: 5px 10px !important;
  border-radius: 4px !important;
  background: #c62828 !important;
  color: var(--white) !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}
.product-media .product-card__cart,
.woocommerce ul.products li.product .product-media .product-card__cart {
  position: absolute !important;
  right: 10px !important;
  bottom: 10px !important;
  z-index: 4 !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: auto !important;
}

.product-card .product-card__cart .button,
.product-card .product-card__cart a.button,
.woocommerce ul.products li.product .product-card__cart .button {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  border-radius: 4px !important;
  background: #1a1a1a !important;
  color: var(--white) !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
  letter-spacing: 0 !important;
  text-indent: -9999px !important;
}
.product-card .product-card__cart .button .btn-children,
.product-card .product-card__cart a.button .btn-children,
.woocommerce ul.products li.product .product-card__cart .button .btn-children {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}
.product-card .product-card__cart .button .btn-arrow,
.product-card .product-card__cart a.button .btn-arrow,
.woocommerce ul.products li.product .product-card__cart .button .btn-arrow {
  display: none !important;
}
.product-card .product-card__cart .button::after,
.product-card .product-card__cart a.button::after,
.woocommerce ul.products li.product .product-card__cart .button::after {
  content: "+" !important;
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-indent: 0 !important;
  font-size: 1.35rem !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  color: var(--white) !important;
}
.product-card .product-card__cart .button:hover,
.product-card .product-card__cart a.button:hover,
.woocommerce ul.products li.product .product-card__cart .button:hover {
  background: var(--forest) !important;
  color: var(--white) !important;
}

.product-card .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
  padding: 12px 0 6px !important;
  line-height: 1.35 !important;
  letter-spacing: 0.02em !important;
  color: #111 !important;
  text-align: left !important;
  text-transform: capitalize !important;
}
.product-card .woocommerce-loop-product__title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title a {
  color: inherit !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.product-card .woocommerce-loop-product__title a:hover,
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover {
  color: var(--forest) !important;
}

.product-meta,
.woocommerce ul.products li.product .product-meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 0 0 8px !important;
  margin: 0 !important;
  font-size: 0.9375rem !important;
}

.product-meta .price {
  font-weight: 400 !important;
  color: var(--charcoal) !important;
}

.product-meta__price-block {
  display: inline-flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.product-stock-note--low {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  color: var(--muted) !important;
  white-space: nowrap !important;
}

.product-meta .impact {
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  color: var(--muted) !important;
  letter-spacing: 0.02em !important;
}

.product-card .product-categories,
.woocommerce ul.products li.product .product-categories {
  margin: 0 !important;
  padding: 0 0 4px !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: var(--muted) !important;
  text-align: left !important;
}

.product-card .rating,
.woocommerce ul.products li.product .rating {
  padding: 4px 0 0 !important;
  font-size: 0.8rem !important;
  color: var(--muted) !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.woocommerce-pagination {
  display: none !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  padding: 24px 0 0 !important;
  font-size: 0.9375rem !important;
}
.woocommerce-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  border: 1px solid var(--stone) !important;
  background: var(--white) !important;
  color: var(--charcoal) !important;
  text-decoration: none !important;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease !important;
}
.woocommerce-pagination .page-numbers:hover:not(.current) {
  border-color: var(--charcoal) !important;
  background: var(--sand) !important;
}
.woocommerce-pagination .page-numbers.current {
  background: var(--charcoal) !important;
  color: var(--white) !important;
  border-color: var(--charcoal) !important;
}
.woocommerce-pagination .page-numbers.dots {
  border: none !important;
  background: transparent !important;
  min-width: auto !important;
}

.woocommerce-pagination .current {
  font-weight: 600 !important;
}

.product-single {
  max-width: var(--max-width) !important;
  margin: 0 auto !important;
  padding: 48px 32px 80px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 56px !important;
  background: var(--white) !important;
}
@media screen and (max-width: -tablet-1) {
  .product-single {
    padding: 32px 20px 64px !important;
    gap: 40px !important;
  }
}

.product-single .woocommerce-notices-wrapper {
  margin: 0 !important;
  padding: 25px !important;
  background: var(--white) !important;
  border-radius: 12px !important;
  border: 1px solid rgba(12, 58, 38, 0.08) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
  overflow: hidden !important;
}

.product-single .woocommerce-notices-wrapper:empty {
  display: none !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.product-single .woocommerce-error,
.product-single .woocommerce-message,
.product-single .woocommerce-info {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.product-single .woocommerce-error::before,
.product-single .woocommerce-message::before,
.product-single .woocommerce-info::before {
  display: none !important;
  content: none !important;
}
.product-single .woocommerce-error li,
.product-single .woocommerce-message li,
.product-single .woocommerce-info li {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px 20px !important;
  margin: 0 !important;
  padding: 12px 0 12px 14px !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
  color: var(--charcoal) !important;
}
.product-single .woocommerce-error a.button.wc-forward,
.product-single .woocommerce-message a.button.wc-forward,
.product-single .woocommerce-info a.button.wc-forward {
  flex-shrink: 0 !important;
  display: inline-block !important;
  margin: 0 !important;
  padding: 12px 24px !important;
  background: #333 !important;
  color: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 3px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  text-decoration: none !important;
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
}
.product-single .woocommerce-error a.button.wc-forward:hover,
.product-single .woocommerce-message a.button.wc-forward:hover,
.product-single .woocommerce-info a.button.wc-forward:hover {
  background: var(--forest) !important;
  border-color: var(--forest) !important;
  color: #fff !important;
}

.product-single .woocommerce-error li > *:not(a.button),
.product-single .woocommerce-message li > *:not(a.button),
.product-single .woocommerce-info li > *:not(a.button) {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.product-single .woocommerce-error li {
  border-left: 4px solid rgba(180, 60, 50, 0.45) !important;
}

.product-single .woocommerce-message li {
  border-left: 4px solid rgba(141, 198, 63, 0.5) !important;
}

.product-single .woocommerce-info li {
  border-left: 4px solid rgba(12, 58, 38, 0.2) !important;
}

.wc-block-cart .wc-block-cart-items .wc-block-cart-item__product .wc-block-components-product-metadata,
.wc-block-cart .wc-block-cart-items .wc-block-cart-item__product .wc-block-components-product-metadata__description {
  display: none !important;
}

.wc-block-checkout-order-summary .wc-block-components-product-details,
.wc-block-checkout-order-summary .wc-block-components-order-summary-item .wc-block-components-product-metadata,
.wc-block-checkout-order-summary .wc-block-components-order-summary-item .wc-block-components-product-metadata__description,
.wc-block-components-order-summary-item .wc-block-components-product-metadata,
.wc-block-components-order-summary-item .wc-block-components-product-metadata__description,
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata,
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata__description {
  display: none !important;
}

.wc-block-components-order-summary-item .wc-block-components-product-metadata__description p {
  display: none !important;
}

.wc-block-mini-cart__items .wc-block-mini-cart-item__product-metadata,
.wc-block-mini-cart__items .wc-block-mini-cart-item__product-metadata .wc-block-components-product-metadata__description {
  display: none !important;
}

.wc-block-components-quantity-selector {
  display: inline-flex !important;
  align-items: stretch !important;
  width: fit-content !important;
  max-width: 100% !important;
  border: 1px solid rgba(12, 58, 38, 0.18) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #f8f9f9 !important;
  box-sizing: border-box !important;
}

.wc-block-components-quantity-selector__input {
  width: 2.5em !important;
  min-width: 2.5em !important;
  max-width: 3.5em !important;
  padding: 8px 4px !important;
  margin: 0 !important;
  border: none !important;
  border-left: 1px solid rgba(12, 58, 38, 0.12) !important;
  border-right: 1px solid rgba(12, 58, 38, 0.12) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  text-align: center !important;
  color: var(--charcoal) !important;
  background: var(--white) !important;
  box-sizing: border-box !important;
  -moz-appearance: textfield !important;
}
.wc-block-components-quantity-selector__input::-webkit-outer-spin-button, .wc-block-components-quantity-selector__input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.wc-block-components-quantity-selector__button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2.25rem !important;
  min-width: 2.25rem !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: rgba(12, 58, 38, 0.08) !important;
  color: var(--charcoal) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}
.wc-block-components-quantity-selector__button:hover:not(:disabled) {
  background: rgba(12, 58, 38, 0.14) !important;
  color: var(--charcoal) !important;
}
.wc-block-components-quantity-selector__button:disabled {
  opacity: 0.35 !important;
  cursor: not-allowed !important;
}

.wc-block-cart__submit-container .wc-block-components-button,
.wc-block-cart a.wc-block-components-button[href*=checkout],
.wc-block-checkout__actions_row .wc-block-components-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 15px 24px !important;
  min-width: 200px !important;
  width: auto !important;
  max-width: 100% !important;
  border-radius: 3px !important;
  border: 1px solid transparent !important;
  background: #333 !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  text-decoration: none !important;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
  cursor: pointer !important;
}
.wc-block-cart__submit-container .wc-block-components-button:hover,
.wc-block-cart a.wc-block-components-button[href*=checkout]:hover,
.wc-block-checkout__actions_row .wc-block-components-button:hover {
  background: var(--forest) !important;
  border-color: var(--forest) !important;
  color: #fff !important;
}
.wc-block-cart__submit-container .wc-block-components-button .wc-block-components-button__text,
.wc-block-cart a.wc-block-components-button[href*=checkout] .wc-block-components-button__text,
.wc-block-checkout__actions_row .wc-block-components-button .wc-block-components-button__text {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}

.wc-block-cart .wc-block-components-express-payment {
  width: 100% !important;
  margin: 0 0 12px !important;
}
.wc-block-cart .wc-block-components-express-payment__content {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
}
.wc-block-cart .wc-block-components-express-payment ul,
.wc-block-cart .wc-block-components-express-payment ol,
.wc-block-cart ul.wc-block-components-express-payment__event-buttons {
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}
.wc-block-cart .wc-block-components-express-payment li {
  margin: 0 !important;
}
.wc-block-cart .ppc-button-wrapper,
.wc-block-cart [id^=ppc-button-] {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.wc-block-cart .wc-block-components-express-payment-continue-rule {
  width: 100% !important;
  margin: 4px 0 12px !important;
  text-align: center !important;
}
.wc-block-cart .wc-block-cart__submit-container {
  width: 100% !important;
}
.wc-block-cart .wc-block-cart__submit-container .wc-block-components-button,
.wc-block-cart .wc-block-cart a.wc-block-components-button[href*=checkout] {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.wc-block-components-checkout-return-to-cart-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 15px 24px 15px 28px !important;
  line-height: 1 !important;
  min-width: 160px !important;
  width: auto !important;
  max-width: 100% !important;
  border-radius: 3px !important;
  border: 1px solid rgba(12, 58, 38, 0.35) !important;
  background: transparent !important;
  color: var(--charcoal) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  text-decoration: none !important;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
  cursor: pointer !important;
}
.wc-block-components-checkout-return-to-cart-button svg {
  display: none !important;
}
.wc-block-components-checkout-return-to-cart-button:hover {
  background: var(--forest) !important;
  border-color: var(--forest) !important;
  color: #fff !important;
}

.article .entry-content .woocommerce,
body.woocommerce-checkout .article .entry-content .woocommerce {
  color: var(--charcoal) !important;
}
.article .entry-content .woocommerce .woocommerce-error,
.article .entry-content .woocommerce .woocommerce-message,
.article .entry-content .woocommerce .woocommerce-info,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-error,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-message,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-info {
  list-style: none !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 1px solid rgba(12, 58, 38, 0.08) !important;
  border-radius: 12px !important;
  background: var(--white) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
  overflow: hidden !important;
}
.article .entry-content .woocommerce .woocommerce-error::before,
.article .entry-content .woocommerce .woocommerce-message::before,
.article .entry-content .woocommerce .woocommerce-info::before,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-error::before,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-message::before,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-info::before {
  display: none !important;
  content: none !important;
}
.article .entry-content .woocommerce .woocommerce-error li,
.article .entry-content .woocommerce .woocommerce-message li,
.article .entry-content .woocommerce .woocommerce-info li,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-error li,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-message li,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-info li {
  display: block !important;
  margin: 0 !important;
  padding: 12px 16px 12px 18px !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
  color: var(--charcoal) !important;
}
.article .entry-content .woocommerce .woocommerce-error li,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-error li {
  border-left: 4px solid rgba(180, 60, 50, 0.45) !important;
}
.article .entry-content .woocommerce .woocommerce-message li,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-message li {
  border-left: 4px solid rgba(141, 198, 63, 0.5) !important;
}
.article .entry-content .woocommerce .woocommerce-info li,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-info li {
  border-left: 4px solid rgba(12, 58, 38, 0.2) !important;
}
.article .entry-content .woocommerce form.checkout.woocommerce-checkout,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: 1.1fr 0.9fr !important;
  grid-template-rows: auto !important;
  gap: 40px 48px !important;
  align-items: start !important;
  margin: 0 !important;
}
@media screen and (max-width: 1023px) {
  .article .entry-content .woocommerce form.checkout.woocommerce-checkout,
  body.woocommerce-checkout .article .entry-content .woocommerce form.checkout.woocommerce-checkout {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
  }
}
.article .entry-content .woocommerce form.checkout.woocommerce-checkout::before, .article .entry-content .woocommerce form.checkout.woocommerce-checkout::after,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout.woocommerce-checkout::before,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout.woocommerce-checkout::after {
  display: none !important;
  content: none !important;
}
.article .entry-content .woocommerce form.checkout.woocommerce-checkout #customer_details,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout.woocommerce-checkout #customer_details {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}
@media screen and (max-width: 1023px) {
  .article .entry-content .woocommerce form.checkout.woocommerce-checkout #customer_details,
  body.woocommerce-checkout .article .entry-content .woocommerce form.checkout.woocommerce-checkout #customer_details {
    order: 1 !important;
    grid-column: unset !important;
    grid-row: unset !important;
  }
}
.article .entry-content .woocommerce form.checkout.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout.woocommerce-checkout #order_review_heading {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: var(--charcoal) !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
}
@media screen and (max-width: 1023px) {
  .article .entry-content .woocommerce form.checkout.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout .article .entry-content .woocommerce form.checkout.woocommerce-checkout #order_review_heading {
    order: 2 !important;
    grid-column: unset !important;
    grid-row: unset !important;
    margin: 8px 0 16px !important;
  }
}
.article .entry-content .woocommerce form.checkout.woocommerce-checkout #order_review,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout.woocommerce-checkout #order_review {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  margin-top: calc(1.625rem + 16px) !important;
  float: none !important;
  width: 100% !important;
  position: sticky !important;
  top: 24px !important;
}
@media screen and (max-width: 1023px) {
  .article .entry-content .woocommerce form.checkout.woocommerce-checkout #order_review,
  body.woocommerce-checkout .article .entry-content .woocommerce form.checkout.woocommerce-checkout #order_review {
    order: 3 !important;
    grid-column: unset !important;
    grid-row: unset !important;
    margin-top: 0 !important;
    position: static !important;
  }
}
.article .entry-content .woocommerce .col2-set,
body.woocommerce-checkout .article .entry-content .woocommerce .col2-set {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}
.article .entry-content .woocommerce .col2-set::before, .article .entry-content .woocommerce .col2-set::after,
body.woocommerce-checkout .article .entry-content .woocommerce .col2-set::before,
body.woocommerce-checkout .article .entry-content .woocommerce .col2-set::after {
  display: none !important;
  content: none !important;
}
.article .entry-content .woocommerce .col2-set .col-1,
.article .entry-content .woocommerce .col2-set .col-2,
body.woocommerce-checkout .article .entry-content .woocommerce .col2-set .col-1,
body.woocommerce-checkout .article .entry-content .woocommerce .col2-set .col-2 {
  float: none !important;
  width: 100% !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
}
.article .entry-content .woocommerce .col2-set .col-1:last-child,
.article .entry-content .woocommerce .col2-set .col-2:last-child,
body.woocommerce-checkout .article .entry-content .woocommerce .col2-set .col-1:last-child,
body.woocommerce-checkout .article .entry-content .woocommerce .col2-set .col-2:last-child {
  margin-bottom: 0 !important;
}
.article .entry-content .woocommerce .woocommerce-billing-fields > h3,
.article .entry-content .woocommerce .woocommerce-shipping-fields > h3,
.article .entry-content .woocommerce #ship-to-different-address,
.article .entry-content .woocommerce .woocommerce-additional-fields > h3,
.article .entry-content .woocommerce h3#ship-to-different-address,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-billing-fields > h3,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-shipping-fields > h3,
body.woocommerce-checkout .article .entry-content .woocommerce #ship-to-different-address,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-additional-fields > h3,
body.woocommerce-checkout .article .entry-content .woocommerce h3#ship-to-different-address {
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: var(--charcoal) !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  letter-spacing: -0.01em !important;
}
.article .entry-content .woocommerce #ship-to-different-address,
body.woocommerce-checkout .article .entry-content .woocommerce #ship-to-different-address {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}
.article .entry-content .woocommerce #ship-to-different-address label,
body.woocommerce-checkout .article .entry-content .woocommerce #ship-to-different-address label {
  margin: 0 !important;
  font-weight: inherit !important;
  color: var(--charcoal) !important;
  cursor: pointer !important;
}
.article .entry-content .woocommerce #ship-to-different-address input[type=checkbox],
body.woocommerce-checkout .article .entry-content .woocommerce #ship-to-different-address input[type=checkbox] {
  margin: 0 !important;
  accent-color: var(--forest) !important;
}
.article .entry-content .woocommerce .form-row,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row {
  margin: 0 0 14px !important;
  padding: 0 !important;
}
.article .entry-content .woocommerce .form-row label,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row label {
  display: block !important;
  margin: 0 0 6px !important;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: var(--charcoal) !important;
  letter-spacing: 0.01em !important;
}
.article .entry-content .woocommerce .form-row label .required,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row label .required {
  color: var(--forest) !important;
  text-decoration: none !important;
}
.article .entry-content .woocommerce .form-row label .optional,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row label .optional {
  color: var(--muted) !important;
  font-weight: 400 !important;
}
.article .entry-content .woocommerce .form-row.woocommerce-invalid label,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row.woocommerce-invalid label {
  color: var(--charcoal) !important;
}
.article .entry-content .woocommerce .form-row.woocommerce-invalid input.input-text,
.article .entry-content .woocommerce .form-row.woocommerce-invalid select,
.article .entry-content .woocommerce .form-row.woocommerce-invalid textarea,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row.woocommerce-invalid input.input-text,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row.woocommerce-invalid select,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row.woocommerce-invalid textarea {
  border-color: rgba(180, 60, 50, 0.55) !important;
}
.article .entry-content .woocommerce .form-row input.input-text,
.article .entry-content .woocommerce .form-row textarea,
.article .entry-content .woocommerce .form-row select,
.article .entry-content .woocommerce input[type=text],
.article .entry-content .woocommerce input[type=email],
.article .entry-content .woocommerce input[type=password],
.article .entry-content .woocommerce input[type=tel],
.article .entry-content .woocommerce textarea,
.article .entry-content .woocommerce select,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row input.input-text,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row textarea,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row select,
body.woocommerce-checkout .article .entry-content .woocommerce input[type=text],
body.woocommerce-checkout .article .entry-content .woocommerce input[type=email],
body.woocommerce-checkout .article .entry-content .woocommerce input[type=password],
body.woocommerce-checkout .article .entry-content .woocommerce input[type=tel],
body.woocommerce-checkout .article .entry-content .woocommerce textarea,
body.woocommerce-checkout .article .entry-content .woocommerce select {
  width: 100% !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  border-radius: 8px !important;
  background: #fafafa !important;
  color: var(--charcoal) !important;
  box-shadow: none !important;
  font-family: "Commissioner", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 0.9375rem !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}
.article .entry-content .woocommerce .form-row input.input-text,
.article .entry-content .woocommerce input[type=text],
.article .entry-content .woocommerce input[type=email],
.article .entry-content .woocommerce input[type=password],
.article .entry-content .woocommerce input[type=tel],
.article .entry-content .woocommerce select,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row input.input-text,
body.woocommerce-checkout .article .entry-content .woocommerce input[type=text],
body.woocommerce-checkout .article .entry-content .woocommerce input[type=email],
body.woocommerce-checkout .article .entry-content .woocommerce input[type=password],
body.woocommerce-checkout .article .entry-content .woocommerce input[type=tel],
body.woocommerce-checkout .article .entry-content .woocommerce select {
  min-height: 44px !important;
  padding: 10px 12px !important;
}
.article .entry-content .woocommerce .form-row textarea,
.article .entry-content .woocommerce textarea,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row textarea,
body.woocommerce-checkout .article .entry-content .woocommerce textarea {
  min-height: 100px !important;
  padding: 12px !important;
  line-height: 1.5 !important;
}
.article .entry-content .woocommerce .form-row input.input-text:focus,
.article .entry-content .woocommerce .form-row textarea:focus,
.article .entry-content .woocommerce .form-row select:focus,
.article .entry-content .woocommerce input[type=text]:focus,
.article .entry-content .woocommerce input[type=email]:focus,
.article .entry-content .woocommerce input[type=password]:focus,
.article .entry-content .woocommerce input[type=tel]:focus,
.article .entry-content .woocommerce textarea:focus,
.article .entry-content .woocommerce select:focus,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row input.input-text:focus,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row textarea:focus,
body.woocommerce-checkout .article .entry-content .woocommerce .form-row select:focus,
body.woocommerce-checkout .article .entry-content .woocommerce input[type=text]:focus,
body.woocommerce-checkout .article .entry-content .woocommerce input[type=email]:focus,
body.woocommerce-checkout .article .entry-content .woocommerce input[type=password]:focus,
body.woocommerce-checkout .article .entry-content .woocommerce input[type=tel]:focus,
body.woocommerce-checkout .article .entry-content .woocommerce textarea:focus,
body.woocommerce-checkout .article .entry-content .woocommerce select:focus {
  outline: none !important;
  border-color: rgba(0, 0, 0, 0.24) !important;
  background: var(--white) !important;
}
.article .entry-content .woocommerce .select2-container--default .select2-selection--single,
body.woocommerce-checkout .article .entry-content .woocommerce .select2-container--default .select2-selection--single {
  height: 44px !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  border-radius: 8px !important;
  background: #fafafa !important;
  box-shadow: none !important;
}
.article .entry-content .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered,
body.woocommerce-checkout .article .entry-content .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 42px !important;
  padding-left: 12px !important;
  padding-right: 32px !important;
  color: var(--charcoal) !important;
  font-size: 0.9375rem !important;
}
.article .entry-content .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow,
body.woocommerce-checkout .article .entry-content .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 42px !important;
  right: 8px !important;
}
.article .entry-content .woocommerce .select2-container--default.select2-container--open .select2-selection--single,
.article .entry-content .woocommerce .select2-container--default.select2-container--focus .select2-selection--single,
body.woocommerce-checkout .article .entry-content .woocommerce .select2-container--default.select2-container--open .select2-selection--single,
body.woocommerce-checkout .article .entry-content .woocommerce .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: rgba(0, 0, 0, 0.24) !important;
  background: var(--white) !important;
}
.article .entry-content .woocommerce .form-row input[type=checkbox],
.article .entry-content .woocommerce #payment input[type=checkbox],
body.woocommerce-checkout .article .entry-content .woocommerce .form-row input[type=checkbox],
body.woocommerce-checkout .article .entry-content .woocommerce #payment input[type=checkbox] {
  accent-color: var(--forest) !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
}
.article .entry-content .woocommerce .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-terms-and-conditions-wrapper {
  margin: 16px 0 !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
  color: var(--charcoal) !important;
}
.article .entry-content .woocommerce .woocommerce-terms-and-conditions-wrapper a,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-terms-and-conditions-wrapper a {
  color: var(--forest) !important;
}
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table {
  border-collapse: collapse !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 20px !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: var(--white) !important;
  table-layout: auto !important;
}
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table thead,
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody,
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table thead,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot {
  height: auto !important;
}
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody tr,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody tr {
  height: auto !important;
}
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table th,
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table td,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table td {
  padding: 12px 14px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  font-size: 0.9375rem !important;
  line-height: 1.45 !important;
  color: var(--charcoal) !important;
  vertical-align: top !important;
}
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table thead th,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table thead th {
  background: rgba(0, 0, 0, 0.03) !important;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.8125rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--muted) !important;
}
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody tr:last-child td,
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr:last-child th,
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr:last-child td,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody tr:last-child td,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr:last-child th,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot tr:last-child td {
  border-bottom: none !important;
}
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table .product-name,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table .product-name {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-transform: none !important;
}
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table .product-name a,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table .product-name a {
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: var(--charcoal) !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-family: "Commissioner", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table .product-name a:hover,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table .product-name a:hover {
  color: var(--forest) !important;
  text-decoration: underline !important;
}
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table .product-total,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table .product-total {
  text-align: right !important;
  white-space: nowrap !important;
}
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table dl.variation,
.article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table .wc-item-meta,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table dl.variation,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table.woocommerce-checkout-review-order-table .wc-item-meta {
  display: none !important;
}
.article .entry-content .woocommerce table.shop_table tfoot th,
.article .entry-content .woocommerce table.shop_table tfoot td,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table tfoot th,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table tfoot td {
  font-weight: 500 !important;
}
.article .entry-content .woocommerce table.shop_table tfoot .order-total th,
.article .entry-content .woocommerce table.shop_table tfoot .order-total td,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table tfoot .order-total th,
body.woocommerce-checkout .article .entry-content .woocommerce table.shop_table tfoot .order-total td {
  font-size: 1.0625rem !important;
  font-weight: 700 !important;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  border-top: 2px solid rgba(0, 0, 0, 0.1) !important;
  padding-top: 14px !important;
}
.article .entry-content .woocommerce .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-form-coupon-toggle {
  margin: 0 0 10px !important;
}
.article .entry-content .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info {
  margin: 0 !important;
  padding: 10px 14px !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 8px !important;
  background: rgba(0, 0, 0, 0.02) !important;
  box-shadow: none !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
}
.article .entry-content .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info li,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info li {
  padding: 0 !important;
  border-left: none !important;
}
.article .entry-content .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon {
  color: var(--forest) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
.article .entry-content .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon:hover,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon:hover {
  color: var(--forest-dark) !important;
}
.article .entry-content .woocommerce form.checkout_coupon,
.article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout_coupon,
body.woocommerce-checkout .article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon {
  display: none !important;
}
.article .entry-content .woocommerce form.checkout_coupon[style*="display: block"], .article .entry-content .woocommerce form.checkout_coupon[style*="display: flex"], .article .entry-content .woocommerce form.checkout_coupon[style*="display: grid"], .article .entry-content .woocommerce form.checkout_coupon[style*="display: inline-block"],
.article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon[style*="display: block"],
.article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon[style*="display: flex"],
.article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon[style*="display: grid"],
.article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon[style*="display: inline-block"],
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout_coupon[style*="display: block"],
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout_coupon[style*="display: flex"],
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout_coupon[style*="display: grid"],
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout_coupon[style*="display: inline-block"],
body.woocommerce-checkout .article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon[style*="display: block"],
body.woocommerce-checkout .article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon[style*="display: flex"],
body.woocommerce-checkout .article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon[style*="display: grid"],
body.woocommerce-checkout .article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon[style*="display: inline-block"] {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 10px !important;
  margin: 0 0 24px !important;
  padding: 12px !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 10px !important;
  background: rgba(0, 0, 0, 0.02) !important;
}
.article .entry-content .woocommerce form.checkout_coupon::before, .article .entry-content .woocommerce form.checkout_coupon::after,
.article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon::before,
.article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon::after,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout_coupon::before,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout_coupon::after,
body.woocommerce-checkout .article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon::before,
body.woocommerce-checkout .article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon::after {
  display: none !important;
  content: none !important;
}
.article .entry-content .woocommerce form.checkout_coupon .clear,
.article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .clear,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout_coupon .clear,
body.woocommerce-checkout .article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .clear {
  display: none !important;
}
.article .entry-content .woocommerce form.checkout_coupon .form-row,
.article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .form-row,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout_coupon .form-row,
body.woocommerce-checkout .article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .form-row {
  display: block !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
.article .entry-content .woocommerce form.checkout_coupon .form-row.form-row-first,
.article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .form-row.form-row-first,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout_coupon .form-row.form-row-first,
body.woocommerce-checkout .article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .form-row.form-row-first {
  flex: 1 1 200px !important;
  min-width: 0 !important;
}
.article .entry-content .woocommerce form.checkout_coupon .form-row.form-row-last,
.article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .form-row.form-row-last,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout_coupon .form-row.form-row-last,
body.woocommerce-checkout .article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .form-row.form-row-last {
  flex: 0 0 auto !important;
}
.article .entry-content .woocommerce form.checkout_coupon .form-row label,
.article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .form-row label,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout_coupon .form-row label,
body.woocommerce-checkout .article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .form-row label {
  display: none !important;
}
.article .entry-content .woocommerce form.checkout_coupon .form-row input.input-text,
.article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .form-row input.input-text,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout_coupon .form-row input.input-text,
body.woocommerce-checkout .article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .form-row input.input-text {
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
}
.article .entry-content .woocommerce form.checkout_coupon .button,
.article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .button,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout_coupon .button,
body.woocommerce-checkout .article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  height: 100% !important;
  padding: 10px 20px !important;
  border-radius: 3px !important;
  border: 1px solid rgba(12, 58, 38, 0.35) !important;
  background: transparent !important;
  color: var(--charcoal) !important;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
}
.article .entry-content .woocommerce form.checkout_coupon .button:hover,
.article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .button:hover,
body.woocommerce-checkout .article .entry-content .woocommerce form.checkout_coupon .button:hover,
body.woocommerce-checkout .article .entry-content .woocommerce .checkout_coupon.woocommerce-form-coupon .button:hover {
  background: var(--forest) !important;
  border-color: var(--forest) !important;
  color: #fff !important;
}
.article .entry-content .woocommerce .woocommerce:has(form.checkout_coupon[style*="display: block"]) .woocommerce-form-coupon-toggle,
.article .entry-content .woocommerce .woocommerce:has(form.checkout_coupon[style*="display: flex"]) .woocommerce-form-coupon-toggle,
.article .entry-content .woocommerce .woocommerce:has(form.checkout_coupon[style*="display: grid"]) .woocommerce-form-coupon-toggle,
.article .entry-content .woocommerce .woocommerce:has(form.checkout_coupon[style*="display: inline-block"]) .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce:has(form.checkout_coupon[style*="display: block"]) .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce:has(form.checkout_coupon[style*="display: flex"]) .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce:has(form.checkout_coupon[style*="display: grid"]) .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .article .entry-content .woocommerce .woocommerce:has(form.checkout_coupon[style*="display: inline-block"]) .woocommerce-form-coupon-toggle {
  display: none !important;
}
.article .entry-content .woocommerce #payment.woocommerce-checkout-payment,
body.woocommerce-checkout .article .entry-content .woocommerce #payment.woocommerce-checkout-payment {
  background: rgba(0, 0, 0, 0.02) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
.article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods,
body.woocommerce-checkout .article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}
.article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods > li,
body.woocommerce-checkout .article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods > li {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}
.article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods > li:last-child,
body.woocommerce-checkout .article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods > li:last-child {
  border-bottom: none !important;
}
.article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods label,
body.woocommerce-checkout .article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods label {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 14px 16px 14px 10px !important;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: var(--charcoal) !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}
.article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods label img,
body.woocommerce-checkout .article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods label img {
  max-height: 24px !important;
  width: auto !important;
}
.article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods input[type=radio],
body.woocommerce-checkout .article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods input[type=radio] {
  accent-color: var(--forest) !important;
  margin: 0 0 0 16px !important;
  flex-shrink: 0 !important;
  align-self: center !important;
}
.article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods li:hover label,
.article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method > input:checked + label,
body.woocommerce-checkout .article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods li:hover label,
body.woocommerce-checkout .article .entry-content .woocommerce #payment.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method > input:checked + label {
  background: rgba(0, 0, 0, 0.03) !important;
}
.article .entry-content .woocommerce #payment.woocommerce-checkout-payment .payment_box,
body.woocommerce-checkout .article .entry-content .woocommerce #payment.woocommerce-checkout-payment .payment_box {
  margin: 0 !important;
  padding: 12px 16px 16px 40px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  color: var(--muted) !important;
  flex: 0 0 100% !important;
  width: 100% !important;
}
.article .entry-content .woocommerce #payment.woocommerce-checkout-payment .payment_box::before,
body.woocommerce-checkout .article .entry-content .woocommerce #payment.woocommerce-checkout-payment .payment_box::before {
  display: none !important;
}
.article .entry-content .woocommerce #payment.woocommerce-checkout-payment .place-order,
body.woocommerce-checkout .article .entry-content .woocommerce #payment.woocommerce-checkout-payment .place-order {
  margin: 0 !important;
  padding: 16px !important;
  background: var(--white) !important;
}
.article .entry-content .woocommerce #place_order:not(.ppcp-hidden),
.article .entry-content .woocommerce button#place_order:not(.ppcp-hidden),
.article .entry-content .woocommerce .ppcp-dcc-order-button,
.article .entry-content .woocommerce #ppcp-hosted-fields button[type=submit],
body.woocommerce-checkout .article .entry-content .woocommerce #place_order:not(.ppcp-hidden),
body.woocommerce-checkout .article .entry-content .woocommerce button#place_order:not(.ppcp-hidden),
body.woocommerce-checkout .article .entry-content .woocommerce .ppcp-dcc-order-button,
body.woocommerce-checkout .article .entry-content .woocommerce #ppcp-hosted-fields button[type=submit] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 15px 24px !important;
  border-radius: 3px !important;
  border: 1px solid transparent !important;
  background: #333 !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
  box-shadow: none !important;
}
.article .entry-content .woocommerce #place_order:not(.ppcp-hidden):hover, .article .entry-content .woocommerce #place_order:not(.ppcp-hidden):focus,
.article .entry-content .woocommerce button#place_order:not(.ppcp-hidden):hover,
.article .entry-content .woocommerce button#place_order:not(.ppcp-hidden):focus,
.article .entry-content .woocommerce .ppcp-dcc-order-button:hover,
.article .entry-content .woocommerce .ppcp-dcc-order-button:focus,
.article .entry-content .woocommerce #ppcp-hosted-fields button[type=submit]:hover,
.article .entry-content .woocommerce #ppcp-hosted-fields button[type=submit]:focus,
body.woocommerce-checkout .article .entry-content .woocommerce #place_order:not(.ppcp-hidden):hover,
body.woocommerce-checkout .article .entry-content .woocommerce #place_order:not(.ppcp-hidden):focus,
body.woocommerce-checkout .article .entry-content .woocommerce button#place_order:not(.ppcp-hidden):hover,
body.woocommerce-checkout .article .entry-content .woocommerce button#place_order:not(.ppcp-hidden):focus,
body.woocommerce-checkout .article .entry-content .woocommerce .ppcp-dcc-order-button:hover,
body.woocommerce-checkout .article .entry-content .woocommerce .ppcp-dcc-order-button:focus,
body.woocommerce-checkout .article .entry-content .woocommerce #ppcp-hosted-fields button[type=submit]:hover,
body.woocommerce-checkout .article .entry-content .woocommerce #ppcp-hosted-fields button[type=submit]:focus {
  background: var(--forest) !important;
  border-color: var(--forest) !important;
  color: #fff !important;
}
.article .entry-content .woocommerce #place_order.ppcp-hidden,
.article .entry-content .woocommerce button#place_order.ppcp-hidden,
body.woocommerce-checkout .article .entry-content .woocommerce #place_order.ppcp-hidden,
body.woocommerce-checkout .article .entry-content .woocommerce button#place_order.ppcp-hidden {
  display: none !important;
}
.article .entry-content .woocommerce a,
body.woocommerce-checkout .article .entry-content .woocommerce a {
  color: var(--forest) !important;
  transition: color 0.2s ease !important;
}
.article .entry-content .woocommerce a:hover,
body.woocommerce-checkout .article .entry-content .woocommerce a:hover {
  color: var(--forest-dark) !important;
}

.product-overview {
  display: grid !important;
  grid-template-columns: 1.05fr 1fr !important;
  gap: 56px !important;
  align-items: start !important;
}
@media screen and (max-width: -tablet-1) {
  .product-overview {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

.product-gallery {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.product-gallery .flex-viewport {
  max-width: 100% !important;
  overflow: hidden !important;
  background: var(--white) !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
  border: none !important;
}
@media screen and (max-width: -tablet-1) {
  .product-gallery .flex-viewport {
    border-radius: 12px !important;
  }
}

.product-gallery .flex-viewport .woocommerce-product-gallery__wrapper {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.product-gallery .woocommerce-product-gallery:not(:has(.flex-viewport)) > .woocommerce-product-gallery__wrapper {
  background: var(--white) !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
  border: none !important;
}
@media screen and (max-width: -tablet-1) {
  .product-gallery .woocommerce-product-gallery:not(:has(.flex-viewport)) > .woocommerce-product-gallery__wrapper {
    border-radius: 12px !important;
  }
}

.product-gallery .flex-viewport img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

.product-gallery .woocommerce-product-gallery:not(:has(.flex-viewport)) > .woocommerce-product-gallery__wrapper img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

.product-gallery .woocommerce-product-gallery {
  position: relative !important;
}

.product-gallery .woocommerce-product-gallery__trigger {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(12, 58, 38, 0.12) !important;
  border-radius: 50% !important;
  color: var(--charcoal) !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.product-gallery .woocommerce-product-gallery__trigger span[aria-hidden=true] {
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  background: currentColor !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") center/contain no-repeat !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") center/contain no-repeat !important;
}
.product-gallery .woocommerce-product-gallery__trigger:hover {
  background: var(--white) !important;
  border-color: var(--forest) !important;
  color: var(--forest) !important;
}

.product-gallery .flex-control-thumbs,
.product-gallery .flex-control-nav,
.woocommerce-product-gallery .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)) !important;
  gap: 12px !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: none !important;
}
.product-gallery .flex-control-thumbs li,
.product-gallery .flex-control-nav li,
.woocommerce-product-gallery .flex-control-thumbs li {
  margin: 0 !important;
  list-style: none !important;
  background: var(--white) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
@media screen and (max-width: -tablet-1) {
  .product-gallery .flex-control-thumbs li,
  .product-gallery .flex-control-nav li,
  .woocommerce-product-gallery .flex-control-thumbs li {
    border-radius: 10px !important;
  }
}
.product-gallery .flex-control-thumbs li img,
.product-gallery .flex-control-nav li img,
.woocommerce-product-gallery .flex-control-thumbs li img {
  width: 100% !important;
  height: 72px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  border: none !important;
  vertical-align: top !important;
  transition: opacity 0.2s ease !important;
}
.product-gallery .flex-control-thumbs li:hover,
.product-gallery .flex-control-nav li:hover,
.woocommerce-product-gallery .flex-control-thumbs li:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1) !important;
}
.product-gallery .flex-control-thumbs li.flex-active,
.product-gallery .flex-control-nav li.flex-active,
.woocommerce-product-gallery .flex-control-thumbs li.flex-active {
  border-color: var(--charcoal) !important;
}

.summary {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  border: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

.product-single .summary.entry-summary,
.product-single #purchase.entry-summary {
  background: var(--white) !important;
  color: var(--charcoal) !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
  padding: 28px 32px !important;
}
@media screen and (max-width: -tablet-1) {
  .product-single .summary.entry-summary,
  .product-single #purchase.entry-summary {
    border-radius: 12px !important;
    padding: 22px 20px !important;
  }
}

.summary .product_title,
.woocommerce div.product .product_title {
  font-size: 1.8rem !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
  color: var(--charcoal) !important;
  margin: 0 0 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(12, 58, 38, 0.15) !important;
}

.summary .price {
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: var(--charcoal) !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.02em !important;
}
.summary .price del {
  font-size: 1.125rem !important;
  font-weight: 400 !important;
  color: var(--muted) !important;
  opacity: 0.8 !important;
  margin-right: 10px !important;
}
.summary .price ins {
  text-decoration: none !important;
}
.summary .price .amount {
  color: var(--forest) !important;
}

.woocommerce-product-details__short-description,
.summary .woocommerce-product-details__short-description,
.summary .short-description {
  font-size: 1rem !important;
  line-height: 1.4 !important;
  color: var(--muted) !important;
  margin: 0 !important;
}
.woocommerce-product-details__short-description p,
.woocommerce-product-details__short-description li,
.summary .woocommerce-product-details__short-description p,
.summary .woocommerce-product-details__short-description li,
.summary .short-description p,
.summary .short-description li {
  font-size: 1rem !important;
  line-height: 1.4 !important;
}
.woocommerce-product-details__short-description p:last-child,
.summary .woocommerce-product-details__short-description p:last-child,
.summary .short-description p:last-child {
  margin-bottom: 0 !important;
}

.product-single .cart,
.product-single form.cart {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  margin: 8px 0 !important;
}

.product-single form.variations_form.cart {
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
}

.product-single table.variations {
  width: 100% !important;
  margin: 0 0 16px !important;
  border: none !important;
  border-collapse: collapse !important;
}
.product-single table.variations tbody,
.product-single table.variations tr,
.product-single table.variations th,
.product-single table.variations td {
  border: none !important;
  background: transparent !important;
}
.product-single table.variations tr {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 6px !important;
  margin: 0 0 16px !important;
}
.product-single table.variations tr:last-child {
  margin-bottom: 0 !important;
}
.product-single table.variations th.label,
.product-single table.variations td.label {
  flex: 0 0 auto !important;
  width: 100% !important;
  padding: 0 !important;
  vertical-align: middle !important;
}
.product-single table.variations th.label label,
.product-single table.variations td.label label {
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--charcoal) !important;
  white-space: normal !important;
}
.product-single table.variations td.value {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
}
.product-single table.variations select {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 10px 40px 10px 14px !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
  border-radius: 8px !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  font-family: "Commissioner", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: var(--charcoal) !important;
  background-color: #fafafa !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath stroke='%23555' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 7 6.5 13 1.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 14px 8px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}
.product-single table.variations select:hover {
  border-color: rgba(0, 0, 0, 0.2) !important;
  background-color: var(--white) !important;
}
.product-single table.variations select:focus {
  outline: none !important;
  border-color: rgba(0, 0, 0, 0.24) !important;
  background-color: var(--white) !important;
}
.product-single table.variations .reset_variations {
  display: inline-block !important;
  margin: 8px 0 0 !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: var(--forest) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
.product-single table.variations .reset_variations:hover {
  color: var(--forest-dark) !important;
}
.product-single .single_variation_wrap {
  width: 100% !important;
  margin-top: 4px !important;
}
.product-single .woocommerce-variation-add-to-cart,
.product-single .woocommerce-variation-add-to-cart.variations_button {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
}
.product-single .select2-container--default .select2-selection--single {
  height: 44px !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  border-radius: 8px !important;
  background: #fafafa !important;
  box-shadow: none !important;
}
.product-single .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 42px !important;
  padding-left: 14px !important;
  padding-right: 32px !important;
  color: var(--charcoal) !important;
  font-size: 0.9375rem !important;
}
.product-single .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 42px !important;
  right: 8px !important;
}
.product-single .select2-container--default.select2-container--open .select2-selection--single,
.product-single .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: rgba(0, 0, 0, 0.24) !important;
  background: var(--white) !important;
}

.product-single .quantity,
.product-single form.cart .quantity,
.product-single .woocommerce-variation-add-to-cart .quantity {
  display: inline-flex !important;
  align-items: stretch !important;
  width: fit-content !important;
  max-width: 100% !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fafafa !important;
  box-sizing: border-box !important;
}
.product-single .quantity label,
.product-single form.cart .quantity label,
.product-single .woocommerce-variation-add-to-cart .quantity label {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: var(--charcoal) !important;
  margin: 0 !important;
}
.product-single .quantity input,
.product-single .quantity input.qty,
.product-single .quantity input.input-text.qty,
.product-single form.cart .quantity input,
.product-single form.cart .quantity input.qty,
.product-single form.cart .quantity input.input-text.qty,
.product-single .woocommerce-variation-add-to-cart .quantity input,
.product-single .woocommerce-variation-add-to-cart .quantity input.qty,
.product-single .woocommerce-variation-add-to-cart .quantity input.input-text.qty {
  width: 3.25em !important;
  min-width: 52px !important;
  max-width: 72px !important;
  min-height: 44px !important;
  padding: 10px 8px !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: var(--white) !important;
  font-family: "Commissioner", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  text-align: center !important;
  color: var(--charcoal) !important;
  box-shadow: none !important;
  -moz-appearance: textfield !important;
  transition: background-color 0.2s ease !important;
}
.product-single .quantity input::-webkit-outer-spin-button, .product-single .quantity input::-webkit-inner-spin-button,
.product-single .quantity input.qty::-webkit-outer-spin-button,
.product-single .quantity input.qty::-webkit-inner-spin-button,
.product-single .quantity input.input-text.qty::-webkit-outer-spin-button,
.product-single .quantity input.input-text.qty::-webkit-inner-spin-button,
.product-single form.cart .quantity input::-webkit-outer-spin-button,
.product-single form.cart .quantity input::-webkit-inner-spin-button,
.product-single form.cart .quantity input.qty::-webkit-outer-spin-button,
.product-single form.cart .quantity input.qty::-webkit-inner-spin-button,
.product-single form.cart .quantity input.input-text.qty::-webkit-outer-spin-button,
.product-single form.cart .quantity input.input-text.qty::-webkit-inner-spin-button,
.product-single .woocommerce-variation-add-to-cart .quantity input::-webkit-outer-spin-button,
.product-single .woocommerce-variation-add-to-cart .quantity input::-webkit-inner-spin-button,
.product-single .woocommerce-variation-add-to-cart .quantity input.qty::-webkit-outer-spin-button,
.product-single .woocommerce-variation-add-to-cart .quantity input.qty::-webkit-inner-spin-button,
.product-single .woocommerce-variation-add-to-cart .quantity input.input-text.qty::-webkit-outer-spin-button,
.product-single .woocommerce-variation-add-to-cart .quantity input.input-text.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
.product-single .quantity input:focus,
.product-single .quantity input.qty:focus,
.product-single .quantity input.input-text.qty:focus,
.product-single form.cart .quantity input:focus,
.product-single form.cart .quantity input.qty:focus,
.product-single form.cart .quantity input.input-text.qty:focus,
.product-single .woocommerce-variation-add-to-cart .quantity input:focus,
.product-single .woocommerce-variation-add-to-cart .quantity input.qty:focus,
.product-single .woocommerce-variation-add-to-cart .quantity input.input-text.qty:focus {
  outline: none !important;
  background: var(--white) !important;
}

.product-single .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.product-single form.cart .single_add_to_cart_button {
  flex: 1 1 200px !important;
  min-width: 200px !important;
}

.summary .product-meta,
.product-single .product-meta {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0.875rem !important;
  color: var(--muted) !important;
  border-top: 1px solid var(--stone) !important;
  padding-top: 20px !important;
  margin-top: 8px !important;
}
.summary .product-meta li,
.product-single .product-meta li {
  display: flex !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 10px 0 !important;
}
.summary .product-meta li strong,
.product-single .product-meta li strong {
  color: var(--charcoal) !important;
  font-weight: 500 !important;
}
.summary .product-meta li span,
.summary .product-meta li a,
.product-single .product-meta li span,
.product-single .product-meta li a {
  color: var(--muted) !important;
  text-decoration: none !important;
  font-size: inherit !important;
}
.summary .product-meta li a:hover,
.product-single .product-meta li a:hover {
  color: var(--forest) !important;
}
.summary .product-meta .stock,
.summary .product-meta li span,
.product-single .product-meta .stock,
.product-single .product-meta li span {
  font-size: 0.875rem !important;
}

.product-single .product-details.tabs,
.product-single .tabs {
  background: var(--white) !important;
  border-radius: 0 !important;
  padding: 40px 0 32px !important;
  border: none !important;
  border-bottom: 1px solid #e0e0e0 !important;
}
@media screen and (max-width: -tablet-1) {
  .product-single .product-details.tabs,
  .product-single .tabs {
    padding: 32px 0 24px !important;
  }
}

.tabs-nav,
.product-single .tabs-nav,
.product-details .tabs-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  list-style: none !important;
  background: var(--white) !important;
  border-bottom: 2px solid var(--charcoal) !important;
}

.tabs-nav button,
.tabs-nav .tab-link,
.product-single .tabs-nav button,
.product-single .tabs-nav li a {
  border: none !important;
  background: var(--white) !important;
  padding: 14px 24px 12px !important;
  margin: 0 !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  color: var(--charcoal) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  text-transform: none !important;
  font-family: inherit !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -2px !important;
  transition: border-color 0.2s ease !important;
}

.tabs-nav button:hover:not(:disabled),
.tabs-nav .tab-link:hover,
.product-single .tabs-nav button:hover:not(:disabled),
.product-single .tabs-nav li a:hover {
  color: var(--charcoal) !important;
  background: var(--white) !important;
  border-bottom-color: #999 !important;
}

.tabs-nav button.is-active,
.tabs-nav .tab-link.is-active,
.product-single .tabs-nav button.is-active,
.product-single .tabs-nav li.active a {
  color: var(--charcoal) !important;
  background: var(--white) !important;
  border-bottom-color: var(--charcoal) !important;
  font-weight: 600 !important;
}

.tabs-nav button:disabled {
  color: #999 !important;
  opacity: 0.7 !important;
  cursor: not-allowed !important;
  background: var(--white) !important;
}

.product-single .tabs-content {
  background: var(--white) !important;
  color: var(--charcoal) !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
  padding: 28px 32px !important;
}
@media screen and (max-width: -tablet-1) {
  .product-single .tabs-content {
    border-radius: 12px !important;
    padding: 22px 20px !important;
  }
}
.product-single .tabs-content article {
  font-size: 1rem !important;
  line-height: 1.75 !important;
  color: var(--charcoal) !important;
  width: 100% !important;
  max-width: none !important;
  background: var(--white) !important;
}
.product-single .tabs-content article h2 {
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  margin: 0 0 12px !important;
  color: var(--charcoal) !important;
  letter-spacing: 0.02em !important;
}
.product-single .tabs-content article h3 {
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin: 24px 0 8px !important;
  color: var(--charcoal) !important;
}
.product-single .tabs-content article p {
  margin: 0 0 16px !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
  color: var(--charcoal) !important;
}
.product-single .tabs-content article ul, .product-single .tabs-content article ol {
  margin: 0 0 16px !important;
  padding-left: 1.5rem !important;
  color: var(--charcoal) !important;
}
.product-single .tabs-content article li {
  margin: 0 0 6px !important;
  color: var(--charcoal) !important;
}
.product-single .tabs-content article a {
  color: var(--charcoal) !important;
  text-decoration: underline !important;
}
.product-single .tabs-content article a:hover {
  text-decoration: none !important;
}
.product-single .tabs-content article + article {
  margin-top: 24px !important;
}

body.woocommerce .related-products ul.products,
.woocommerce .related-products ul.products,
.related-products .product-grid {
  display: grid !important;
  gap: 24px !important;
  grid-template-columns: repeat(4, 1fr) !important;
  align-items: start !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.woocommerce .related-products ul.products::before, body.woocommerce .related-products ul.products::after,
.woocommerce .related-products ul.products::before,
.woocommerce .related-products ul.products::after,
.related-products .product-grid::before,
.related-products .product-grid::after {
  display: none !important;
}
@media (max-width: 1024px) {
  body.woocommerce .related-products ul.products,
  .woocommerce .related-products ul.products,
  .related-products .product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 520px) {
  body.woocommerce .related-products ul.products,
  .woocommerce .related-products ul.products,
  .related-products .product-grid {
    grid-template-columns: 1fr !important;
  }
}

.related-products .product-card {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  border: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.badge {
  display: inline-flex !important;
  padding: 0.4rem 0.9rem !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
}

.woocommerce ul.products {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 24px !important;
}
.woocommerce ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.woocommerce .related-products ul.products {
  grid-template-columns: repeat(4, 1fr) !important;
}
@media (max-width: 1024px) {
  .woocommerce .related-products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 520px) {
  .woocommerce .related-products ul.products {
    grid-template-columns: 1fr !important;
  }
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.product-card .woocommerce-loop-product__title {
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
  padding: 12px 0 6px !important;
  line-height: 1.35 !important;
  letter-spacing: 0.02em !important;
  color: #111 !important;
  text-transform: capitalize !important;
  text-align: left !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title a,
.product-card .woocommerce-loop-product__title a {
  color: inherit !important;
  text-decoration: none !important;
  text-transform: inherit !important;
  display: block !important;
  transition: color 0.2s ease !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover,
.product-card .woocommerce-loop-product__title a:hover {
  color: var(--forest) !important;
}

.woocommerce ul.products li.product .price,
.product-card .product-meta .price {
  font-weight: 400 !important;
  color: var(--charcoal) !important;
  font-size: 0.9375rem !important;
}
.woocommerce ul.products li.product .price del,
.product-card .product-meta .price del {
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  color: var(--muted) !important;
  opacity: 0.85 !important;
  margin-right: 8px !important;
}
.woocommerce ul.products li.product .price ins,
.product-card .product-meta .price ins {
  text-decoration: none !important;
  font-weight: 600 !important;
  color: #c62828 !important;
}
.woocommerce ul.products li.product .price.price--out-of-stock,
.product-card .product-meta .price.price--out-of-stock {
  font-size: calc(0.9375rem - 2px) !important;
  color: var(--muted) !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
}

.woocommerce ul.products li.product .cart .button,
.woocommerce ul.products li.product .cart a.button {
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  background: #333 !important;
  color: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 3px !important;
  font-size: 1rem !important;
  font-weight: inherit !important;
  text-transform: none !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: stretch !important;
  text-align: left !important;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  transition: box-shadow 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98), background-color 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98), color 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98), border-color 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98) !important;
}
.woocommerce ul.products li.product .cart .button:hover,
.woocommerce ul.products li.product .cart a.button:hover {
  background: var(--forest) !important;
  border-color: var(--forest) !important;
  color: #fff !important;
}
.woocommerce ul.products li.product .cart .button .btn-children,
.woocommerce ul.products li.product .cart a.button .btn-children {
  padding: 15px 40px 15px 20px !important;
  flex: 1 !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
}
.woocommerce ul.products li.product .cart .button .btn-arrow,
.woocommerce ul.products li.product .cart a.button .btn-arrow {
  padding: 0 20px !important;
  border-left: 1px solid rgba(255, 255, 255, 0.2) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.woocommerce ul.products li.product .cart .button .btn-arrow svg,
.woocommerce ul.products li.product .cart a.button .btn-arrow svg {
  width: 6px !important;
  height: 9px !important;
  stroke: currentColor !important;
}
.woocommerce ul.products li.product .cart .button:not(:has(.btn-arrow)),
.woocommerce ul.products li.product .cart a.button:not(:has(.btn-arrow)) {
  justify-content: space-between !important;
  padding: 15px 40px 15px 20px !important;
}
.woocommerce ul.products li.product .cart .button:not(:has(.btn-arrow))::after,
.woocommerce ul.products li.product .cart a.button:not(:has(.btn-arrow))::after {
  content: "" !important;
  display: inline-block !important;
  width: 6px !important;
  height: 9px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(-45deg) !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

.woocommerce ul.products li.product .cart {
  display: block !important;
}

.woocommerce div.product .summary .single_add_to_cart_button,
.summary .single_add_to_cart_button {
  width: 100% !important;
  padding: 15px 20px !important;
  background: #333 !important;
  color: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 3px !important;
  font-size: 1rem !important;
  font-weight: inherit !important;
  text-transform: none !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  transition: box-shadow 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98), background-color 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98), color 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98), border-color 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98) !important;
}
.woocommerce div.product .summary .single_add_to_cart_button:hover,
.summary .single_add_to_cart_button:hover {
  background: var(--forest) !important;
  border-color: var(--forest) !important;
  color: #fff !important;
}

.woocommerce div.product .woocommerce-tabs {
  background: var(--white) !important;
  border-radius: 32px !important;
  padding: 32px !important;
  border: 1px solid rgba(12, 58, 38, 0.08) !important;
  margin-top: 60px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  border-bottom: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  border: 1px solid rgba(12, 58, 38, 0.2) !important;
  background: transparent !important;
  padding: 10px 16px !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  color: var(--charcoal) !important;
  font-size: 1rem !important;
  text-transform: capitalize !important;
  display: block !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  background: var(--forest) !important;
  color: var(--white) !important;
  border-color: var(--forest) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
  font-size: 1.125rem !important;
  line-height: 1.8 !important;
  color: var(--charcoal) !important;
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
  font-size: 1.5rem !important;
  margin: 0 0 20px !important;
}

.woocommerce-account .woocommerce {
  max-width: var(--max-width) !important;
  margin: 0 auto !important;
  padding: 56px 32px 80px !important;
}
@media screen and (max-width: -tablet-1) {
  .woocommerce-account .woocommerce {
    padding: 36px 20px 56px !important;
  }
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  margin-bottom: 20px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 10px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  background: var(--white) !important;
  color: var(--charcoal) !important;
  text-decoration: none !important;
  font-size: 0.825rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  transition: all 0.25s ease !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:hover a {
  border-color: rgba(0, 0, 0, 0.2) !important;
  transform: translateY(-1px) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--charcoal) !important;
  color: var(--white) !important;
  border-color: var(--charcoal) !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--white) !important;
  border: 1px solid rgba(0, 0, 0, 0.07) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
}
@media screen and (max-width: -tablet-1) {
  .woocommerce-account .woocommerce-MyAccount-content {
    padding: 18px !important;
  }
}
.woocommerce-account .woocommerce-MyAccount-content > :first-child {
  margin-top: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content p,
.woocommerce-account .woocommerce-MyAccount-content li {
  font-size: 1rem !important;
  line-height: 1.5 !important;
  color: var(--charcoal) !important;
}
.woocommerce-account .woocommerce-MyAccount-content a {
  color: var(--forest) !important;
}
.woocommerce-account .woocommerce-Address,
.woocommerce-account .woocommerce-address-fields,
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-account .woocommerce table.shop_table {
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}
.woocommerce-account .woocommerce table.shop_table th,
.woocommerce-account .woocommerce table.shop_table td {
  padding: 12px !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}
.woocommerce-account .form-row input.input-text,
.woocommerce-account .form-row textarea,
.woocommerce-account .form-row select,
.woocommerce-account input[type=text],
.woocommerce-account input[type=email],
.woocommerce-account input[type=password],
.woocommerce-account input[type=tel],
.woocommerce-account textarea,
.woocommerce-account select {
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  border-radius: 8px !important;
  background: #fafafa !important;
  color: var(--charcoal) !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}
.woocommerce-account .form-row input.input-text,
.woocommerce-account input[type=text],
.woocommerce-account input[type=email],
.woocommerce-account input[type=password],
.woocommerce-account input[type=tel],
.woocommerce-account select {
  min-height: 44px !important;
  padding: 10px 12px !important;
}
.woocommerce-account .form-row textarea,
.woocommerce-account textarea {
  min-height: 120px !important;
  padding: 12px !important;
}
.woocommerce-account .form-row input.input-text:focus,
.woocommerce-account .form-row textarea:focus,
.woocommerce-account .form-row select:focus,
.woocommerce-account input[type=text]:focus,
.woocommerce-account input[type=email]:focus,
.woocommerce-account input[type=password]:focus,
.woocommerce-account input[type=tel]:focus,
.woocommerce-account textarea:focus,
.woocommerce-account select:focus {
  outline: none !important;
  border-color: rgba(0, 0, 0, 0.24) !important;
  background: var(--white) !important;
}
.woocommerce-account .woocommerce-EditAccountForm fieldset {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-inline-size: 0 !important;
}
.woocommerce-account .woocommerce-EditAccountForm legend,
.woocommerce-account .woocommerce-EditAccountForm .form-row label,
.woocommerce-account .woocommerce-EditAccountForm .password-input + span,
.woocommerce-account .woocommerce-EditAccountForm em,
.woocommerce-account .woocommerce-EditAccountForm small {
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 0.9375rem !important;
  line-height: 1.4 !important;
  font-style: normal !important;
  color: var(--muted) !important;
  letter-spacing: 0.01em !important;
}
.woocommerce-account .woocommerce-EditAccountForm legend {
  margin: 10px 0 12px !important;
  font-weight: 600 !important;
  color: var(--charcoal) !important;
}
.woocommerce-account .woocommerce-EditAccountForm .form-row label {
  display: block !important;
  margin: 0 0 6px !important;
  font-weight: 600 !important;
  color: var(--charcoal) !important;
}
.woocommerce-account .woocommerce-EditAccountForm .form-row {
  margin-bottom: 14px !important;
}

nav ul,
.menu {
  list-style: none;
  padding: 0;
}

.grid {
  display: flex;
  flex-flow: row wrap;
  position: relative;
  margin-left: -20px;
  margin-right: -20px;
}

[class^=grid-],
[class*=" grid-"] {
  padding: 20px;
}

.grid-xs-1 {
  width: calc(100% / (12 / 1));
}

.offset-xs-1 {
  margin-left: calc(100% / (12 / 1));
}

.grid-xs-2 {
  width: calc(100% / (12 / 2));
}

.offset-xs-2 {
  margin-left: calc(100% / (12 / 2));
}

.grid-xs-3 {
  width: calc(100% / (12 / 3));
}

.offset-xs-3 {
  margin-left: calc(100% / (12 / 3));
}

.grid-xs-4 {
  width: calc(100% / (12 / 4));
}

.offset-xs-4 {
  margin-left: calc(100% / (12 / 4));
}

.grid-xs-5 {
  width: calc(100% / (12 / 5));
}

.offset-xs-5 {
  margin-left: calc(100% / (12 / 5));
}

.grid-xs-6 {
  width: calc(100% / (12 / 6));
}

.offset-xs-6 {
  margin-left: calc(100% / (12 / 6));
}

.grid-xs-7 {
  width: calc(100% / (12 / 7));
}

.offset-xs-7 {
  margin-left: calc(100% / (12 / 7));
}

.grid-xs-8 {
  width: calc(100% / (12 / 8));
}

.offset-xs-8 {
  margin-left: calc(100% / (12 / 8));
}

.grid-xs-9 {
  width: calc(100% / (12 / 9));
}

.offset-xs-9 {
  margin-left: calc(100% / (12 / 9));
}

.grid-xs-10 {
  width: calc(100% / (12 / 10));
}

.offset-xs-10 {
  margin-left: calc(100% / (12 / 10));
}

.grid-xs-11 {
  width: calc(100% / (12 / 11));
}

.offset-xs-11 {
  margin-left: calc(100% / (12 / 11));
}

.grid-xs-12 {
  width: calc(100% / (12 / 12));
}

.offset-xs-12 {
  margin-left: calc(100% / (12 / 12));
}

@media screen and (min-width: 480px) {
  .grid-sm-1 {
    width: calc(100% / (12 / 1));
  }
  .offset-sm-1 {
    margin-left: calc(100% / (12 / 1));
  }
  .grid-sm-2 {
    width: calc(100% / (12 / 2));
  }
  .offset-sm-2 {
    margin-left: calc(100% / (12 / 2));
  }
  .grid-sm-3 {
    width: calc(100% / (12 / 3));
  }
  .offset-sm-3 {
    margin-left: calc(100% / (12 / 3));
  }
  .grid-sm-4 {
    width: calc(100% / (12 / 4));
  }
  .offset-sm-4 {
    margin-left: calc(100% / (12 / 4));
  }
  .grid-sm-5 {
    width: calc(100% / (12 / 5));
  }
  .offset-sm-5 {
    margin-left: calc(100% / (12 / 5));
  }
  .grid-sm-6 {
    width: calc(100% / (12 / 6));
  }
  .offset-sm-6 {
    margin-left: calc(100% / (12 / 6));
  }
  .grid-sm-7 {
    width: calc(100% / (12 / 7));
  }
  .offset-sm-7 {
    margin-left: calc(100% / (12 / 7));
  }
  .grid-sm-8 {
    width: calc(100% / (12 / 8));
  }
  .offset-sm-8 {
    margin-left: calc(100% / (12 / 8));
  }
  .grid-sm-9 {
    width: calc(100% / (12 / 9));
  }
  .offset-sm-9 {
    margin-left: calc(100% / (12 / 9));
  }
  .grid-sm-10 {
    width: calc(100% / (12 / 10));
  }
  .offset-sm-10 {
    margin-left: calc(100% / (12 / 10));
  }
  .grid-sm-11 {
    width: calc(100% / (12 / 11));
  }
  .offset-sm-11 {
    margin-left: calc(100% / (12 / 11));
  }
  .grid-sm-12 {
    width: calc(100% / (12 / 12));
  }
  .offset-sm-12 {
    margin-left: calc(100% / (12 / 12));
  }
}
@media screen and (min-width: 768px) {
  .grid-s-1 {
    width: calc(100% / (12 / 1));
  }
  .offset-s-1 {
    margin-left: calc(100% / (12 / 1));
  }
  .grid-s-2 {
    width: calc(100% / (12 / 2));
  }
  .offset-s-2 {
    margin-left: calc(100% / (12 / 2));
  }
  .grid-s-3 {
    width: calc(100% / (12 / 3));
  }
  .offset-s-3 {
    margin-left: calc(100% / (12 / 3));
  }
  .grid-s-4 {
    width: calc(100% / (12 / 4));
  }
  .offset-s-4 {
    margin-left: calc(100% / (12 / 4));
  }
  .grid-s-5 {
    width: calc(100% / (12 / 5));
  }
  .offset-s-5 {
    margin-left: calc(100% / (12 / 5));
  }
  .grid-s-6 {
    width: calc(100% / (12 / 6));
  }
  .offset-s-6 {
    margin-left: calc(100% / (12 / 6));
  }
  .grid-s-7 {
    width: calc(100% / (12 / 7));
  }
  .offset-s-7 {
    margin-left: calc(100% / (12 / 7));
  }
  .grid-s-8 {
    width: calc(100% / (12 / 8));
  }
  .offset-s-8 {
    margin-left: calc(100% / (12 / 8));
  }
  .grid-s-9 {
    width: calc(100% / (12 / 9));
  }
  .offset-s-9 {
    margin-left: calc(100% / (12 / 9));
  }
  .grid-s-10 {
    width: calc(100% / (12 / 10));
  }
  .offset-s-10 {
    margin-left: calc(100% / (12 / 10));
  }
  .grid-s-11 {
    width: calc(100% / (12 / 11));
  }
  .offset-s-11 {
    margin-left: calc(100% / (12 / 11));
  }
  .grid-s-12 {
    width: calc(100% / (12 / 12));
  }
  .offset-s-12 {
    margin-left: calc(100% / (12 / 12));
  }
}
@media screen and (min-width: 1024px) {
  .grid-m-1 {
    width: calc(100% / (12 / 1));
  }
  .offset-m-1 {
    margin-left: calc(100% / (12 / 1));
  }
  .grid-m-2 {
    width: calc(100% / (12 / 2));
  }
  .offset-m-2 {
    margin-left: calc(100% / (12 / 2));
  }
  .grid-m-3 {
    width: calc(100% / (12 / 3));
  }
  .offset-m-3 {
    margin-left: calc(100% / (12 / 3));
  }
  .grid-m-4 {
    width: calc(100% / (12 / 4));
  }
  .offset-m-4 {
    margin-left: calc(100% / (12 / 4));
  }
  .grid-m-5 {
    width: calc(100% / (12 / 5));
  }
  .offset-m-5 {
    margin-left: calc(100% / (12 / 5));
  }
  .grid-m-6 {
    width: calc(100% / (12 / 6));
  }
  .offset-m-6 {
    margin-left: calc(100% / (12 / 6));
  }
  .grid-m-7 {
    width: calc(100% / (12 / 7));
  }
  .offset-m-7 {
    margin-left: calc(100% / (12 / 7));
  }
  .grid-m-8 {
    width: calc(100% / (12 / 8));
  }
  .offset-m-8 {
    margin-left: calc(100% / (12 / 8));
  }
  .grid-m-9 {
    width: calc(100% / (12 / 9));
  }
  .offset-m-9 {
    margin-left: calc(100% / (12 / 9));
  }
  .grid-m-10 {
    width: calc(100% / (12 / 10));
  }
  .offset-m-10 {
    margin-left: calc(100% / (12 / 10));
  }
  .grid-m-11 {
    width: calc(100% / (12 / 11));
  }
  .offset-m-11 {
    margin-left: calc(100% / (12 / 11));
  }
  .grid-m-12 {
    width: calc(100% / (12 / 12));
  }
  .offset-m-12 {
    margin-left: calc(100% / (12 / 12));
  }
}
@media screen and (min-width: 1280px) {
  .grid-md-1 {
    width: calc(100% / (12 / 1));
  }
  .offset-md-1 {
    margin-left: calc(100% / (12 / 1));
  }
  .grid-md-2 {
    width: calc(100% / (12 / 2));
  }
  .offset-md-2 {
    margin-left: calc(100% / (12 / 2));
  }
  .grid-md-3 {
    width: calc(100% / (12 / 3));
  }
  .offset-md-3 {
    margin-left: calc(100% / (12 / 3));
  }
  .grid-md-4 {
    width: calc(100% / (12 / 4));
  }
  .offset-md-4 {
    margin-left: calc(100% / (12 / 4));
  }
  .grid-md-5 {
    width: calc(100% / (12 / 5));
  }
  .offset-md-5 {
    margin-left: calc(100% / (12 / 5));
  }
  .grid-md-6 {
    width: calc(100% / (12 / 6));
  }
  .offset-md-6 {
    margin-left: calc(100% / (12 / 6));
  }
  .grid-md-7 {
    width: calc(100% / (12 / 7));
  }
  .offset-md-7 {
    margin-left: calc(100% / (12 / 7));
  }
  .grid-md-8 {
    width: calc(100% / (12 / 8));
  }
  .offset-md-8 {
    margin-left: calc(100% / (12 / 8));
  }
  .grid-md-9 {
    width: calc(100% / (12 / 9));
  }
  .offset-md-9 {
    margin-left: calc(100% / (12 / 9));
  }
  .grid-md-10 {
    width: calc(100% / (12 / 10));
  }
  .offset-md-10 {
    margin-left: calc(100% / (12 / 10));
  }
  .grid-md-11 {
    width: calc(100% / (12 / 11));
  }
  .offset-md-11 {
    margin-left: calc(100% / (12 / 11));
  }
  .grid-md-12 {
    width: calc(100% / (12 / 12));
  }
  .offset-md-12 {
    margin-left: calc(100% / (12 / 12));
  }
}
@media screen and (min-width: 1480px) {
  .grid-1 {
    width: calc(100% / (12 / 1));
  }
  .offset-1 {
    margin-left: calc(100% / (12 / 1));
  }
  .grid-2 {
    width: calc(100% / (12 / 2));
  }
  .offset-2 {
    margin-left: calc(100% / (12 / 2));
  }
  .grid-3 {
    width: calc(100% / (12 / 3));
  }
  .offset-3 {
    margin-left: calc(100% / (12 / 3));
  }
  .grid-4 {
    width: calc(100% / (12 / 4));
  }
  .offset-4 {
    margin-left: calc(100% / (12 / 4));
  }
  .grid-5 {
    width: calc(100% / (12 / 5));
  }
  .offset-5 {
    margin-left: calc(100% / (12 / 5));
  }
  .grid-6 {
    width: calc(100% / (12 / 6));
  }
  .offset-6 {
    margin-left: calc(100% / (12 / 6));
  }
  .grid-7 {
    width: calc(100% / (12 / 7));
  }
  .offset-7 {
    margin-left: calc(100% / (12 / 7));
  }
  .grid-8 {
    width: calc(100% / (12 / 8));
  }
  .offset-8 {
    margin-left: calc(100% / (12 / 8));
  }
  .grid-9 {
    width: calc(100% / (12 / 9));
  }
  .offset-9 {
    margin-left: calc(100% / (12 / 9));
  }
  .grid-10 {
    width: calc(100% / (12 / 10));
  }
  .offset-10 {
    margin-left: calc(100% / (12 / 10));
  }
  .grid-11 {
    width: calc(100% / (12 / 11));
  }
  .offset-11 {
    margin-left: calc(100% / (12 / 11));
  }
  .grid-12 {
    width: calc(100% / (12 / 12));
  }
  .offset-12 {
    margin-left: calc(100% / (12 / 12));
  }
}
::-webkit-input-placeholder {
  color: rgb(33.5, 33.5, 33.5);
}

:-moz-placeholder {
  color: rgb(33.5, 33.5, 33.5);
}

::-moz-placeholder {
  color: rgb(33.5, 33.5, 33.5);
}

:-ms-input-placeholder {
  color: rgb(33.5, 33.5, 33.5);
}

input[type=text],
input[type=password],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=month],
input[type=week],
input[type=email],
input[type=number],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
textarea {
  -webkit-appearance: none;
  background-color: transparent;
  border-radius: 0;
  border: 1px solid #cccccc;
  color: #080808;
  font-family: "Commissioner", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.3;
  outline: none;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=date]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=time]:focus,
input[type=url]:focus,
textarea:focus {
  border-color: #999999;
  outline: none;
}

select {
  -webkit-appearance: none;
  background-color: transparent;
  border-radius: 0;
  border: 1px solid #cccccc;
  color: #080808;
  font-family: "Commissioner", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.3;
  outline: none;
}

textarea {
  line-height: 1.5;
  min-height: 118px;
  padding: 10px 12px;
}

.wpcf7 .screen-reader-response {
  display: none !important;
}
.wpcf7 .wpcf7-not-valid-tip {
  display: block;
}
.wpcf7 .wpcf7-validation-errors {
  color: #b60005;
}

table {
  text-align: left;
  width: 100%;
}
table th,
table td {
  padding: 5px;
}

.slideshow.flickity-resize .slideshow-slide {
  min-height: 100%;
}
.slideshow .slideshow-slide {
  width: 100%;
}

:root {
  --forest: #dd3333;
  --forest-dark: #2c2c2c;
  --leaf: #8dc63f;
  --sand: #f4efe7;
  --stone: #d8d1c4;
  --charcoal: #1f1f1f;
  --muted: #6c6c6c;
  --white: #ffffff;
  --max-width: 1280px;
  --grid-width: 1240px;
}

.page {
  min-height: 100vh;
  background: var(--sand);
}

.section {
  padding: 100px 0;
  background: var(--sand);
  color: var(--charcoal);
}
.section.no-padding {
  padding: 0;
}
.section .inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px;
}
@media screen and (max-width: 1023px) {
  .section .inner {
    padding: 0 20px;
  }
}

.section-text .section-text__content {
  width: 100%;
}
.section-text .entry-content p,
.section-text .entry-content li {
  font-size: 1rem;
  line-height: 1.4;
}
.section-text .entry-content p:first-child {
  margin-top: 0;
}
.section-text .entry-content p:last-child {
  margin-bottom: 0;
}

.section-header {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: center;
  flex-wrap: wrap;
}
.section-header--stacked {
  flex-direction: column;
  align-items: flex-start;
}
.section-header .btn, .section-header .woocommerce .single_add_to_cart_button, .woocommerce .section-header .single_add_to_cart_button,
.section-header .woocommerce .button.add_to_cart_button,
.woocommerce .section-header .button.add_to_cart_button,
.section-header .woocommerce .button.product_type_simple,
.woocommerce .section-header .button.product_type_simple,
.section-header .woocommerce button[type=submit].single_add_to_cart_button,
.woocommerce .section-header button[type=submit].single_add_to_cart_button {
  width: auto;
  max-width: 100%;
  flex: 0 0 auto;
  align-self: flex-start;
}

.section-kicker,
.hero-kicker,
.eyebrow {
  text-transform: capitalize;
  letter-spacing: 0.2em;
  font-size: 0.8rem;
  color: var(--muted);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 24px;
}

.stats-grid--cards {
  gap: 16px;
}

.stat-card {
  background: var(--white);
  border-radius: 28px;
  padding: 15px;
}

.stat-card--compact {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: var(--white);
}

.hero {
  background: linear-gradient(120deg, rgba(0, 0, 0, 0.95), rgba(0, 0, 0, 0.75));
  color: var(--white);
  padding: 140px 0 120px;
}

.hero--immersive {
  position: relative;
  z-index: 0;
  isolation: isolate;
  min-height: calc(100vh - 140px);
  padding: 0;
  color: var(--white);
}
.hero--immersive .hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.hero--immersive .hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.25);
  backdrop-filter: saturate(120%);
  pointer-events: none;
}
.hero--immersive .hero-bg picture {
  display: block;
  width: 100%;
  height: 100%;
}
.hero--immersive .hero-bg img {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero--immersive .hero-bg--video {
  min-height: 100%;
}
.hero--immersive .hero-bg--video::after {
  z-index: 2;
}
.hero--immersive .hero-bg--video .hero-bg-fallback {
  position: absolute;
  inset: 0;
  z-index: 0;
  min-height: 100%;
  pointer-events: none;
}
.hero--immersive .hero-bg--video .hero-bg-video-wrap {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}
.hero--immersive .hero-bg--video .hero-bg-video-wrap iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw;
  min-height: 100vh;
  min-width: 177.78vh;
  border: 0;
  transform: translate(-50%, -50%);
}
.hero--immersive .hero-bg--video .hero-bg-video-el {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.hero--immersive .hero-overlay {
  position: relative;
  z-index: 2;
  min-height: calc(100vh - 140px);
}
.hero--immersive .hero-inner {
  position: relative;
  z-index: 1;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 140px 32px 200px;
}
.hero--immersive .hero-grid {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hero--immersive:not(.hero--single) .hero-inner {
  justify-content: flex-start;
  padding-top: clamp(120px, 14vh, 200px);
  padding-bottom: 200px;
}
.hero--immersive:not(.hero--single) .hero-grid {
  flex: 0 1 auto;
  justify-content: flex-start;
  width: 100%;
  margin-top: clamp(48px, 12vh, 160px);
}
.hero--immersive .hero-content {
  max-width: 720px;
}
.hero--immersive .hero-content .hero-kicker {
  color: var(--white);
}
.hero--immersive.hero--single {
  min-height: 50vh;
}
.hero--immersive.hero--single .hero-overlay {
  min-height: 50vh;
}
.hero--immersive.hero--single .hero-inner {
  justify-content: center;
  align-items: center;
  text-align: center;
  min-height: 50vh;
  padding: 120px 32px 80px;
}
@media screen and (max-width: 1023px) {
  .hero--immersive.hero--single .hero-inner {
    padding: 100px 20px 60px;
  }
  body.admin-bar .hero--immersive.hero--single .hero-inner {
    padding-top: 140px;
  }
}
.hero--immersive.hero--single .hero-content {
  max-width: 900px;
  width: 100%;
}
.hero--immersive.hero--single h1 {
  color: var(--white);
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
  margin: 0;
}
body.page .hero--immersive.hero--single, body.single-post .hero--immersive.hero--single {
  min-height: 35vh;
}
body.page .hero--immersive.hero--single .hero-overlay, body.single-post .hero--immersive.hero--single .hero-overlay {
  min-height: 35vh;
}
.hero--immersive h1 {
  font-size: clamp(2.1rem, 4.5vw, 2.2rem);
  margin-bottom: 1.5rem;
  color: var(--white);
}
.hero--immersive .hero-subtitle {
  font-size: 1rem;
  letter-spacing: 0.4em;
  text-transform: capitalize;
  margin-bottom: 1.5rem;
}
.hero--immersive .hero-bottom {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  padding: 24px 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.85) 100%);
}
.hero--immersive .hero-bottom .hero-bottom-content {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
.hero--immersive .hero-tags {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 0.85rem;
  letter-spacing: 0.15em;
}
.hero--immersive .hero-badge {
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  border-radius: 6px;
  text-transform: capitalize;
  letter-spacing: 0.2em;
  font-size: 0.75rem;
  background: rgba(255, 255, 255, 0.8);
  color: var(--charcoal);
}

.hero-actions {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.hero-actions--split {
  flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .hero-actions--split {
    flex-direction: row;
  }
}
.hero-actions .btn, .hero-actions .woocommerce .single_add_to_cart_button, .woocommerce .hero-actions .single_add_to_cart_button,
.hero-actions .woocommerce .button.add_to_cart_button,
.woocommerce .hero-actions .button.add_to_cart_button,
.hero-actions .woocommerce .button.product_type_simple,
.woocommerce .hero-actions .button.product_type_simple,
.hero-actions .woocommerce button[type=submit].single_add_to_cart_button,
.woocommerce .hero-actions button[type=submit].single_add_to_cart_button {
  width: auto;
  max-width: 100%;
  flex: 0 0 auto;
  align-self: flex-start;
}

.innovation-impact {
  background: var(--sand);
}
.innovation-impact .innovation-layout {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 48px;
  align-items: center;
}
.innovation-impact .btn, .innovation-impact .woocommerce .single_add_to_cart_button, .woocommerce .innovation-impact .single_add_to_cart_button,
.innovation-impact .woocommerce .button.add_to_cart_button,
.woocommerce .innovation-impact .button.add_to_cart_button,
.innovation-impact .woocommerce .button.product_type_simple,
.woocommerce .innovation-impact .button.product_type_simple,
.innovation-impact .woocommerce button[type=submit].single_add_to_cart_button,
.woocommerce .innovation-impact button[type=submit].single_add_to_cart_button {
  width: auto;
  max-width: 100%;
  flex: 0 0 auto;
  align-self: flex-start;
}
.innovation-impact .innovation-media {
  position: relative;
  border-radius: 36px;
  overflow: hidden;
  min-height: 360px;
  background: #dff2d1;
}
.innovation-impact .innovation-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.innovation-impact .innovation-graphic {
  position: absolute;
  bottom: 32px;
  left: 32px;
  right: 32px;
  padding: 20px 24px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--charcoal);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.3);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.innovation-impact .innovation-graphic span {
  font-size: 11px;
  font-weight: 600;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  color: var(--muted);
  margin: 0;
}
.innovation-impact .innovation-graphic p {
  font-size: 1rem;
  line-height: 1.4;
  color: var(--charcoal);
  margin: 0;
  font-weight: 400;
}

.projects-highlight {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  min-height: 70vh;
  background: var(--charcoal);
  color: var(--white);
  padding: 0;
}
.projects-highlight .projects-media {
  min-height: 70vh;
  background-image: var(--projects-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
@media (prefers-reduced-motion: reduce) {
  .projects-highlight .projects-media {
    background-attachment: scroll;
  }
}
@media screen and (max-width: 1023px) {
  .projects-highlight .projects-media {
    background-attachment: scroll;
  }
}
.projects-highlight .projects-content {
  padding: 60px 32px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  justify-content: center;
}
.projects-highlight .projects-content .section-kicker {
  color: var(--forest);
}
.projects-highlight .projects-content .btn, .projects-highlight .projects-content .woocommerce .single_add_to_cart_button, .woocommerce .projects-highlight .projects-content .single_add_to_cart_button,
.projects-highlight .projects-content .woocommerce .button.add_to_cart_button,
.woocommerce .projects-highlight .projects-content .button.add_to_cart_button,
.projects-highlight .projects-content .woocommerce .button.product_type_simple,
.woocommerce .projects-highlight .projects-content .button.product_type_simple {
  width: auto;
  max-width: 100%;
  flex: 0 0 auto;
  align-self: flex-start;
}

.solutions-grid {
  background: var(--sand);
}
.solutions-grid .section-header {
  margin-bottom: 35px;
}
.solutions-grid .solution-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
}
.solutions-grid .solution-card {
  position: relative;
  border-radius: 28px;
  padding: 32px;
  min-height: 320px;
  color: var(--white);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
  overflow: hidden;
}
.solutions-grid .solution-card .eyebrow {
  color: var(--white);
}
.solutions-grid .solution-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--card-image);
  background-size: cover;
  background-position: center;
  filter: brightness(0.8);
  z-index: 0;
  transition: transform 0.6s ease;
}
.solutions-grid .solution-card:hover::before {
  transform: scale(1.05);
}
.solutions-grid .solution-card > * {
  position: relative;
  z-index: 1;
}
.solutions-grid .solution-card .btn, .solutions-grid .solution-card .woocommerce .single_add_to_cart_button, .woocommerce .solutions-grid .solution-card .single_add_to_cart_button,
.solutions-grid .solution-card .woocommerce .button.add_to_cart_button,
.woocommerce .solutions-grid .solution-card .button.add_to_cart_button,
.solutions-grid .solution-card .woocommerce .button.product_type_simple,
.woocommerce .solutions-grid .solution-card .button.product_type_simple {
  width: auto;
  max-width: 100%;
  flex: 0 0 auto;
  align-self: flex-start;
}

.partners {
  background: var(--white);
}
.partners .partner-marquee {
  padding-bottom: 40px;
}
.partners .marquee {
  overflow: hidden;
  position: relative;
}
.partners .marquee-track {
  display: flex;
  gap: 24px;
  animation: marqueeScroll 40s linear infinite;
}
.partners .marquee-item {
  flex: 0 0 320px;
  background: var(--sand);
  border-radius: 24px;
  padding: 24px;
  border: 1px solid rgba(12, 58, 38, 0.1);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.partners .marquee-logo {
  font-weight: 700;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  display: block;
}

.updates-marquee {
  padding: 100px 0;
  background: var(--white);
  overflow: hidden;
}
.updates-marquee .updates-intro {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px 60px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.updates-marquee .updates-intro .eyebrow {
  font-size: 11px;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  color: var(--muted);
  font-weight: 600;
}
.updates-marquee .updates-intro h2 {
  font-size: clamp(24px, 3.8vw, 36px);
  line-height: 1.2;
  margin: 0;
  color: var(--charcoal);
}
.updates-marquee .updates-intro p {
  font-size: 1rem;
  line-height: 1.4;
  color: var(--muted);
  max-width: 600px;
  margin: 0;
}
.updates-marquee .updates-rail {
  padding: 0 32px;
  margin-bottom: 40px;
}
.updates-marquee .updates-rail .flickity-viewport {
  overflow: visible;
}
.updates-marquee .updates-rail .flickity-slider {
  display: flex;
}
.updates-marquee .updates-card {
  width: calc(33.333% - 16px);
  min-width: 320px;
  margin-right: 24px;
  background: var(--white);
  border-radius: 16px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.updates-marquee .updates-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 1023px) {
  .updates-marquee .updates-card {
    width: calc(50% - 12px);
    min-width: 280px;
  }
}
@media screen and (max-width: 767px) {
  .updates-marquee .updates-card {
    width: 85%;
    min-width: 280px;
  }
}
.updates-marquee .updates-card .eyebrow {
  font-size: 10px;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  color: var(--muted);
  font-weight: 600;
  margin: 0;
  padding: 20px 20px 8px;
}
.updates-marquee .updates-card h3 {
  font-size: 15px;
  line-height: 1.3;
  margin: 0 0 12px;
  padding: 0 20px;
  color: var(--charcoal);
  font-weight: 700;
}
.updates-marquee .updates-card > p:not(.eyebrow) {
  font-size: 1rem;
  line-height: 1.4;
  color: var(--muted);
  margin: 0 0 20px;
  padding: 0 20px;
  flex: 1;
}
.updates-marquee .updates-card .btn, .updates-marquee .updates-card .woocommerce .single_add_to_cart_button, .woocommerce .updates-marquee .updates-card .single_add_to_cart_button,
.updates-marquee .updates-card .woocommerce .button.add_to_cart_button,
.woocommerce .updates-marquee .updates-card .button.add_to_cart_button,
.updates-marquee .updates-card .woocommerce .button.product_type_simple,
.woocommerce .updates-marquee .updates-card .button.product_type_simple {
  margin: 0 20px 20px;
  align-self: flex-start;
}
.updates-marquee .updates-card-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: none;
}
.updates-marquee .updates-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.updates-marquee .updates-card-media .badge {
  position: absolute;
  top: 16px;
  left: 16px;
  padding: 6px 12px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--charcoal);
  font-size: 10px;
  font-weight: 600;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.updates-marquee .updates-card-media:hover img {
  transform: scale(1.05);
}
.updates-marquee .updates-controls {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.updates-marquee .updates-controls .btn, .updates-marquee .updates-controls .woocommerce .single_add_to_cart_button, .woocommerce .updates-marquee .updates-controls .single_add_to_cart_button,
.updates-marquee .updates-controls .woocommerce .button.add_to_cart_button,
.woocommerce .updates-marquee .updates-controls .button.add_to_cart_button,
.updates-marquee .updates-controls .woocommerce .button.product_type_simple,
.woocommerce .updates-marquee .updates-controls .button.product_type_simple {
  flex: 0 0 auto;
}
.updates-marquee .updates-controls .controls-buttons {
  display: flex;
  gap: 8px;
  align-items: center;
}
.updates-marquee .updates-controls .controls-buttons button {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: var(--white);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  padding: 0;
  color: var(--charcoal);
}
.updates-marquee .updates-controls .controls-buttons button svg {
  width: 6px;
  height: 9px;
  stroke: currentColor;
}
.updates-marquee .updates-controls .controls-buttons button:hover:not(:disabled) {
  background: var(--charcoal);
  color: var(--white);
  border-color: var(--charcoal);
  transform: scale(1.05);
}
.updates-marquee .updates-controls .controls-buttons button:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  background: var(--sand);
}
.updates-marquee .updates-controls .controls-buttons button.updates-prev svg {
  transform: scaleX(-1);
}

.services-grid {
  padding: 100px 0;
  background: var(--white);
}
.services-grid .updates-intro {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px 60px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.services-grid .updates-intro .eyebrow {
  font-size: 11px;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  color: var(--muted);
  font-weight: 600;
}
.services-grid .updates-intro h2 {
  font-size: clamp(24px, 3.8vw, 36px);
  line-height: 1.2;
  margin: 0;
  color: var(--charcoal);
}
.services-grid .updates-intro p {
  font-size: 1rem;
  line-height: 1.4;
  color: var(--muted);
  max-width: 600px;
  margin: 0;
}
.services-grid .services-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px;
}
@media screen and (max-width: 1023px) {
  .services-grid .services-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .services-grid .services-cards {
    grid-template-columns: 1fr;
  }
}
.services-grid .updates-card {
  background: var(--white);
  border-radius: 16px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  text-align: center;
}
.services-grid .updates-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.services-grid .updates-card .eyebrow {
  font-size: 10px;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  color: var(--muted);
  font-weight: 600;
  margin: 0;
  padding: 20px 20px 8px;
}
.services-grid .updates-card h3 {
  font-size: 15px;
  line-height: 1.3;
  margin: 0 0 12px;
  padding: 0 20px;
  color: var(--charcoal);
  font-weight: 700;
}
.services-grid .updates-card > p:not(.eyebrow) {
  font-size: 1rem;
  line-height: 1.4;
  color: var(--muted);
  margin: 0 0 20px;
  padding: 0 20px;
  flex: 1;
}
.services-grid .updates-card .btn, .services-grid .updates-card .woocommerce .single_add_to_cart_button, .woocommerce .services-grid .updates-card .single_add_to_cart_button,
.services-grid .updates-card .woocommerce .button.add_to_cart_button,
.woocommerce .services-grid .updates-card .button.add_to_cart_button,
.services-grid .updates-card .woocommerce .button.product_type_simple,
.woocommerce .services-grid .updates-card .button.product_type_simple {
  margin: 0 20px 20px;
  align-self: center;
}
.services-grid .updates-card-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: transparent;
}
.services-grid .updates-card-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  z-index: 1;
}
.services-grid .updates-card-media .badge {
  position: absolute;
  top: 16px;
  left: 16px;
  padding: 6px 12px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--charcoal);
  font-size: 10px;
  font-weight: 600;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.updates-card:hover .services-grid .updates-card-media img {
  transform: scale(1.05);
}
.services-grid .updates-card-media .badge {
  display: none;
}
.services-grid .service-logo {
  padding: 20px;
  text-align: center;
}
.services-grid .service-logo img {
  max-height: 32px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}
.services-grid .service-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 20px 20px;
  justify-content: center;
}
.services-grid .service-actions .btn, .services-grid .service-actions .woocommerce .single_add_to_cart_button, .woocommerce .services-grid .service-actions .single_add_to_cart_button,
.services-grid .service-actions .woocommerce .button.add_to_cart_button,
.woocommerce .services-grid .service-actions .button.add_to_cart_button,
.services-grid .service-actions .woocommerce .button.product_type_simple,
.woocommerce .services-grid .service-actions .button.product_type_simple {
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.services-grid .service-actions .btn-children {
  padding: 11px 16px;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
  text-transform: none;
  font-size: calc(1rem - 2px);
}
.services-grid .service-actions .btn-ghost:hover {
  background: transparent;
  color: #333;
  border-color: rgba(51, 51, 51, 0.4);
}
.services-grid .service-video-trigger {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  place-items: center;
  padding: 0;
  margin: 0;
  background: radial-gradient(circle at center, rgba(0, 0, 0, 0.25), transparent 55%);
  border: 0;
  cursor: pointer;
  color: var(--white);
  z-index: 2;
}
.services-grid .service-video-trigger .service-video-trigger-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
}
.services-grid .service-video-trigger .service-video-trigger-icon::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 14px solid #fff;
  margin-left: 3px;
}
.services-grid .services-video-lightbox {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.services-grid .services-video-lightbox.is-open {
  display: flex;
}
.services-grid .services-video-lightbox .services-video-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}
.services-grid .services-video-lightbox .services-video-lightbox-inner {
  position: relative;
  max-width: 960px;
  width: 90%;
  aspect-ratio: 16/9;
  background: #000;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
  z-index: 1;
}
.services-grid .services-video-lightbox .services-video-lightbox-close {
  position: absolute;
  top: 12px;
  right: 16px;
  z-index: 2;
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.services-grid .services-video-lightbox .services-video-lightbox-frame {
  position: absolute;
  inset: 0;
}
.services-grid .services-video-lightbox .services-video-lightbox-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.kanetis-global-video-lightbox {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.kanetis-global-video-lightbox.is-open {
  display: flex;
}
.kanetis-global-video-lightbox .services-video-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}
.kanetis-global-video-lightbox .services-video-lightbox-inner {
  position: relative;
  max-width: 960px;
  width: 90%;
  aspect-ratio: 16/9;
  background: #000;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
  z-index: 1;
}
.kanetis-global-video-lightbox .services-video-lightbox-close {
  position: absolute;
  top: 12px;
  right: 16px;
  z-index: 2;
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.kanetis-global-video-lightbox .services-video-lightbox-frame {
  position: absolute;
  inset: 0;
}
.kanetis-global-video-lightbox .services-video-lightbox-frame iframe,
.kanetis-global-video-lightbox .services-video-lightbox-frame .kanetis-lightbox-video-el {
  width: 100%;
  height: 100%;
  border: 0;
}
.kanetis-global-video-lightbox .services-video-lightbox-frame .kanetis-lightbox-video-el {
  display: block;
  object-fit: contain;
  background: #000;
}

.services-grid.distributors-archive {
  padding: 0;
}
.services-grid.distributors-archive .services-cards {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: none;
  padding: 0;
}
.services-grid.distributors-archive .distributor-row {
  min-height: 55vh;
  border-radius: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
  overflow: hidden;
}
.services-grid.distributors-archive .distributor-row:hover {
  transform: none;
  box-shadow: none;
}
.services-grid.distributors-archive .distributor-row .text-image-inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  align-items: stretch;
}
.services-grid.distributors-archive .distributor-row .text-image-content {
  gap: 16px;
  border-radius: 0;
  padding: 56px 48px;
}
.services-grid.distributors-archive .distributor-row .text-image-content .text-image-title {
  margin: 0;
}
.services-grid.distributors-archive .distributor-row .text-image-content .service-logo {
  padding: 0;
  text-align: left;
}
.services-grid.distributors-archive .distributor-row .text-image-content .service-logo img {
  margin: 0;
  max-height: 56px;
}
.services-grid.distributors-archive .distributor-row .text-image-media {
  position: relative;
  overflow: hidden;
  min-height: 500px;
  height: 100%;
  margin: 0;
  padding: 0;
}
.services-grid.distributors-archive .distributor-row .text-image-media .jarallax-img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  min-height: 100%;
  display: block;
}
.services-grid.distributors-archive .distributor-row .service-actions {
  justify-content: flex-start;
  padding: 8px 0 0;
}
.services-grid.distributors-archive .distributor-row .service-actions .btn, .services-grid.distributors-archive .distributor-row .service-actions .woocommerce .single_add_to_cart_button, .woocommerce .services-grid.distributors-archive .distributor-row .service-actions .single_add_to_cart_button,
.services-grid.distributors-archive .distributor-row .service-actions .woocommerce .button.add_to_cart_button,
.woocommerce .services-grid.distributors-archive .distributor-row .service-actions .button.add_to_cart_button,
.services-grid.distributors-archive .distributor-row .service-actions .woocommerce .button.product_type_simple,
.woocommerce .services-grid.distributors-archive .distributor-row .service-actions .button.product_type_simple {
  margin: 0;
}
.services-grid.distributors-archive .distributor-row--media-left .text-image-media {
  order: 1;
}
.services-grid.distributors-archive .distributor-row--media-left .text-image-content {
  order: 2;
}
.services-grid.distributors-archive .distributor-row--media-right .text-image-media {
  order: 2;
}
.services-grid.distributors-archive .distributor-row--media-right .text-image-content {
  order: 1;
}
@media screen and (max-width: 1023px) {
  .services-grid.distributors-archive .services-cards {
    gap: 24px;
    padding: 0 20px;
  }
  .services-grid.distributors-archive .distributor-row {
    min-height: 0;
    overflow: visible;
  }
  .services-grid.distributors-archive .distributor-row .text-image-inner {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .services-grid.distributors-archive .distributor-row .text-image-media {
    min-height: 300px;
    border-radius: 0;
  }
  .services-grid.distributors-archive .distributor-row .text-image-content {
    margin-top: -40px;
    position: relative;
    z-index: 2;
    border-radius: 24px 24px 0 0;
    padding: 40px 32px;
    box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.08);
  }
  .services-grid.distributors-archive .distributor-row--media-left .text-image-media,
  .services-grid.distributors-archive .distributor-row--media-right .text-image-media {
    order: 1;
  }
  .services-grid.distributors-archive .distributor-row--media-left .text-image-content,
  .services-grid.distributors-archive .distributor-row--media-right .text-image-content {
    order: 2;
  }
}

body.services-video-open {
  overflow: hidden;
}

.section-faq {
  padding: 100px 0;
  background: var(--white);
  border-top: 1px solid var(--stone);
}
.section-faq .faq-intro.updates-intro {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px 48px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.section-faq .faq-intro.updates-intro h2 {
  font-size: clamp(24px, 3.8vw, 36px);
  line-height: 1.2;
  margin: 0;
  color: var(--charcoal);
}
.section-faq .faq-intro.updates-intro .faq-intro__description {
  max-width: 600px;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.4;
}
.section-faq .faq-intro.updates-intro .faq-intro__description > *:first-child {
  margin-top: 0;
}
.section-faq .faq-intro.updates-intro .faq-intro__description > *:last-child {
  margin-bottom: 0;
}
.section-faq .faq-intro.updates-intro .faq-intro__description p {
  margin: 0 0 1rem;
}
.section-faq .faq-intro.updates-intro .faq-intro__description ul,
.section-faq .faq-intro.updates-intro .faq-intro__description ol {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
}
.section-faq .faq-intro.updates-intro .faq-intro__description a {
  color: var(--forest);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.section-faq .faq-intro.updates-intro .faq-intro__description a:hover {
  color: var(--forest-dark);
}
.section-faq .faq-accordion {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.section-faq .faq-item {
  border: 1px solid #ccc;
  border-radius: 6px;
  background: var(--white);
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .section-faq .faq-item {
    border-radius: 4px;
  }
}
.section-faq .faq-item__summary {
  display: flex;
  align-items: stretch;
  list-style: none;
  cursor: pointer;
  margin: 0;
  padding: 0;
  min-height: 48px;
  user-select: none;
}
.section-faq .faq-item__summary::-webkit-details-marker {
  display: none;
}
.section-faq .faq-item__summary::marker {
  content: "";
}
.section-faq .faq-item__question {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 14px 18px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--charcoal);
  text-align: left;
  line-height: 1.35;
}
.section-faq .faq-item__icon {
  flex: 0 0 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  border-left: 1px solid #ccc;
  color: var(--charcoal);
}
.section-faq .faq-item__icon svg {
  display: block;
  transition: transform 0.2s ease;
}
.section-faq .faq-item[open] .faq-item__icon svg {
  transform: rotate(90deg);
}
.section-faq .faq-item__summary:focus {
  outline: none;
}
.section-faq .faq-item__summary:focus-visible {
  outline: 2px solid var(--forest);
  outline-offset: 2px;
}
.section-faq .faq-item__panel {
  border-top: 1px solid #e8e8e8;
  padding: 0 18px 18px;
}
.section-faq .faq-item__answer {
  padding-top: 14px;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--muted);
}
.section-faq .faq-item__answer p {
  margin: 0 0 1rem;
}
.section-faq .faq-item__answer p:first-child {
  margin-top: 0;
}
.section-faq .faq-item__answer p:last-child {
  margin-bottom: 0;
}
.section-faq .faq-item__answer a {
  color: var(--forest);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.section-faq .faq-item__answer a:hover {
  color: var(--forest-dark);
}

.contact-section {
  padding: 100px 0;
  background: var(--white);
  border-top: 1px solid var(--stone);
}
.contact-section .contact-intro.updates-intro {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px 60px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.contact-section .contact-intro.updates-intro .eyebrow {
  font-size: 11px;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  color: var(--muted);
  font-weight: 600;
}
.contact-section .contact-intro.updates-intro h2 {
  font-size: clamp(24px, 3.8vw, 36px);
  line-height: 1.2;
  margin: 0;
  color: var(--charcoal);
}
.contact-section .contact-intro.updates-intro p {
  font-size: 1rem;
  line-height: 1.4;
  color: var(--muted);
  max-width: 600px;
  margin: 0;
}
.contact-section .contact-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}
@media screen and (max-width: 1023px) {
  .contact-section .contact-columns {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.contact-section .contact-content {
  font-size: 1rem;
  line-height: 1.4;
  color: var(--charcoal);
}
.contact-section .contact-content p:first-child {
  margin-top: 0;
}
.contact-section .contact-content p:last-child {
  margin-bottom: 0;
}
.contact-section .contact-content a {
  color: var(--forest);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.contact-section .contact-content a:hover {
  color: var(--forest-dark);
  text-decoration: none;
}
.contact-section .contact-form-wrap {
  background: var(--white);
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.contact-section .contact-form-wrap fieldset {
  padding: 0;
  border: 0;
}
.contact-section .contact-form-wrap .wpcf7 {
  font-size: 1rem;
}
.contact-section .contact-form-wrap .wpcf7 .screen-reader-response {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.contact-section .contact-form-wrap .wpcf7 .wpcf7-form-control-wrap {
  display: block;
  margin-bottom: 20px;
}
.contact-section .contact-form-wrap .wpcf7 label {
  display: block;
  font-weight: 600;
  color: var(--charcoal);
  margin-bottom: 6px;
  font-size: 0.9375rem;
}
.contact-section .contact-form-wrap .wpcf7 input[type=text],
.contact-section .contact-form-wrap .wpcf7 input[type=email],
.contact-section .contact-form-wrap .wpcf7 input[type=tel],
.contact-section .contact-form-wrap .wpcf7 input[type=url],
.contact-section .contact-form-wrap .wpcf7 textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--stone);
  border-radius: 6px;
  background: var(--white);
  color: var(--charcoal);
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.contact-section .contact-form-wrap .wpcf7 input[type=text]::placeholder,
.contact-section .contact-form-wrap .wpcf7 input[type=email]::placeholder,
.contact-section .contact-form-wrap .wpcf7 input[type=tel]::placeholder,
.contact-section .contact-form-wrap .wpcf7 input[type=url]::placeholder,
.contact-section .contact-form-wrap .wpcf7 textarea::placeholder {
  color: var(--muted);
}
.contact-section .contact-form-wrap .wpcf7 input[type=text]:focus,
.contact-section .contact-form-wrap .wpcf7 input[type=email]:focus,
.contact-section .contact-form-wrap .wpcf7 input[type=tel]:focus,
.contact-section .contact-form-wrap .wpcf7 input[type=url]:focus,
.contact-section .contact-form-wrap .wpcf7 textarea:focus {
  outline: 0;
  border-color: var(--charcoal);
  box-shadow: 0 0 0 2px rgba(31, 31, 31, 0.1);
}
.contact-section .contact-form-wrap .wpcf7 input[type=text].wpcf7-not-valid,
.contact-section .contact-form-wrap .wpcf7 input[type=email].wpcf7-not-valid,
.contact-section .contact-form-wrap .wpcf7 input[type=tel].wpcf7-not-valid,
.contact-section .contact-form-wrap .wpcf7 input[type=url].wpcf7-not-valid,
.contact-section .contact-form-wrap .wpcf7 textarea.wpcf7-not-valid {
  border-color: var(--forest);
}
.contact-section .contact-form-wrap .wpcf7 textarea {
  min-height: 140px;
  resize: vertical;
}
.contact-section .contact-form-wrap .wpcf7 input[type=submit] {
  margin-top: 8px;
  padding: 14px 28px;
  background: var(--charcoal);
  color: var(--white);
  border: 1px solid var(--charcoal);
  border-radius: 3px;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.contact-section .contact-form-wrap .wpcf7 input[type=submit]:hover {
  background: var(--forest);
  border-color: var(--forest);
  color: var(--white);
}
.contact-section .contact-form-wrap .wpcf7 .wpcf7-not-valid-tip {
  font-size: 0.8125rem;
  color: var(--forest);
  margin-top: 4px;
}
.contact-section .contact-form-wrap .wpcf7 .wpcf7-response-output {
  margin: 20px 0 0;
  padding: 12px 16px;
  border-radius: 6px;
  font-size: 0.9375rem;
}
.contact-section .contact-form-wrap .wpcf7 .wpcf7-mail-sent-ok {
  border: 1px solid var(--leaf);
  background: rgba(141, 198, 63, 0.1);
  color: var(--charcoal);
}
.contact-section .contact-form-wrap .wpcf7 .wpcf7-validation-errors {
  border: 1px solid var(--forest);
  background: rgba(221, 51, 51, 0.06);
  color: var(--charcoal);
}

.about-highlight {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  align-items: stretch;
}
.about-highlight .about-media {
  overflow: hidden;
  order: 1;
  position: relative;
}
.about-highlight .about-media .jarallax-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.about-highlight .about-media {
  /*
  picture,
  img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transform: translateZ(0); // Enable hardware acceleration
      will-change: transform;
      transition: transform 0.1s ease-out;
  }
  */
}
.about-highlight .about-content {
  order: 2;
  background: var(--sand);
  padding: 60px 80px;
  border-radius: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: center;
}
@media screen and (max-width: 1023px) {
  .about-highlight .about-content {
    padding: 40px 32px;
  }
}
.about-highlight .about-content .about-text,
.about-highlight .about-content > p {
  font-size: 1rem;
  line-height: 1.4;
}
.about-highlight .about-content .btn, .about-highlight .about-content .woocommerce .single_add_to_cart_button, .woocommerce .about-highlight .about-content .single_add_to_cart_button,
.about-highlight .about-content .woocommerce .button.add_to_cart_button,
.woocommerce .about-highlight .about-content .button.add_to_cart_button,
.about-highlight .about-content .woocommerce .button.product_type_simple,
.woocommerce .about-highlight .about-content .button.product_type_simple {
  width: auto;
  max-width: 100%;
  flex: 0 0 auto;
  align-self: flex-start;
  font-size: 1rem;
}
.about-highlight.image-right .about-media {
  order: 2;
}
.about-highlight.image-right .about-content {
  order: 1;
}

.text-image-section {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  align-items: stretch;
  padding: 0;
}
@media screen and (max-width: 1023px) {
  .text-image-section {
    grid-template-columns: 1fr;
  }
}
.text-image-section .text-image-inner {
  display: contents;
}
.text-image-section.text-image--light {
  background: var(--sand);
  color: var(--charcoal);
}
.text-image-section.text-image--dark {
  background: var(--charcoal);
  color: var(--white);
}
.text-image-section .text-image-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 72px 96px;
  background: var(--white);
  justify-content: center;
  order: 1;
}
@media screen and (max-width: 1023px) {
  .text-image-section .text-image-content {
    padding: 48px 36px;
    order: 1;
  }
}
.text-image-section .text-image-content .text-image-title {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  margin: 0;
  line-height: 1.2;
}
.text-image-section .text-image-content .text-image-text {
  font-size: 1rem;
  line-height: 1.4;
}
.text-image-section .text-image-content .text-image-text p {
  margin: 0 0 1.5rem;
}
.text-image-section .text-image-content .text-image-text p:last-child {
  margin-bottom: 0;
}
.text-image-section .text-image-content .text-image-actions {
  margin-top: 8px;
}
.text-image-section .text-image-content .text-image-actions .btn, .text-image-section .text-image-content .text-image-actions .woocommerce .single_add_to_cart_button, .woocommerce .text-image-section .text-image-content .text-image-actions .single_add_to_cart_button,
.text-image-section .text-image-content .text-image-actions .woocommerce .button.add_to_cart_button,
.woocommerce .text-image-section .text-image-content .text-image-actions .button.add_to_cart_button,
.text-image-section .text-image-content .text-image-actions .woocommerce .button.product_type_simple,
.woocommerce .text-image-section .text-image-content .text-image-actions .button.product_type_simple {
  width: auto;
  max-width: 100%;
  flex: 0 0 auto;
  align-self: flex-start;
}
.text-image-section .text-image-media {
  position: relative;
  overflow: hidden;
  order: 2;
  min-height: 500px;
  height: 100%;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 1023px) {
  .text-image-section .text-image-media {
    order: 2;
    min-height: 400px;
  }
}
.text-image-section .text-image-media .jarallax-img {
  object-fit: cover;
  object-position: center right;
  width: 100%;
  height: 100%;
  min-height: 100%;
  display: block;
}
.text-image-section .text-image-media {
  /*
  background-image: var(--text-image-bg);
  background-size: contain;
  background-position: center right;
  background-repeat: no-repeat;
  background-attachment: fixed;

  @include until($tablet) {
      background-attachment: scroll; // Disable parallax on mobile for performance
  }

  @media (prefers-reduced-motion: reduce) {
      background-attachment: scroll;
  }
  */
}
.text-image-section.text-image--dark .text-image-content {
  background: var(--charcoal);
  color: var(--white);
}
.text-image-section.text-image--right .text-image-content {
  order: 2;
}
@media screen and (max-width: 1023px) {
  .text-image-section.text-image--right .text-image-content {
    order: 1;
  }
}
.text-image-section.text-image--right .text-image-media {
  order: 1;
}
@media screen and (max-width: 1023px) {
  .text-image-section.text-image--right .text-image-media {
    order: 2;
  }
}
.text-image-section.text-image--left .text-image-content {
  order: 1;
}
.text-image-section.text-image--left .text-image-media {
  order: 2;
}
.text-image-section.text-image--centered {
  background: white !important;
}
.text-image-section.text-image--centered .text-image-inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  align-items: stretch;
}
@media screen and (max-width: 1023px) {
  .text-image-section.text-image--centered .text-image-inner {
    grid-template-columns: 1fr;
  }
}
.text-image-section.text-image--centered .text-image-media {
  display: flex;
  align-items: center;
  justify-content: center;
}
.text-image-section.text-image--centered .text-image-media img {
  object-fit: contain;
  object-position: center;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
}
@media screen and (max-width: 1023px) {
  .text-image-section:not(.text-image--centered):not(.distributor-row) {
    overflow: visible;
  }
  .text-image-section:not(.text-image--centered):not(.distributor-row) .text-image-media {
    order: 1;
    min-height: 320px;
    border-radius: 0;
  }
  .text-image-section:not(.text-image--centered):not(.distributor-row) .text-image-content {
    order: 2;
    margin-top: -40px;
    position: relative;
    z-index: 2;
    border-radius: 24px 24px 0 0;
    box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.08);
  }
  .text-image-section:not(.text-image--centered):not(.distributor-row).text-image--right .text-image-media, .text-image-section:not(.text-image--centered):not(.distributor-row).text-image--left .text-image-media {
    order: 1;
  }
  .text-image-section:not(.text-image--centered):not(.distributor-row).text-image--right .text-image-content, .text-image-section:not(.text-image--centered):not(.distributor-row).text-image--left .text-image-content {
    order: 2;
  }
}
.text-image-section.text-image--full .text-image-media .jarallax-img {
  object-fit: cover;
  object-position: center;
}

.cta {
  background: var(--white);
  color: var(--charcoal);
  padding: 80px 0;
  border-top: 1px solid var(--stone);
}
@media screen and (max-width: 1023px) {
  .cta {
    padding: 56px 0;
  }
}
.cta .inner {
  max-width: 720px;
}
.cta .cta-box {
  text-align: center;
  padding: 0;
}
.cta .cta-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.75rem;
  color: var(--muted);
  margin: 0 0 0.75rem;
  font-weight: 600;
}
.cta .cta-title {
  font-size: clamp(1.75rem, 4vw, 2.25rem);
  font-weight: 600;
  line-height: 1.25;
  margin: 0 0 1rem;
  color: var(--charcoal);
  letter-spacing: -0.02em;
}
.cta .cta-text {
  font-size: 1rem;
  line-height: 1.4;
  color: var(--muted);
  margin: 0 0 2rem;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}
.cta .cta-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.cta .cta-actions .btn, .cta .cta-actions .woocommerce .single_add_to_cart_button, .woocommerce .cta .cta-actions .single_add_to_cart_button,
.cta .cta-actions .woocommerce .button.add_to_cart_button,
.woocommerce .cta .cta-actions .button.add_to_cart_button,
.cta .cta-actions .woocommerce .button.product_type_simple,
.woocommerce .cta .cta-actions .button.product_type_simple {
  width: auto;
  max-width: 100%;
  flex: 0 0 auto;
  min-width: 180px;
}

.blog-archive.latest-blogs .latest-blogs-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px;
}
@media screen and (max-width: 1023px) {
  .blog-archive.latest-blogs .latest-blogs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .blog-archive.latest-blogs .latest-blogs-grid {
    grid-template-columns: 1fr;
  }
}
.blog-archive.latest-blogs .latest-blogs-card {
  width: 100%;
  min-width: 0;
  margin-right: 0;
}
.blog-archive.latest-blogs .blog-pagination-wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 40px 32px 0;
}
.blog-archive.latest-blogs .blog-pagination-wrap .navigation.pagination {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.blog-tag-filters {
  max-width: var(--max-width);
  margin: 0 auto 28px;
  padding: 0 32px;
}
@media screen and (max-width: 1023px) {
  .blog-tag-filters {
    padding: 0 20px;
    margin-bottom: 24px;
  }
}

.blog-tag-filters-scroll {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px 2px 14px;
  margin: 0 -2px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.blog-tag-filters-scroll::-webkit-scrollbar {
  height: 6px;
}
.blog-tag-filters-scroll::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 999px;
}

.blog-tag-filter-btn {
  flex: 0 0 auto !important;
  align-self: center;
  min-width: auto !important;
  width: auto !important;
  max-width: none;
  text-align: center;
  justify-content: center;
  border-radius: 3px;
}
.blog-tag-filter-btn .btn-children {
  padding: 12px 18px !important;
  white-space: nowrap;
  text-align: center;
  line-height: 1;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.blog-tag-filter-btn .btn-arrow {
  display: none !important;
}
.blog-tag-filter-btn.is-active {
  background: #333 !important;
  color: #fff !important;
  border-color: #333 !important;
}
.blog-tag-filter-btn.is-active .btn-children {
  color: #fff !important;
}
.blog-tag-filter-btn.is-active:hover {
  background: var(--forest) !important;
  border-color: var(--forest) !important;
  color: #fff !important;
}
.blog-tag-filter-btn.is-active:hover .btn-children {
  color: #fff !important;
}

.latest-blogs.blog-archive {
  overflow: visible;
}

.latest-blogs {
  padding: 100px 0;
  background: var(--white);
  overflow: hidden;
  border-top: 1px solid var(--stone);
}
.latest-blogs .latest-blogs-intro {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px 60px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.latest-blogs .latest-blogs-intro .eyebrow {
  font-size: 11px;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  color: var(--muted);
  font-weight: 600;
}
.latest-blogs .latest-blogs-intro h2 {
  font-size: clamp(24px, 3.8vw, 36px);
  line-height: 1.2;
  margin: 0;
  color: var(--charcoal);
}
.latest-blogs.blog-archive .latest-blogs-intro {
  align-items: center;
  text-align: center;
}
.latest-blogs .latest-blogs-rail {
  padding: 0 32px;
  margin-bottom: 40px;
}
.latest-blogs .latest-blogs-rail .flickity-viewport {
  overflow: visible;
}
.latest-blogs .latest-blogs-rail .flickity-slider {
  display: flex;
}
.latest-blogs .latest-blogs-card {
  width: calc(33.333% - 16px);
  min-width: 320px;
  margin-right: 24px;
  background: var(--white);
  border-radius: 16px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.latest-blogs .latest-blogs-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 1023px) {
  .latest-blogs .latest-blogs-card {
    width: calc(50% - 12px);
    min-width: 280px;
  }
}
@media screen and (max-width: 767px) {
  .latest-blogs .latest-blogs-card {
    width: 85%;
    min-width: 280px;
  }
}
.latest-blogs .latest-blogs-card .eyebrow {
  font-size: 10px;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  color: var(--muted);
  font-weight: 600;
  margin: 0;
  padding: 20px 20px 4px;
}
.latest-blogs .latest-blogs-card .latest-blogs-card-date {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
  margin: 25px 0 0;
  padding: 0 20px 8px;
}
.latest-blogs .latest-blogs-card h3 {
  font-size: 17px;
  line-height: 1.3;
  margin: 0 0 12px;
  padding: 0 20px;
  font-weight: 700;
}
.latest-blogs .latest-blogs-card h3 a {
  color: var(--charcoal);
  text-decoration: none;
  transition: color 0.2s ease;
}
.latest-blogs .latest-blogs-card h3 a:hover {
  color: var(--forest);
}
.latest-blogs .latest-blogs-card > p:not(.eyebrow):not(.latest-blogs-card-date) {
  font-size: 1rem;
  line-height: 1.4;
  color: var(--muted);
  margin: 0 0 20px;
  padding: 0 20px;
  flex: 1;
}
.latest-blogs .latest-blogs-card .btn, .latest-blogs .latest-blogs-card .woocommerce .single_add_to_cart_button, .woocommerce .latest-blogs .latest-blogs-card .single_add_to_cart_button,
.latest-blogs .latest-blogs-card .woocommerce .button.add_to_cart_button,
.woocommerce .latest-blogs .latest-blogs-card .button.add_to_cart_button,
.latest-blogs .latest-blogs-card .woocommerce .button.product_type_simple,
.woocommerce .latest-blogs .latest-blogs-card .button.product_type_simple {
  margin: 0 20px 20px;
  align-self: flex-start;
  font-size: 14px;
}
.latest-blogs .latest-blogs-card .btn .btn-children, .latest-blogs .latest-blogs-card .woocommerce .single_add_to_cart_button .btn-children, .woocommerce .latest-blogs .latest-blogs-card .single_add_to_cart_button .btn-children,
.latest-blogs .latest-blogs-card .woocommerce .button.add_to_cart_button .btn-children,
.woocommerce .latest-blogs .latest-blogs-card .button.add_to_cart_button .btn-children,
.latest-blogs .latest-blogs-card .woocommerce .button.product_type_simple .btn-children,
.woocommerce .latest-blogs .latest-blogs-card .button.product_type_simple .btn-children {
  font-size: 14px;
}
.latest-blogs .latest-blogs-card-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: var(--white);
}
.latest-blogs .latest-blogs-card-media-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 0;
}
.latest-blogs .latest-blogs-card-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: transform 0.5s ease;
}
.latest-blogs-card:hover .latest-blogs .latest-blogs-card-media img {
  transform: scale(1.05);
}
.latest-blogs .latest-blogs-card-media .service-video-trigger {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  place-items: center;
  padding: 0;
  margin: 0;
  background: radial-gradient(circle at center, rgba(0, 0, 0, 0.25), transparent 55%);
  border: 0;
  cursor: pointer;
  color: var(--white);
  z-index: 3;
}
.latest-blogs .latest-blogs-card-media .service-video-trigger .service-video-trigger-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
}
.latest-blogs .latest-blogs-card-media .service-video-trigger .service-video-trigger-icon::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 14px solid #fff;
  margin-left: 3px;
}
.latest-blogs .latest-blogs-card-media--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 180px;
}
.latest-blogs .latest-blogs-card-media--placeholder .latest-blogs-card-placeholder {
  font-size: 0.85rem;
  color: var(--muted);
  padding: 16px;
  text-align: center;
  line-height: 1.4;
}
.latest-blogs .latest-blogs-card-media .badge {
  position: absolute;
  top: 16px;
  left: 16px;
  padding: 6px 12px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--charcoal);
  font-size: 10px;
  font-weight: 600;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.latest-blogs .latest-blogs-controls {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.latest-blogs .latest-blogs-controls .btn, .latest-blogs .latest-blogs-controls .woocommerce .single_add_to_cart_button, .woocommerce .latest-blogs .latest-blogs-controls .single_add_to_cart_button,
.latest-blogs .latest-blogs-controls .woocommerce .button.add_to_cart_button,
.woocommerce .latest-blogs .latest-blogs-controls .button.add_to_cart_button,
.latest-blogs .latest-blogs-controls .woocommerce .button.product_type_simple,
.woocommerce .latest-blogs .latest-blogs-controls .button.product_type_simple {
  flex: 0 0 auto;
}
.latest-blogs .latest-blogs-controls .controls-buttons {
  display: flex;
  gap: 8px;
  align-items: center;
}
.latest-blogs .latest-blogs-controls .controls-buttons button {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: var(--white);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  padding: 0;
  color: var(--charcoal);
}
.latest-blogs .latest-blogs-controls .controls-buttons button svg {
  width: 6px;
  height: 9px;
  stroke: currentColor;
}
.latest-blogs .latest-blogs-controls .controls-buttons button:hover:not(:disabled) {
  background: var(--charcoal);
  color: var(--white);
  border-color: var(--charcoal);
  transform: scale(1.05);
}
.latest-blogs .latest-blogs-controls .controls-buttons button:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  background: var(--sand);
}
.latest-blogs .latest-blogs-controls .controls-buttons button.latest-blogs-prev svg {
  transform: scaleX(-1);
}

.youtube-slider {
  padding: 100px 0;
  background: linear-gradient(180deg, var(--sand) 0%, var(--white) 28%);
  overflow: hidden;
  border-top: 1px solid var(--stone);
}
.youtube-slider .youtube-slider-intro {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px 48px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.youtube-slider .youtube-slider-intro .eyebrow {
  font-size: 11px;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  color: var(--muted);
  font-weight: 600;
}
.youtube-slider .youtube-slider-intro h2 {
  font-size: clamp(24px, 3.8vw, 36px);
  line-height: 1.2;
  margin: 0;
  color: var(--charcoal);
}
.youtube-slider .youtube-slider-intro .youtube-slider-intro__description {
  max-width: 640px;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.4;
}
.youtube-slider .youtube-slider-intro .youtube-slider-intro__description > *:first-child {
  margin-top: 0;
}
.youtube-slider .youtube-slider-intro .youtube-slider-intro__description > *:last-child {
  margin-bottom: 0;
}
.youtube-slider .youtube-slider-intro .youtube-slider-intro__description p {
  margin: 0 0 1rem;
}
.youtube-slider .youtube-slider-intro .youtube-slider-intro__description ul,
.youtube-slider .youtube-slider-intro .youtube-slider-intro__description ol {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
}
.youtube-slider .youtube-slider-intro .youtube-slider-intro__description a {
  color: var(--forest);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.youtube-slider .youtube-slider-intro .youtube-slider-intro__description a:hover {
  color: var(--forest-dark);
}
.youtube-slider .youtube-slider-rail {
  padding: 0 32px;
  margin-bottom: 40px;
}
.youtube-slider .youtube-slider-rail .flickity-viewport {
  overflow: visible;
}
.youtube-slider .youtube-slider-rail .flickity-slider {
  display: flex;
}
.youtube-slider .youtube-slider-rail--single {
  max-width: var(--max-width);
  margin: 0 auto 40px;
  padding: 0 32px;
}
.youtube-slider .youtube-slider-slide {
  width: calc(41.666% - 16px);
  min-width: 300px;
  max-width: 560px;
  margin-right: 24px;
  flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .youtube-slider .youtube-slider-slide {
    width: calc(66.666% - 12px);
    min-width: 280px;
  }
}
@media screen and (max-width: 767px) {
  .youtube-slider .youtube-slider-slide {
    width: 88%;
    min-width: 0;
  }
}
.youtube-slider .youtube-slider__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 16px;
  overflow: hidden;
  background: var(--charcoal);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.04);
}
.youtube-slider .youtube-slider__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.youtube-slider .youtube-slider__caption {
  margin: 14px 0 0;
  font-size: 0.875rem;
  line-height: 1.4;
  color: var(--muted);
  font-weight: 600;
  letter-spacing: 0.02em;
}
.youtube-slider .youtube-slider-controls {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.youtube-slider .youtube-slider-controls .controls-buttons {
  display: flex;
  gap: 8px;
  align-items: center;
}
.youtube-slider .youtube-slider-controls .controls-buttons button {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: var(--white);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  padding: 0;
  color: var(--charcoal);
}
.youtube-slider .youtube-slider-controls .controls-buttons button svg {
  width: 6px;
  height: 9px;
  stroke: currentColor;
}
.youtube-slider .youtube-slider-controls .controls-buttons button:hover:not(:disabled) {
  background: var(--charcoal);
  color: var(--white);
  border-color: var(--charcoal);
  transform: scale(1.05);
}
.youtube-slider .youtube-slider-controls .controls-buttons button:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  background: var(--sand);
}
.youtube-slider .youtube-slider-controls .controls-buttons button.youtube-slider-prev svg {
  transform: scaleX(-1);
}

.brochure-slider {
  padding: 100px 0;
  background: var(--white);
  overflow: hidden;
  border-top: 1px solid var(--stone);
}
.brochure-slider .brochure-slider-intro {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px 48px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.brochure-slider .brochure-slider-intro .eyebrow {
  font-size: 11px;
  text-transform: capitalize;
  letter-spacing: 0.1em;
  color: var(--muted);
  font-weight: 600;
}
.brochure-slider .brochure-slider-intro h2 {
  font-size: clamp(24px, 3.8vw, 36px);
  line-height: 1.2;
  margin: 0;
  color: var(--charcoal);
}
.brochure-slider .brochure-slider-intro .brochure-slider-intro__description {
  max-width: 640px;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.4;
}
.brochure-slider .brochure-slider-intro .brochure-slider-intro__description > *:first-child {
  margin-top: 0;
}
.brochure-slider .brochure-slider-intro .brochure-slider-intro__description > *:last-child {
  margin-bottom: 0;
}
.brochure-slider .brochure-slider-intro .brochure-slider-intro__description p {
  margin: 0 0 1rem;
}
.brochure-slider .brochure-slider-intro .brochure-slider-intro__description ul,
.brochure-slider .brochure-slider-intro .brochure-slider-intro__description ol {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
}
.brochure-slider .brochure-slider-intro .brochure-slider-intro__description a {
  color: var(--forest);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.brochure-slider .brochure-slider-intro .brochure-slider-intro__description a:hover {
  color: var(--forest-dark);
}
.brochure-slider--carousel .brochure-slider-rail {
  padding: 0 32px;
  margin-bottom: 40px;
}
.brochure-slider--carousel .brochure-slider-rail .flickity-viewport {
  overflow: visible;
}
.brochure-slider--carousel .brochure-slider-rail .flickity-slider {
  display: flex;
}
.brochure-slider--carousel .brochure-slider-slide {
  width: calc(28% - 16px);
  min-width: 220px;
  max-width: 300px;
  margin-right: 24px;
  flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .brochure-slider--carousel .brochure-slider-slide {
    width: calc(45% - 12px);
    min-width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .brochure-slider--carousel .brochure-slider-slide {
    width: 78%;
    max-width: none;
    min-width: 0;
  }
}
.brochure-slider--grid .brochure-slider-rail--grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 24px;
  max-width: var(--max-width);
  margin: 0 auto 40px;
  padding: 0 32px;
  justify-items: center;
}
@media screen and (max-width: 767px) {
  .brochure-slider--grid .brochure-slider-rail--grid {
    grid-template-columns: 1fr;
  }
}
.brochure-slider--grid .brochure-slider-rail--grid .brochure-slider-slide {
  width: 100%;
  min-width: 0;
  max-width: 300px;
  margin-right: 0;
}
.brochure-slider .brochure-slider__card {
  display: block;
  text-decoration: none;
  color: inherit;
  text-transform: none;
  border-radius: 16px;
  overflow: hidden;
  background: var(--white);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.brochure-slider .brochure-slider__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}
.brochure-slider .brochure-slider__card:focus-visible {
  outline: 2px solid var(--forest);
  outline-offset: 4px;
}
.brochure-slider .brochure-slider__media {
  position: relative;
  width: 100%;
  aspect-ratio: 3/4;
  background: var(--stone);
  overflow: hidden;
}
.brochure-slider .brochure-slider__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.brochure-slider .brochure-slider__title {
  display: block;
  padding: 14px 16px 16px;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--charcoal);
  text-align: center;
  letter-spacing: 0.02em;
  text-transform: none;
}
.brochure-slider .brochure-slider-controls {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.brochure-slider .brochure-slider-controls .controls-buttons {
  display: flex;
  gap: 8px;
  align-items: center;
}
.brochure-slider .brochure-slider-controls .controls-buttons button {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: var(--white);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  padding: 0;
  color: var(--charcoal);
}
.brochure-slider .brochure-slider-controls .controls-buttons button svg {
  width: 6px;
  height: 9px;
  stroke: currentColor;
}
.brochure-slider .brochure-slider-controls .controls-buttons button:hover:not(:disabled) {
  background: var(--charcoal);
  color: var(--white);
  border-color: var(--charcoal);
  transform: scale(1.05);
}
.brochure-slider .brochure-slider-controls .controls-buttons button:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  background: var(--sand);
}
.brochure-slider .brochure-slider-controls .controls-buttons button.brochure-slider-prev svg {
  transform: scaleX(-1);
}

@keyframes marqueeScroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.article {
  padding: 64px 0 100px;
  background: var(--sand);
  border-top: 1px solid var(--stone);
}
@media screen and (max-width: 1023px) {
  .article {
    padding: 40px 0 64px;
  }
}
.article .inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 32px;
}
@media screen and (max-width: 1023px) {
  .article .inner {
    padding: 0 20px;
  }
}
.article .article-header {
  margin-bottom: 1.5rem;
  padding-bottom: 0;
  border-bottom: 0;
}
.article .entry-title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 600;
  line-height: 1.25;
  margin: 0 0 1rem;
  color: var(--charcoal);
  letter-spacing: -0.02em;
}
.article .entry-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  font-size: 0.875rem;
  color: var(--muted);
  letter-spacing: 0.03em;
}
.article .entry-meta .post-category {
  padding: 5px 12px;
  background: var(--sand);
  border-radius: 6px;
  font-weight: 600;
  color: var(--charcoal);
  text-transform: capitalize;
}
.article .entry-meta .entry-meta-sep {
  color: var(--stone);
  font-weight: 300;
}
.article .entry-meta time {
  font-variant-numeric: tabular-nums;
}
.article .entry-content {
  background: var(--white);
  border-radius: 16px;
  padding: 2.5rem 2.5rem;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
  font-size: 1rem;
  line-height: 1.4;
  color: var(--charcoal);
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .article .entry-content {
    padding: 1.75rem 1.5rem;
  }
}
.article .entry-content > *:first-child {
  margin-top: 0;
}
.article .entry-content .article-featured-media {
  margin: 0 0 1.75rem;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
  background: var(--stone);
}
.article .entry-content .article-featured-media__img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}
.article .entry-content h2 {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 2.5rem 0 0.75rem;
  color: var(--charcoal);
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.article .entry-content h3 {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 2rem 0 0.5rem;
  color: var(--charcoal);
  line-height: 1.35;
}
.article .entry-content h4, .article .entry-content h5, .article .entry-content h6 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 1.5rem 0 0.5rem;
  color: var(--charcoal);
}
.article .entry-content p {
  margin: 0 0 1.5rem;
  line-height: 1.4;
}
.article .entry-content ul, .article .entry-content ol {
  margin: 0 0 1.5rem;
  padding-left: 1.5rem;
}
.article .entry-content li {
  margin: 0 0 0.5rem;
  line-height: 1.4;
}
.article .entry-content li::marker {
  color: var(--muted);
}
.article .entry-content a {
  color: var(--forest);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.2s ease;
}
.article .entry-content a:hover {
  color: var(--forest-dark);
  text-decoration: none;
}
.article .entry-content img {
  max-width: 100%;
  height: auto;
  margin: 2rem 0;
  border-radius: 12px;
  display: block;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}
.article .entry-content figure {
  margin: 2.5rem 0;
}
.article .entry-content figure img {
  margin: 0;
}
.article .entry-content figcaption {
  font-size: 0.9375rem;
  color: var(--muted);
  margin-top: 0.75rem;
  padding: 0 4px;
  line-height: 1.5;
}
.article .entry-content blockquote {
  margin: 2rem 0;
  padding: 1.25rem 0 1.25rem 1.5rem;
  border-left: 4px solid var(--forest);
  background: color-mix(in srgb, var(--sand) 50%, transparent);
  border-radius: 0 8px 8px 0;
  font-size: 1rem;
  line-height: 1.4;
  font-style: italic;
  color: var(--charcoal);
}
.article .entry-content blockquote p:last-child {
  margin-bottom: 0;
}
.article .entry-content hr {
  margin: 2.5rem 0;
  border: 0;
  height: 1px;
  background: var(--stone);
}
.article .entry-content code, .article .entry-content kbd {
  font-size: 0.9em;
  padding: 0.2em 0.4em;
  background: var(--sand);
  border-radius: 4px;
  border: 1px solid var(--stone);
}
.article .entry-content pre {
  margin: 2rem 0;
  padding: 1.25rem 1.5rem;
  background: var(--charcoal);
  color: var(--sand);
  border-radius: 12px;
  overflow-x: auto;
  font-size: 0.9375rem;
  line-height: 1.6;
}
.article .entry-content pre code {
  padding: 0;
  background: none;
  border: none;
  color: inherit;
}
.article .entry-content table {
  width: 100%;
  margin: 2rem 0;
  border-collapse: collapse;
  font-size: 1rem;
}
.article .entry-content th, .article .entry-content td {
  padding: 0.75rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--stone);
}
.article .entry-content th {
  font-weight: 600;
  color: var(--charcoal);
  background: color-mix(in srgb, var(--sand) 60%, transparent);
}

body.error404 {
  background-color: var(--sand);
}

body.error404 #site-content.main,
body.error404 .main {
  display: block;
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

.site-main--404 {
  display: block;
  width: 100%;
  max-width: none;
}

.error-404 {
  position: relative;
  overflow: hidden;
  width: 100%;
  min-height: min(88vh, 900px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(72px, 12vw, 120px) clamp(20px, 4vw, 48px) clamp(80px, 10vw, 140px);
  margin: 0;
  background: radial-gradient(ellipse 100% 70% at 50% 0%, rgba(221, 51, 51, 0.09) 0%, transparent 52%), linear-gradient(165deg, var(--sand) 0%, var(--white) 38%, #ebe4d9 100%);
  color: var(--charcoal);
  border-bottom: 1px solid var(--stone);
}
@media screen and (max-width: -tablet-1) {
  .error-404 {
    min-height: min(82vh, 820px);
    padding: 64px 16px 88px;
  }
}

.error-404__watermark {
  position: absolute;
  left: 50%;
  top: 40%;
  transform: translate(-50%, -50%);
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: clamp(6.5rem, 26vw, 18rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.07em;
  color: rgba(31, 31, 31, 0.07);
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

.error-404__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  padding: clamp(28px, 5vw, 44px) clamp(24px, 4vw, 40px);
  text-align: center;
  background: var(--white);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 24px 48px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.04);
}

.error-404__eyebrow {
  margin: 0 0 10px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--forest);
}

.error-404__title {
  margin: 0 0 14px;
  padding: 0;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: clamp(1.625rem, 4.2vw, 2.125rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: var(--charcoal);
}

.error-404__lead {
  margin: 0 0 28px;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--muted);
}

.error-404__search {
  margin: 0 auto 24px;
  max-width: 100%;
}
.error-404__search .search-form {
  margin: 0;
}
.error-404__search .search-wrap {
  display: flex;
  align-items: stretch;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fafafa;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.error-404__search .search-wrap:focus-within {
  border-color: rgba(221, 51, 51, 0.45);
  box-shadow: 0 0 0 3px rgba(221, 51, 51, 0.12), inset 0 1px 2px rgba(0, 0, 0, 0.04);
}
.error-404__search .search-field {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 13px 14px;
  border: none;
  background: transparent;
  font-family: "Commissioner", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.9375rem;
  color: var(--charcoal);
}
.error-404__search .search-field::placeholder {
  color: rgba(108, 108, 108, 0.85);
}
.error-404__search .search-field:focus {
  outline: none;
}
.error-404__search .search-button {
  flex: 0 0 auto;
  margin: 0;
  padding: 13px 18px;
  border: none;
  border-left: 1px solid rgba(0, 0, 0, 0.08);
  background: #2c2c2c;
  color: var(--white);
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.error-404__search .search-button:hover {
  background: var(--forest);
}

.error-404__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}

.error-404__btn-home {
  min-width: 220px;
}

/*
/// COMPONENTS ///
For smaller components, there is the components/ folder.
While layout/ is macro (defining the global wireframe), components/ is more
focused on widgets. It contains all kind of specific modules like a slider,
a loader, a widget, and basically anything along those lines. There are usually
a lot of files in components/ since the whole site/application should be mostly
composed of tiny modules.
*/
.btn, .woocommerce .single_add_to_cart_button,
.woocommerce .button.add_to_cart_button,
.woocommerce .button.product_type_simple,
.woocommerce button[type=submit].single_add_to_cart_button {
  display: inline-flex;
  align-items: stretch;
  text-align: left;
  overflow: hidden;
  border-radius: 3px;
  background: #333;
  color: #fff;
  min-width: 200px;
  width: auto !important;
  max-width: 100%;
  flex: 0 0 auto !important;
  align-self: flex-start;
  border: 1px solid transparent;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 1rem;
  letter-spacing: 0.05em;
  font-family: "Carlito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  padding: 0;
  transition: box-shadow 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98), background-color 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98), color 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98), border-color 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98);
}
.btn:hover, .woocommerce .single_add_to_cart_button:hover,
.woocommerce .button.add_to_cart_button:hover,
.woocommerce .button.product_type_simple:hover,
.woocommerce button[type=submit].single_add_to_cart_button:hover {
  background: var(--forest);
  border-color: var(--forest);
  color: #fff;
}
.btn .btn-children, .woocommerce .single_add_to_cart_button .btn-children,
.woocommerce .button.add_to_cart_button .btn-children,
.woocommerce .button.product_type_simple .btn-children,
.woocommerce button[type=submit].single_add_to_cart_button .btn-children {
  padding: 15px 40px 15px 20px;
  flex: 1;
  font-size: 1rem;
  line-height: 1;
  white-space: nowrap;
}
.btn .btn-arrow, .woocommerce .single_add_to_cart_button .btn-arrow,
.woocommerce .button.add_to_cart_button .btn-arrow,
.woocommerce .button.product_type_simple .btn-arrow,
.woocommerce button[type=submit].single_add_to_cart_button .btn-arrow {
  padding: 0 20px;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.5s cubic-bezier(0.16, 1.08, 0.38, 0.98);
  flex-shrink: 0;
}
.btn .btn-arrow svg, .woocommerce .single_add_to_cart_button .btn-arrow svg,
.woocommerce .button.add_to_cart_button .btn-arrow svg,
.woocommerce .button.product_type_simple .btn-arrow svg {
  width: 6px;
  height: 9px;
  stroke: currentColor;
}
.btn:hover .btn-arrow, .woocommerce .single_add_to_cart_button:hover .btn-arrow,
.woocommerce .button.add_to_cart_button:hover .btn-arrow,
.woocommerce .button.product_type_simple:hover .btn-arrow {
  border-color: rgba(255, 255, 255, 0.3);
}
.btn:disabled, .woocommerce .single_add_to_cart_button:disabled,
.woocommerce .button.add_to_cart_button:disabled,
.woocommerce .button.product_type_simple:disabled,
.woocommerce button[type=submit].single_add_to_cart_button:disabled, .btn[disabled], .woocommerce [disabled].single_add_to_cart_button,
.woocommerce [disabled].button.add_to_cart_button,
.woocommerce [disabled].button.product_type_simple,
.woocommerce button[disabled][type=submit].single_add_to_cart_button, .btn.disabled, .woocommerce .disabled.single_add_to_cart_button,
.woocommerce .disabled.button.add_to_cart_button,
.woocommerce .disabled.button.product_type_simple,
.woocommerce button.disabled[type=submit].single_add_to_cart_button {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.btn.shortcode-button, .woocommerce .shortcode-button.single_add_to_cart_button,
.woocommerce .shortcode-button.button.add_to_cart_button,
.woocommerce .shortcode-button.button.product_type_simple,
.woocommerce button.shortcode-button[type=submit].single_add_to_cart_button {
  padding: 8px 14px;
  min-width: auto;
  text-align: center;
  justify-content: center;
  font-size: 0.8125rem;
}

.btn.shortcode-button.btn-full-width, .woocommerce .shortcode-button.btn-full-width.single_add_to_cart_button,
.woocommerce .shortcode-button.btn-full-width.button.add_to_cart_button,
.woocommerce .shortcode-button.btn-full-width.button.product_type_simple {
  width: 100% !important;
  justify-content: center;
}

.btn-primary, .woocommerce .single_add_to_cart_button,
.woocommerce .button.add_to_cart_button,
.woocommerce .button.product_type_simple,
.woocommerce button[type=submit].single_add_to_cart_button {
  background: #333;
  color: #fff;
}
.btn-primary:hover, .woocommerce .single_add_to_cart_button:hover,
.woocommerce .button.add_to_cart_button:hover,
.woocommerce .button.product_type_simple:hover,
.woocommerce button[type=submit].single_add_to_cart_button:hover {
  background: var(--forest);
  border-color: var(--forest);
  color: #fff;
}

.btn-dark {
  background: #333;
  color: #fff;
}
.btn-dark:hover {
  background: var(--forest);
  border-color: var(--forest);
  color: #fff;
}

.btn-ghost {
  background: transparent;
  color: #333;
  border: 1px solid rgba(51, 51, 51, 0.4);
}
.btn-ghost .btn-arrow {
  border-left-color: rgba(51, 51, 51, 0.2);
}
.btn-ghost:hover {
  background: var(--forest);
  color: #fff;
  border-color: var(--forest);
}
.btn-ghost:hover .btn-arrow {
  border-color: rgba(255, 255, 255, 0.2);
}

.button-secondary, input[type=submit],
input[type=button],
input[type=reset],
button:not(.btn):not(.header-menu-toggle),
.button {
  border-radius: 0;
  color: #ffffff;
  cursor: pointer;
  display: inline-block;
  font-size: 1rem;
  outline: 0;
  padding: 10px 20px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

input[type=submit]:hover,
input[type=button]:hover,
input[type=reset]:hover,
button:not(.btn):not(.header-menu-toggle):hover,
.button:hover {
  background-color: transparent;
}

.button-secondary {
  background-color: #fff;
  border-color: #dd3333;
  color: #dd3333;
}
.button-secondary:hover {
  background-color: color-mix(in srgb, #fff 87.5%, black 12.5%);
}

.woocommerce .single_add_to_cart_button::before,
.woocommerce .button.add_to_cart_button::before,
.woocommerce .button.product_type_simple::before,
.woocommerce button[type=submit].single_add_to_cart_button::before {
  content: "";
}
.woocommerce .single_add_to_cart_button::after,
.woocommerce .button.add_to_cart_button::after,
.woocommerce .button.product_type_simple::after,
.woocommerce button[type=submit].single_add_to_cart_button::after {
  content: "";
}
.woocommerce .cart .button,
.woocommerce .wc-block-components-button {
  min-width: 200px;
  width: auto;
}

.hamburger {
  width: 30px;
  height: 21px;
  position: absolute;
  margin: 20px;
  display: none;
  right: 0;
  top: 0;
  z-index: 200;
}
@media screen and (max-width: 767px) {
  .hamburger {
    display: block;
  }
}
.hamburger [class^=line-] {
  display: block;
  background-color: white;
  width: 30px;
  height: 3px;
  position: absolute;
  left: 0;
  border-radius: 2px;
  transition: all 300ms, opacity 100ms;
  outline: 1px solid transparent;
}
.is-open-menu .hamburger [class^=line-] {
  background-color: black;
}
.hamburger [class^=line-].line-1 {
  top: 0;
}
.hamburger [class^=line-].line-2 {
  top: calc(21px / 2 - 3px / 2);
}
.hamburger [class^=line-].line-3 {
  bottom: 0;
}
.hamburger.is-active .line-1 {
  transform: translateY(9px) translateX(0) rotate(45deg);
}
.hamburger.is-active .line-2 {
  opacity: 0;
}
.hamburger.is-active .line-3 {
  transform: translateY(-9px) translateX(0) rotate(-45deg);
}

.tabs .tabs-nav {
  background-color: rgba(44, 44, 44, 0.8);
  margin: 20px 0;
  padding: 0;
  list-style: none;
  text-transform: capitalize;
  display: flex;
  justify-content: space-around;
}
.tabs .tabs-nav li {
  flex-basis: 0;
  flex-grow: 1;
  position: relative;
}
.tabs .tabs-nav li:before {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  content: "";
  width: 1px;
  background-color: white;
}
.tabs .tabs-nav li:first-child:before {
  display: none;
}
.tabs .tabs-nav .tabs-link {
  color: #fff;
  display: block;
  padding: 20px;
  font-size: 18px;
  text-align: center;
}
.tabs .tabs-nav .tabs-link.is-active {
  background-color: #2c2c2c;
}
.tabs .tab-content {
  display: none;
  margin: 20px 0;
}
.tabs .tab-content.is-active {
  display: block;
}

::selection {
  background: #b3d4fc;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

html,
body {
  overflow-x: hidden;
  width: 100%;
}

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

/*# sourceMappingURL=layout.css.map */
