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

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

body {
  margin: 0;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, p, blockquote, figure, ol, ul {
  margin: 0;
  padding: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  color: #17213a;
  font-size: 1em;
  margin-top: 0;
}

li {
  list-style-position: inside;
  display: list-item;
}

a, button {
  color: inherit;
  transition: 0.3s ease-in-out;
}

a {
  background-color: transparent;
  text-decoration: none;
  cursor: pointer;
}

button {
  overflow: visible;
  border: 0;
  font: inherit;
  -webkit-font-smoothing: inherit;
  letter-spacing: inherit;
  background: none;
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border: 0;
}

:focus {
  outline-width: 1px;
}

img, video, svg, picture, figure {
  max-width: 100%;
}

figure img, picture img {
  display: block;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

br {
  margin-top: 0;
}

nav ul {
  list-style: none;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, hr {
  margin: 0;
  padding: 0;
  border: 0;
}

.button, .form-control, .link, .reset {
  background-color: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  line-height: inherit;
  appearance: none;
}

select.form-control::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
  overflow: auto;
  vertical-align: top;
}

input::-ms-clear {
  display: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

@font-face {
  font-family: "Ethnocentric";
  src: local("Ethnocentric Regular"), local("Ethnocentric"), url("../fonts/ethnocentric-regular.woff2") format("woff2"), url("../fonts/ethnocentric-regular.woff") format("woff"), url("../fonts/ethnocentric-regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* open-sans-300 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/open-sans-v40-latin-300.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/open-sans-v40-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v40-latin-300.woff2") format("woff2"), url("../fonts/open-sans-v40-latin-300.woff") format("woff"), url("../fonts/open-sans-v40-latin-300.ttf") format("truetype"), url("../fonts/open-sans-v40-latin-300.svg#OpenSans") format("svg");
  /* Legacy iOS */
}
/* open-sans-300italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 300;
  src: url("../fonts/open-sans-v40-latin-300italic.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/open-sans-v40-latin-300italic.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v40-latin-300italic.woff2") format("woff2"), url("../fonts/open-sans-v40-latin-300italic.woff") format("woff"), url("../fonts/open-sans-v40-latin-300italic.ttf") format("truetype"), url("../fonts/open-sans-v40-latin-300italic.svg#OpenSans") format("svg");
  /* Legacy iOS */
}
/* open-sans-regular - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/open-sans-v40-latin-regular.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/open-sans-v40-latin-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v40-latin-regular.woff2") format("woff2"), url("../fonts/open-sans-v40-latin-regular.woff") format("woff"), url("../fonts/open-sans-v40-latin-regular.ttf") format("truetype"), url("../fonts/open-sans-v40-latin-regular.svg#OpenSans") format("svg");
  /* Legacy iOS */
}
/* open-sans-italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/open-sans-v40-latin-italic.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/open-sans-v40-latin-italic.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v40-latin-italic.woff2") format("woff2"), url("../fonts/open-sans-v40-latin-italic.woff") format("woff"), url("../fonts/open-sans-v40-latin-italic.ttf") format("truetype"), url("../fonts/open-sans-v40-latin-italic.svg#OpenSans") format("svg");
  /* Legacy iOS */
}
/* open-sans-500 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/open-sans-v40-latin-500.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/open-sans-v40-latin-500.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v40-latin-500.woff2") format("woff2"), url("../fonts/open-sans-v40-latin-500.woff") format("woff"), url("../fonts/open-sans-v40-latin-500.ttf") format("truetype"), url("../fonts/open-sans-v40-latin-500.svg#OpenSans") format("svg");
  /* Legacy iOS */
}
/* open-sans-500italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 500;
  src: url("../fonts/open-sans-v40-latin-500italic.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/open-sans-v40-latin-500italic.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v40-latin-500italic.woff2") format("woff2"), url("../fonts/open-sans-v40-latin-500italic.woff") format("woff"), url("../fonts/open-sans-v40-latin-500italic.ttf") format("truetype"), url("../fonts/open-sans-v40-latin-500italic.svg#OpenSans") format("svg");
  /* Legacy iOS */
}
/* open-sans-600 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/open-sans-v40-latin-600.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/open-sans-v40-latin-600.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v40-latin-600.woff2") format("woff2"), url("../fonts/open-sans-v40-latin-600.woff") format("woff"), url("../fonts/open-sans-v40-latin-600.ttf") format("truetype"), url("../fonts/open-sans-v40-latin-600.svg#OpenSans") format("svg");
  /* Legacy iOS */
}
/* open-sans-600italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 600;
  src: url("../fonts/open-sans-v40-latin-600italic.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/open-sans-v40-latin-600italic.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v40-latin-600italic.woff2") format("woff2"), url("../fonts/open-sans-v40-latin-600italic.woff") format("woff"), url("../fonts/open-sans-v40-latin-600italic.ttf") format("truetype"), url("../fonts/open-sans-v40-latin-600italic.svg#OpenSans") format("svg");
  /* Legacy iOS */
}
/* open-sans-700 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/open-sans-v40-latin-700.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/open-sans-v40-latin-700.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v40-latin-700.woff2") format("woff2"), url("../fonts/open-sans-v40-latin-700.woff") format("woff"), url("../fonts/open-sans-v40-latin-700.ttf") format("truetype"), url("../fonts/open-sans-v40-latin-700.svg#OpenSans") format("svg");
  /* Legacy iOS */
}
/* open-sans-700italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/open-sans-v40-latin-700italic.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/open-sans-v40-latin-700italic.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v40-latin-700italic.woff2") format("woff2"), url("../fonts/open-sans-v40-latin-700italic.woff") format("woff"), url("../fonts/open-sans-v40-latin-700italic.ttf") format("truetype"), url("../fonts/open-sans-v40-latin-700italic.svg#OpenSans") format("svg");
  /* Legacy iOS */
}
/* open-sans-800 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/open-sans-v40-latin-800.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/open-sans-v40-latin-800.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v40-latin-800.woff2") format("woff2"), url("../fonts/open-sans-v40-latin-800.woff") format("woff"), url("../fonts/open-sans-v40-latin-800.ttf") format("truetype"), url("../fonts/open-sans-v40-latin-800.svg#OpenSans") format("svg");
  /* Legacy iOS */
}
/* open-sans-800italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 800;
  src: url("../fonts/open-sans-v40-latin-800italic.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/open-sans-v40-latin-800italic.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans-v40-latin-800italic.woff2") format("woff2"), url("../fonts/open-sans-v40-latin-800italic.woff") format("woff"), url("../fonts/open-sans-v40-latin-800italic.ttf") format("truetype"), url("../fonts/open-sans-v40-latin-800italic.svg#OpenSans") format("svg");
  /* Legacy iOS */
}
html,
body {
  min-height: 100%;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(126.79px + 8rem);
}

body {
  color: #16191C;
  background-color: #fff;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 87.5%;
  line-height: 1.4;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  position: relative;
}

body::after {
  content: "";
  position: relative;
  height: 0;
  background-color: rgba(0, 0, 0, 0);
  pointer-events: none;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  z-index: 50;
}
@media (max-width: 1200px) {
  body.--mobile-menu-open {
    overflow: hidden;
  }
  body.--mobile-menu-open::after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.4);
  }
  body.--mobile-menu-open main {
    filter: blur(16px);
  }
  body.--mobile-menu-open .menu-main__mobile {
    overflow-y: auto !important;
  }
}
@media (min-width: 40rem) {
  body {
    font-size: 100%;
  }
}

* {
  box-sizing: border-box;
}

main {
  flex-grow: 1;
  overflow: visible;
  position: relative;
}
main::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0.05;
  background-image: url("../img/background.jpg");
  background-repeat: repeat;
  z-index: -1;
}
main.page-smart-battery-storage-port-electrification, main.page-batteries-net-zero-greenhouse-gas-emissions, main.page-the-international-court-of-justice-climate-ruling-explained, main.prioritisation-of-decarbonisation-homes-buildings, main.jas-kandola-eqonic-ceo-named-2024-cohort-companies {
  overflow: visible;
}
@media (min-width: 1200px) {
  main.page-smart-battery-storage-port-electrification .row div:last-child figure picture img, main.page-batteries-net-zero-greenhouse-gas-emissions .row div:last-child figure picture img, main.page-the-international-court-of-justice-climate-ruling-explained .row div:last-child figure picture img, main.prioritisation-of-decarbonisation-homes-buildings .row div:last-child figure picture img, main.jas-kandola-eqonic-ceo-named-2024-cohort-companies .row div:last-child figure picture img {
    position: sticky;
    top: calc(115px + 4rem);
  }
}

[hidden] {
  display: none;
}

.solutions-slider #js_solutions-slider-mw .card.card--hover {
  flex-basis: auto !important;
  flex: 0;
}

.stats-slider blockquote {
  display: inline-flex !important;
  flex-direction: column;
  flex-wrap: wrap;
}

.row {
  display: flex;
  flex-wrap: wrap;
}
.row > * {
  flex-basis: 100%;
  max-width: 100%;
  min-width: 0;
}

.gap-lg {
  margin-left: -10rem;
  margin-bottom: -10rem;
}
.gap-lg > [class*=col] {
  margin-left: 10rem;
  margin-bottom: 10rem;
}

.gap-md {
  margin-left: -1rem;
  margin-bottom: -1rem;
}
.gap-md > [class*=col] {
  margin-left: 1rem;
  margin-bottom: 1rem;
}

.gap-sm {
  margin-left: -0.75rem;
  margin-bottom: -0.75rem;
}
.gap-sm > [class*=col] {
  margin-left: 0.75rem;
  margin-bottom: 0.75rem;
}

@media (min-width: 40rem) {
  .pull-right-sm {
    order: 2;
  }
  .pull-right-sm + * {
    order: 1;
  }
  .offset3-sm {
    margin-left: 25% !important;
  }
  .offset6-sm {
    margin-left: 50% !important;
  }
  .vert-center-sm {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .col1-sm {
    flex-basis: calc(100% * 1 / 12);
  }
  .gap-lg .col1-sm {
    flex-basis: calc(100% * 1 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col1-sm {
    flex-basis: calc(100% * 1 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col1-sm {
    flex-basis: calc(100% * 1 / 12 - 0.75rem - 0.0001px);
  }
  .col2-sm {
    flex-basis: calc(100% * 2 / 12);
  }
  .gap-lg .col2-sm {
    flex-basis: calc(100% * 2 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col2-sm {
    flex-basis: calc(100% * 2 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col2-sm {
    flex-basis: calc(100% * 2 / 12 - 0.75rem - 0.0001px);
  }
  .col3-sm {
    flex-basis: calc(100% * 3 / 12);
  }
  .gap-lg .col3-sm {
    flex-basis: calc(100% * 3 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col3-sm {
    flex-basis: calc(100% * 3 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col3-sm {
    flex-basis: calc(100% * 3 / 12 - 0.75rem - 0.0001px);
  }
  .col4-sm {
    flex-basis: calc(100% * 4 / 12);
  }
  .gap-lg .col4-sm {
    flex-basis: calc(100% * 4 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col4-sm {
    flex-basis: calc(100% * 4 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col4-sm {
    flex-basis: calc(100% * 4 / 12 - 0.75rem - 0.0001px);
  }
  .col5-sm {
    flex-basis: calc(100% * 5 / 12);
  }
  .gap-lg .col5-sm {
    flex-basis: calc(100% * 5 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col5-sm {
    flex-basis: calc(100% * 5 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col5-sm {
    flex-basis: calc(100% * 5 / 12 - 0.75rem - 0.0001px);
  }
  .col6-sm {
    flex-basis: calc(100% * 6 / 12);
  }
  .gap-lg .col6-sm {
    flex-basis: calc(100% * 6 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col6-sm {
    flex-basis: calc(100% * 6 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col6-sm {
    flex-basis: calc(100% * 6 / 12 - 0.75rem - 0.0001px);
  }
  .col7-sm {
    flex-basis: calc(100% * 7 / 12);
  }
  .gap-lg .col7-sm {
    flex-basis: calc(100% * 7 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col7-sm {
    flex-basis: calc(100% * 7 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col7-sm {
    flex-basis: calc(100% * 7 / 12 - 0.75rem - 0.0001px);
  }
  .col8-sm {
    flex-basis: calc(100% * 8 / 12);
  }
  .gap-lg .col8-sm {
    flex-basis: calc(100% * 8 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col8-sm {
    flex-basis: calc(100% * 8 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col8-sm {
    flex-basis: calc(100% * 8 / 12 - 0.75rem - 0.0001px);
  }
  .col9-sm {
    flex-basis: calc(100% * 9 / 12);
  }
  .gap-lg .col9-sm {
    flex-basis: calc(100% * 9 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col9-sm {
    flex-basis: calc(100% * 9 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col9-sm {
    flex-basis: calc(100% * 9 / 12 - 0.75rem - 0.0001px);
  }
  .col10-sm {
    flex-basis: calc(100% * 10 / 12);
  }
  .gap-lg .col10-sm {
    flex-basis: calc(100% * 10 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col10-sm {
    flex-basis: calc(100% * 10 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col10-sm {
    flex-basis: calc(100% * 10 / 12 - 0.75rem - 0.0001px);
  }
  .col11-sm {
    flex-basis: calc(100% * 11 / 12);
  }
  .gap-lg .col11-sm {
    flex-basis: calc(100% * 11 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col11-sm {
    flex-basis: calc(100% * 11 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col11-sm {
    flex-basis: calc(100% * 11 / 12 - 0.75rem - 0.0001px);
  }
}
@media (min-width: 55rem) {
  .pull-right-md {
    order: 2;
  }
  .pull-right-md + * {
    order: 1;
  }
  .offset3-md {
    margin-left: 25% !important;
  }
  .offset6-md {
    margin-left: 50% !important;
  }
  .vert-center-md {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .col1-md {
    flex-basis: calc(100% * 1 / 12);
  }
  .gap-lg .col1-md {
    flex-basis: calc(100% * 1 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col1-md {
    flex-basis: calc(100% * 1 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col1-md {
    flex-basis: calc(100% * 1 / 12 - 0.75rem - 0.0001px);
  }
  .col2-md {
    flex-basis: calc(100% * 2 / 12);
  }
  .gap-lg .col2-md {
    flex-basis: calc(100% * 2 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col2-md {
    flex-basis: calc(100% * 2 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col2-md {
    flex-basis: calc(100% * 2 / 12 - 0.75rem - 0.0001px);
  }
  .col3-md {
    flex-basis: calc(100% * 3 / 12);
  }
  .gap-lg .col3-md {
    flex-basis: calc(100% * 3 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col3-md {
    flex-basis: calc(100% * 3 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col3-md {
    flex-basis: calc(100% * 3 / 12 - 0.75rem - 0.0001px);
  }
  .col4-md {
    flex-basis: calc(100% * 4 / 12);
  }
  .gap-lg .col4-md {
    flex-basis: calc(100% * 4 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col4-md {
    flex-basis: calc(100% * 4 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col4-md {
    flex-basis: calc(100% * 4 / 12 - 0.75rem - 0.0001px);
  }
  .col5-md {
    flex-basis: calc(100% * 5 / 12);
  }
  .gap-lg .col5-md {
    flex-basis: calc(100% * 5 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col5-md {
    flex-basis: calc(100% * 5 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col5-md {
    flex-basis: calc(100% * 5 / 12 - 0.75rem - 0.0001px);
  }
  .col6-md {
    flex-basis: calc(100% * 6 / 12);
  }
  .gap-lg .col6-md {
    flex-basis: calc(100% * 6 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col6-md {
    flex-basis: calc(100% * 6 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col6-md {
    flex-basis: calc(100% * 6 / 12 - 0.75rem - 0.0001px);
  }
  .col7-md {
    flex-basis: calc(100% * 7 / 12);
  }
  .gap-lg .col7-md {
    flex-basis: calc(100% * 7 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col7-md {
    flex-basis: calc(100% * 7 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col7-md {
    flex-basis: calc(100% * 7 / 12 - 0.75rem - 0.0001px);
  }
  .col8-md {
    flex-basis: calc(100% * 8 / 12);
  }
  .gap-lg .col8-md {
    flex-basis: calc(100% * 8 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col8-md {
    flex-basis: calc(100% * 8 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col8-md {
    flex-basis: calc(100% * 8 / 12 - 0.75rem - 0.0001px);
  }
  .col9-md {
    flex-basis: calc(100% * 9 / 12);
  }
  .gap-lg .col9-md {
    flex-basis: calc(100% * 9 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col9-md {
    flex-basis: calc(100% * 9 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col9-md {
    flex-basis: calc(100% * 9 / 12 - 0.75rem - 0.0001px);
  }
  .col10-md {
    flex-basis: calc(100% * 10 / 12);
  }
  .gap-lg .col10-md {
    flex-basis: calc(100% * 10 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col10-md {
    flex-basis: calc(100% * 10 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col10-md {
    flex-basis: calc(100% * 10 / 12 - 0.75rem - 0.0001px);
  }
  .col11-md {
    flex-basis: calc(100% * 11 / 12);
  }
  .gap-lg .col11-md {
    flex-basis: calc(100% * 11 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col11-md {
    flex-basis: calc(100% * 11 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col11-md {
    flex-basis: calc(100% * 11 / 12 - 0.75rem - 0.0001px);
  }
}
@media (min-width: 70rem) {
  .pull-right-lg {
    order: 2;
  }
  .pull-right-lg + * {
    order: 1;
  }
  .offset3-lg {
    margin-left: 25% !important;
  }
  .offset6-lg {
    margin-left: 50% !important;
  }
  .vert-center-lg {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .col1-lg {
    flex-basis: calc(100% * 1 / 12);
  }
  .gap-lg .col1-lg {
    flex-basis: calc(100% * 1 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col1-lg {
    flex-basis: calc(100% * 1 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col1-lg {
    flex-basis: calc(100% * 1 / 12 - 0.75rem - 0.0001px);
  }
  .col2-lg {
    flex-basis: calc(100% * 2 / 12);
  }
  .gap-lg .col2-lg {
    flex-basis: calc(100% * 2 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col2-lg {
    flex-basis: calc(100% * 2 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col2-lg {
    flex-basis: calc(100% * 2 / 12 - 0.75rem - 0.0001px);
  }
  .col3-lg {
    flex-basis: calc(100% * 3 / 12);
  }
  .gap-lg .col3-lg {
    flex-basis: calc(100% * 3 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col3-lg {
    flex-basis: calc(100% * 3 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col3-lg {
    flex-basis: calc(100% * 3 / 12 - 0.75rem - 0.0001px);
  }
  .col4-lg {
    flex-basis: calc(100% * 4 / 12);
  }
  .gap-lg .col4-lg {
    flex-basis: calc(100% * 4 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col4-lg {
    flex-basis: calc(100% * 4 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col4-lg {
    flex-basis: calc(100% * 4 / 12 - 0.75rem - 0.0001px);
  }
  .col5-lg {
    flex-basis: calc(100% * 5 / 12);
  }
  .gap-lg .col5-lg {
    flex-basis: calc(100% * 5 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col5-lg {
    flex-basis: calc(100% * 5 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col5-lg {
    flex-basis: calc(100% * 5 / 12 - 0.75rem - 0.0001px);
  }
  .col6-lg {
    flex-basis: calc(100% * 6 / 12);
  }
  .gap-lg .col6-lg {
    flex-basis: calc(100% * 6 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col6-lg {
    flex-basis: calc(100% * 6 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col6-lg {
    flex-basis: calc(100% * 6 / 12 - 0.75rem - 0.0001px);
  }
  .col7-lg {
    flex-basis: calc(100% * 7 / 12);
  }
  .gap-lg .col7-lg {
    flex-basis: calc(100% * 7 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col7-lg {
    flex-basis: calc(100% * 7 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col7-lg {
    flex-basis: calc(100% * 7 / 12 - 0.75rem - 0.0001px);
  }
  .col8-lg {
    flex-basis: calc(100% * 8 / 12);
  }
  .gap-lg .col8-lg {
    flex-basis: calc(100% * 8 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col8-lg {
    flex-basis: calc(100% * 8 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col8-lg {
    flex-basis: calc(100% * 8 / 12 - 0.75rem - 0.0001px);
  }
  .col9-lg {
    flex-basis: calc(100% * 9 / 12);
  }
  .gap-lg .col9-lg {
    flex-basis: calc(100% * 9 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col9-lg {
    flex-basis: calc(100% * 9 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col9-lg {
    flex-basis: calc(100% * 9 / 12 - 0.75rem - 0.0001px);
  }
  .col10-lg {
    flex-basis: calc(100% * 10 / 12);
  }
  .gap-lg .col10-lg {
    flex-basis: calc(100% * 10 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col10-lg {
    flex-basis: calc(100% * 10 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col10-lg {
    flex-basis: calc(100% * 10 / 12 - 0.75rem - 0.0001px);
  }
  .col11-lg {
    flex-basis: calc(100% * 11 / 12);
  }
  .gap-lg .col11-lg {
    flex-basis: calc(100% * 11 / 12 - 10rem - 0.0001px);
  }
  .gap-md .col11-lg {
    flex-basis: calc(100% * 11 / 12 - 1rem - 0.0001px);
  }
  .gap-sm .col11-lg {
    flex-basis: calc(100% * 11 / 12 - 0.75rem - 0.0001px);
  }
}
.gap-flex {
  gap: 2.5rem;
  flex-direction: column;
}
@media (min-width: 55rem) {
  .gap-flex {
    flex-direction: row;
    gap: 10rem;
  }
}
.gap-flex .col-flex {
  flex-basis: calc(50% - 5rem);
}
.gap-flex .col-flex.col-fw {
  flex-basis: 100%;
}
.gap-flex .col60-flex {
  flex-basis: calc(60% - 5rem);
}
.gap-flex .col54-flex {
  flex-basis: calc(54% - 5rem);
}
.gap-flex .col46-flex {
  flex-basis: calc(46% - 5rem);
}
.gap-flex .col40-flex {
  flex-basis: calc(40% - 5rem);
}

.gap-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
@media (max-width: 55rem) {
  .gap-cards > * {
    flex-basis: 100% !important;
  }
}

.row--product {
  display: flex;
  flex-wrap: wrap;
}

.row--category {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.color-primary {
  color: #17213a !important;
}

.color-secondary {
  color: #ffea00 !important;
}

.color-white {
  color: #fff;
}

.bg-primary {
  background-color: #17213a;
  border-radius: 4px;
  padding: 0 1.25rem;
  margin-left: 0.5rem;
  display: flex;
  align-items: center;
}

.menu-main__top .bg-primary > a {
  color: #fff !important;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.75rem 1.25rem;
  border-radius: 4px;
  background: none;
  display: flex;
  align-items: center;
  height: 100%;
}

.bg-secondary {
  background-color: #ffea00;
}
.bg-secondary p {
  color: #fff;
}

.menu-main__top .bg-secondary {
    border-radius: 4px;
    padding: 0;
    margin-left: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    padding: 0 !important;
    margin: 0 !important;
    height: 63px;
    margin-left: 1rem !important;
}

.menu-main__top .bg-secondary > a {
  color: #17213a !important;
  font-weight: 600;
  font-size: 0.65rem;
  letter-spacing: 0.02em;
  padding: 0.4rem 0.75rem;
  border-radius: 4px;
  background: none;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
  max-width: 85px;
  line-height: 1.3;
}

.menu-main__top .bg-secondary > a span {
  font-size: 0.65rem !important;
  text-align: center;
  display: block;
}

.bg-grey {
  background-color: #F1F1F1;
  position: relative;
}
.bg-grey.hoop-right::after {
  content: "";
  display: block;
  position: absolute;
  top: 61%;
  width: 50vw;
  height: 145px;
  border: 8px solid #17213a;
  max-width: 41.25rem;
  border-right: none;
  border-radius: 5rem 0rem 0rem 5rem;
  margin-right: -50vw;
  right: 50%;
  opacity: 0.05;
}

.bg-white {
  background-color: #FFFFFF;
}

.bg-gradient {
  background: linear-gradient(97deg, #3B3B3B 0%, #16191C 100%);
  background-blend-mode: normal;
  position: relative;
}
.bg-gradient::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-image: url(../img/noise-overlay.png);
  opacity: 0.01;
}
.bg-gradient .container .col-flex > * {
  color: #fff;
}
.bg-gradient .container .col-flex p,
.bg-gradient .container .col-flex .h2 span:not(.no-wrap) {
  color: rgba(255, 255, 255, 0.65);
}
.bg-gradient .container .col-flex .button span {
  color: #fff;
}

[class*=bg-] .container .col-flex > * {
  color: #fff;
}
[class*=bg-] .container .col-flex p,
[class*=bg-] .container .col-flex .h2 span:not(.no-wrap) {
  color: rgba(255, 255, 255, 0.65);
}
[class*=bg-] .container .col-flex .button span {
  color: #fff;
}

.bg-primary * {
  color: #fff !important;
}

.container {
  max-width: 97.5rem;
  width: calc(100% - 2rem);
  margin-left: auto;
  margin-right: auto;
}

.container--narrow {
  max-width: 60rem;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-8 {
  margin-top: 0.5rem !important;
}

.mt-16 {
  margin-top: 1rem !important;
}

.mt-24 {
  margin-top: 1.5rem !important;
}

.mt-32 {
  margin-top: 2rem !important;
}

.mt-40 {
  margin-top: 2.5rem !important;
}

.mt-48 {
  margin-top: 3rem !important;
}
@media (max-width: 55rem) {
  .mt-48 {
    margin-top: 0.75rem !important;
  }
}

.mt-64 {
  margin-top: 4rem !important;
}
@media (max-width: 55rem) {
  .mt-64 {
    margin-top: 1.5rem !important;
  }
}

.center {
  margin-left: auto;
  margin-right: auto;
}

.vert-align {
  align-items: center;
}

.h-100 {
  height: 100%;
}

.pad-16 {
  padding: 0rem 0rem 1rem 0rem;
}
@media (max-width: 55rem) {
  .pad-16 {
    padding: 0 !important;
  }
}

.pad-32 {
  padding: 2rem 0;
}
@media (max-width: 55rem) {
  .pad-32 {
    padding: 0 !important;
  }
}

.pad-64 {
  padding: 4rem 0;
}
@media (max-width: 55rem) {
  .pad-64 {
    padding: 0 !important;
  }
}

.mw-39 {
  max-width: 39rem;
}
.mw-39.center {
  margin-left: auto;
  margin-right: auto;
}

.mw-48 {
  max-width: 48rem;
}
.mw-48.center {
  margin-left: auto;
  margin-right: auto;
}

.mw-60 {
  max-width: 60rem;
}
.mw-60.center {
  margin-left: auto;
  margin-right: auto;
}

.mw-61 {
  max-width: 61rem;
}
.mw-61.center {
  margin-left: auto;
  margin-right: auto;
}

.mw-65 {
  max-width: 65rem;
}
.mw-65.center {
  margin-left: auto;
  margin-right: auto;
}

.mw-70 {
  max-width: 70rem;
}
.mw-70.center {
  margin-left: auto;
  margin-right: auto;
}

.mw-75 {
  max-width: 75rem;
}
.mw-75.center {
  margin-left: auto;
  margin-right: auto;
}

.ch-62 {
  max-width: 62ch;
}

.text-center {
  text-align: center;
}

.flow > * + *:not(section):not(br) {
  margin-top: 1rem;
}
@media (max-width: 55rem) {
  .flow > * + *:not(section):not(br) {
    margin-top: 0.75rem !important;
  }
}

.flow-sm > * + *:not(section):not(br) {
  margin-top: 0.75rem;
}

.flow-md > * + *:not(section):not(br) {
  margin-top: 2rem;
}
@media (max-width: 55rem) {
  .flow-md > * + *:not(section):not(br) {
    margin-top: 1rem;
  }
}

.flow-lg > * + *:not(section):not(br) {
  margin-top: 1.5rem;
}
@media (min-width: 55rem) {
  .flow-lg > * + *:not(section):not(br) {
    margin-top: 3rem;
  }
}

.section {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media (min-width: 55rem) {
  .section {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
@media (min-width: 70rem) {
  .section {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}

.section-footnote {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.flex {
  display: flex;
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.target {
  display: block;
  position: relative;
  top: -260px;
  visibility: hidden;
}
@media (min-width: 1200px) {
  .target {
    top: -220px;
  }
}

.overflow-hidden {
  overflow: hidden;
}

.is-visible {
  display: block !important;
}

.is-hidden {
  display: none !important;
}

.no-wrap {
  white-space: nowrap;
}
@media (max-width: 55rem) {
  .no-wrap {
    white-space: wrap;
  }
}
.no-wrap.block {
  display: block;
}
@media (max-width: 55rem) {
  .no-wrap.block {
    display: contents;
  }
}

.hidden {
  display: none;
}

.sr-only,
.sr-only-focusable:not(:focus):not(:focus-within) {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  border: 0;
  white-space: nowrap;
}

.u-skip-link {
  position: absolute;
  top: 0;
  right: 100%;
}
.u-skip-link:focus {
  right: auto;
}

.cta-slider .tns-slider {
  cursor: grab;
}
.cta-slider .tns-slider .tns-item {
  display: inline-flex !important;
  justify-content: center;
}
.cta-slider .tns-slider .tns-item > * {
  display: inline-flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-basis: 100%;
}
.cta-slider .tns-slider .tns-item > * h3 {
  color: rgba(30, 30, 30, 0.65);
  text-align: center;
  font-family: Poppins;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: uppercase;
}

.hero-blank {
  min-height: 168px;
}
@media (max-width: 55rem) {
  .hero-blank {
    min-height: 137.59px;
  }
}

.gap-24 {
  gap: 1.5rem;
}

.blocks {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  position: relative;
}
.blocks .block:first-child {
  flex-basis: calc(50% + 1.5rem);
}
@media only screen and (max-width: 900px) {
  .blocks .block:first-child {
    flex-basis: 100%;
  }
}
.blocks .block:last-child {
  flex-basis: 720px;
  height: 860px;
  border-radius: 6rem 0 0 0;
}
@media only screen and (min-width: 1921px) {
  .blocks .block:last-child {
    flex-basis: calc(40% - 4rem);
  }
}
@media (min-width: 900px) and (max-width: 1200px) {
  .blocks .block:last-child {
    flex-basis: auto !important;
  }
}
@media only screen and (max-width: 1700px) {
  .blocks .block:last-child {
    padding: 0 10rem !important;
  }
}
@media only screen and (max-width: 1919px) {
  .blocks .block:last-child {
    flex-basis: calc(46% - 4rem);
  }
}
@media only screen and (max-width: 900px) {
  .blocks .block:last-child {
    flex-basis: 100%;
  }
}
@media (max-width: 55rem) {
  .blocks .block:last-child {
    flex-basis: 100%;
  }
}
@media (max-width: 55rem) {
  .blocks {
    flex-direction: column;
  }
  .blocks .block {
    padding: 48px 0 !important;
  }
  .blocks .block:last-child {
    padding: 8rem !important;
  }
}
.blocks :not(.no-wrap).block {
  display: flex;
  padding: 128px 88px;
  justify-content: flex-end;
  gap: 48px;
}
@media only screen and (max-width: 1700px) {
  .blocks :not(.no-wrap).block {
    justify-content: flex-start;
    padding: 128px 1rem;
  }
}
.blocks :not(.no-wrap).block.pull-right-md {
  padding: 0px 88px;
  justify-content: flex-start;
}
.blocks :not(.no-wrap).block .block_content {
  display: flex;
  max-width: calc(43.75rem + 48px + 16px);
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 2rem;
  align-self: stretch;
}
@media (max-width: 1200px) {
  .blocks :not(.no-wrap).block .block_content {
    max-width: calc(32.5rem + 48px + 16px);
  }
}
@media (max-width: 55rem) {
  .blocks :not(.no-wrap).block .block_content {
    width: calc(100% - 2rem);
    max-width: 87.5rem;
    margin-left: auto;
    margin-right: auto;
    gap: 0.75rem;
  }
}
.blocks :not(.no-wrap).block .block_content_half {
  display: flex;
  flex-direction: row;
  gap: 3rem;
}

.accreditations-slider {
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
}
.accreditations-slider .accreditations-slider-track {
  display: flex;
  width: 200%;
  animation: scroll 45s linear infinite reverse;
  align-items: center;
  margin-left: -100px;
  gap: 12rem;
}
@media (max-width: 1200px) {
  .accreditations-slider .accreditations-slider-track {
    animation: scroll 30s linear infinite reverse;
  }
}
@media (max-width: 55rem) {
  .accreditations-slider .accreditations-slider-track {
    animation: scroll 20s linear infinite reverse;
    gap: 4rem;
  }
}
.accreditations-slider .accreditations-slider-track > .slide {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 48px;
}
@media (max-width: 55rem) {
  .accreditations-slider .accreditations-slider-track > .slide {
    width: 48px;
    height: 64px;
  }
}
.accreditations-slider .accreditations-slider-track > .slide picture {
  display: block;
  width: auto;
  height: 48px;
}
@media (max-width: 55rem) {
  .accreditations-slider .accreditations-slider-track > .slide picture {
    width: 48px;
    height: 64px;
  }
}
.accreditations-slider .accreditations-slider-track > .slide picture img {
  object-fit: contain;
  width: auto;
  height: 48px;
}
@media (max-width: 55rem) {
  .accreditations-slider .accreditations-slider-track > .slide picture img {
    width: 48px;
    height: 64px;
  }
}
@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.text-block header {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.card-halfs {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media (max-width: 55rem) {
  .card-halfs {
    flex-direction: column;
  }
}

.social-container {
  display: flex;
  gap: 1rem;
  margin-top: 2rem !important;
}
.social-container > a:not(.button) {
  width: 32px;
  height: 32px;
  background-color: #17213a;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.4s ease-in-out;
}
.social-container > a:not(.button):hover {
  background-color: #ffea00;
}
.social-container > a:not(.button) svg {
  width: 24px;
  height: 24px;
}
.social-container a.button {
  padding: calc(0.813rem - 10px) 1.75rem;
}

.target {
  display: block;
  position: relative;
  top: -260px;
  visibility: hidden;
}

@media (min-width: 960px) {
  .target {
    top: -220px;
  }
}
.accreditations {
  display: flex;
  justify-content: space-between;
}
.accreditations figure {
  width: auto;
  height: 100%;
}
.accreditations figure img {
  width: 100%;
  height: 64px;
  object-fit: contain;
}
@media (max-width: 55rem) {
  .accreditations figure img {
    max-width: 120px;
    max-height: 48px;
  }
}

.section.cta {
  background-color: #17213a;
  padding: 2rem 0;
}
.section.cta .row--cta {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.section.cta .row--cta * {
  color: #fff;
}

.gap-8 {
  gap: 0.5rem;
}

.gap-16 {
  gap: 1rem;
}

.gap-32 {
  gap: 2rem;
}
.gap-32 > * {
  flex-basis: calc(25% - 1.5rem);
}
@media (max-width: 55rem) {
  .gap-32 > * {
    flex-basis: 100%;
  }
}

aside.ticker {
  background-color: #17213a;
  z-index: 1;
  padding: 1rem 0;
  bottom: 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: auto;
  overflow: hidden;
  white-space: nowrap;
}
aside.ticker ul {
  display: flex;
  flex-direction: row;
  gap: 14.188rem;
  justify-content: center;
  animation: ticker-move 10s linear infinite;
  padding: 0;
  margin: 0;
}
@media (max-width: 55rem) {
  aside.ticker ul {
    gap: 3rem;
  }
}
aside.ticker ul li {
  font-weight: 500;
  white-space: nowrap;
  list-style: none;
  font-size: 1rem;
  display: inline-flex;
  gap: 12px;
  color: #fff;
  font-family: "Open Sans", sans-serif;
}
aside.ticker ul li:nth-child(5n+1)::before {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="20" viewBox="0 0 16 20" fill="none"><path d="M4.24219 6.48438C4.24219 4.86902 2.92785 3.55469 1.3125 3.55469C-0.302852 3.55469 -1.61719 4.86902 -1.61719 6.48438C-1.61719 8.09973 -0.302852 9.45312 1.3125 9.45312C2.92785 9.45312 4.24219 8.09973 4.24219 6.48438Z" fill="white"/><path d="M6.58594 15.3125H6C5.67641 15.3125 5.41406 15.5748 5.41406 15.8984V17.0703C5.41406 17.3939 5.67641 17.6562 6 17.6562H6.58594C7.23316 17.6562 7.75781 17.1315 7.75781 16.4844C7.75781 15.8371 7.23316 15.3125 6.58594 15.3125Z" fill="white"/><path d="M-0.667969 20L-0.281211 18.8281H-1.03125C-1.66402 18.8281 -2.26172 18.6875 -2.78906 18.4179V19.4141C-2.78906 19.7421 -2.53129 20 -2.20312 20H-0.667969Z" fill="white"/><path d="M-1.03125 17.6559H0.117148C0.0692968 17.8008 0.849844 15.436 0.890625 15.3125H-1.03125C-1.35941 15.3125 -1.61719 15.0546 -1.61719 14.7266V12.3828C-1.61719 12.0546 -1.35941 11.7969 -1.03125 11.7969C-0.703086 11.7969 -0.445312 12.0546 -0.445312 12.3828V14.1402H1.2773C1.23574 14.2635 1.89207 12.3185 1.93363 12.1953C2.00395 11.9609 2.2266 11.7969 2.48438 11.7969H6.52734C6.25777 10.4609 5.07422 9.45312 3.65625 9.45312H-1.03125C-2.65332 9.45312 -4 10.7678 -4 12.3828V14.7266C-4 16.4024 -2.56148 17.6559 -1.03125 17.6559Z" fill="white"/><path d="M6.78098 12.9688H2.90664L0.562735 20H4.82812C5.0802 20 5.30398 19.8387 5.38375 19.5995L5.65262 18.793C4.84922 18.6312 4.24219 17.9207 4.24219 17.0703V15.8984C4.24219 14.9291 5.0307 14.1406 6 14.1406H6.58594C6.79062 14.1406 6.98582 14.1754 7.17523 14.2249L7.33687 13.7399C7.46336 13.3606 7.18098 12.9688 6.78098 12.9688Z" fill="white"/><path d="M14.2422 0H7.17188C6.20258 0 5.41406 0.788516 5.41406 1.75781V6.48438C5.41406 7.45367 6.20258 8.28125 7.17188 8.28125H7.75781V10.0391C7.75781 10.2759 7.90027 10.49 8.11945 10.5804C8.33559 10.6705 8.5891 10.6222 8.75805 10.4533L10.9301 8.28125H14.2422C15.2115 8.28125 16 7.45367 16 6.48438V1.75781C16 0.788516 15.2115 0 14.2422 0ZM12.2736 3.96895L10.5158 5.72676C10.4014 5.84121 10.2514 5.89844 10.1016 5.89844C9.95168 5.89844 9.80172 5.84121 9.6873 5.72676L8.8084 4.84785C8.57953 4.61898 8.57953 4.24816 8.8084 4.0193C9.03726 3.79043 9.40809 3.79043 9.63695 4.0193L10.1016 4.48395L11.4451 3.14039C11.674 2.91152 12.0448 2.91152 12.2737 3.14039C12.5025 3.36926 12.5025 3.74008 12.2736 3.96895Z" fill="white"/></svg>');
  background-size: 16px 20px !important;
}
aside.ticker ul li:nth-child(5n+2)::before {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M18.8061 13.0036C17.7773 11.974 16.3497 11.5379 14.5163 12.0292L7.97869 5.48512L8.0651 5.15841C8.44164 3.74567 8.03479 2.22712 7.00366 1.19602C5.95378 0.145358 4.46123 -0.24015 3.04966 0.147584C2.84836 0.202857 2.69168 0.361022 2.63836 0.562858C2.58504 0.764694 2.64351 0.979225 2.79106 1.12684L4.36521 2.70094C4.82542 3.16227 4.82093 3.9011 4.36634 4.35688C3.91535 4.80907 3.15728 4.80837 2.70809 4.35801L1.13362 2.78348C0.985999 2.63579 0.770836 2.57786 0.568993 2.63149C0.367112 2.68508 0.209528 2.84215 0.154448 3.04364C-0.227634 4.43965 0.148237 5.94141 1.20315 6.9963C2.23155 8.0254 3.65734 8.46313 5.49181 7.97075L12.03 14.5148C11.542 16.3476 11.9629 17.7613 13.0056 18.8039C14.0568 19.8559 15.55 20.2385 16.9585 19.8521C17.1598 19.7968 17.3166 19.6386 17.3699 19.4368C17.4233 19.235 17.3649 19.0204 17.2172 18.8727L15.6434 17.299C15.1832 16.8377 15.1877 16.0988 15.6423 15.6431C16.0989 15.1888 16.8553 15.196 17.3006 15.6425L18.8751 17.2166C19.0228 17.3642 19.2379 17.4221 19.4397 17.3685C19.6416 17.3149 19.7992 17.1579 19.8542 16.9564C20.2363 15.5606 19.8605 14.0585 18.8061 13.0036Z" fill="white"/><path d="M6.27141 10.4134L0.685599 15.9998C-0.228533 16.9139 -0.228533 18.4004 0.685599 19.3144C1.59973 20.2285 3.08626 20.2285 4.00036 19.3144L9.58605 13.7283L6.27141 10.4134ZM3.44987 17.496C3.22096 17.7249 2.85024 17.7249 2.62133 17.496C2.39245 17.2672 2.39245 16.8964 2.62133 16.6675L6.17535 13.1129C6.40422 12.8841 6.77506 12.8841 7.00389 13.1129C7.23277 13.3418 7.23277 13.7126 7.00389 13.9415L3.44987 17.496Z" fill="white"/><path d="M19.8283 1.18176L18.8181 0.171647C18.628 -0.0184707 18.333 -0.0547988 18.1024 0.0834434L14.995 1.94762C14.6681 2.14376 14.6125 2.59481 14.8821 2.86438L15.1294 3.11165L11.1848 7.04005L12.8424 8.69766L16.7871 4.76926L17.1355 5.11774C17.4051 5.38723 17.8562 5.33176 18.0523 5.00481L19.9165 1.89751C20.0548 1.66692 20.0184 1.37188 19.8283 1.18176Z" fill="white"/></svg>');
  background-size: 20px 20px !important;
}
aside.ticker ul li:nth-child(5n+3)::before {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="18" viewBox="0 0 20 18" fill="none"><path d="M19.9214 9.30761C19.7596 9.03493 19.4013 8.94157 19.121 9.09892L18.6876 9.34231C18.7138 9.11139 18.7309 8.87784 18.7376 8.64175L19.8242 7.58473C20.0531 7.36213 20.0531 7.00125 19.8242 6.77865C19.5954 6.55605 19.2244 6.55605 18.9956 6.77865L18.6467 7.11802C18.6108 6.87832 18.5652 6.64607 18.5111 6.42112L19.2719 5.13914C19.4337 4.86649 19.3376 4.51789 19.0574 4.36053C18.7771 4.2031 18.4187 4.29654 18.257 4.56923L18.0139 4.97874C17.9141 4.76002 17.8067 4.55027 17.693 4.34982L18.088 2.91588C18.1717 2.61181 17.9862 2.29927 17.6736 2.2178C17.3611 2.13625 17.0398 2.31675 16.956 2.62082L16.8242 3.09942C16.6692 2.91379 16.5111 2.74002 16.3527 2.57784V1.06638C16.3238 0.310921 15.2093 0.311491 15.1808 1.06638V1.56284C14.8739 1.33876 14.5954 1.16465 14.3713 1.03842C14.0913 0.880719 13.7328 0.973627 13.5706 1.24612C13.4085 1.51854 13.5041 1.86725 13.7841 2.02499C14.0078 2.15096 14.2925 2.33115 14.605 2.5683L14.2506 2.68321C13.9436 2.78273 13.7776 3.10553 13.88 3.40417C13.9787 3.69243 14.3041 3.86746 14.6211 3.76471L15.5895 3.45076C15.7296 3.59876 15.8687 3.75718 16.0045 3.92643L15.6274 3.94847C15.3044 3.96736 15.0583 4.23738 15.0777 4.5516C15.0969 4.86402 15.3725 5.10505 15.6977 5.0864L16.7352 5.02579C16.8328 5.20697 16.9244 5.39655 17.0087 5.59426L16.6207 5.51697C16.3037 5.45392 15.9941 5.65266 15.9291 5.96106C15.8643 6.26946 16.0686 6.57065 16.3857 6.6338L17.4045 6.83672C17.4475 7.03511 17.483 7.23985 17.5098 7.45105L17.1627 7.28222C16.8732 7.14143 16.5213 7.25554 16.3766 7.53712C16.2319 7.81869 16.3492 8.16103 16.6386 8.30185L17.5608 8.75039C17.5507 8.95981 17.5316 9.16694 17.5039 9.37145L17.2166 9.1237C16.9745 8.91478 16.6042 8.93648 16.3895 9.172C16.1748 9.40752 16.197 9.76779 16.4391 9.97663L17.2109 10.6424C17.1455 10.8411 17.0718 11.0361 16.9899 11.2271L16.7789 10.9162C16.6006 10.6534 16.237 10.5811 15.9671 10.7545C15.697 10.928 15.6227 11.2816 15.8009 11.5443L16.3677 12.3794C16.2521 12.5539 16.1289 12.7231 15.999 12.8872L15.8791 12.5372C15.7768 12.2386 15.4449 12.0772 15.1379 12.1767C14.8309 12.2762 14.665 12.599 14.7673 12.8976L15.0921 13.8458C14.9344 13.9854 14.7705 14.1184 14.6011 14.2449L14.5784 13.8766C14.559 13.5624 14.2821 13.3235 13.9584 13.3418C13.6354 13.3607 13.3892 13.6307 13.4087 13.9449L13.4703 14.9449C13.2811 15.0403 13.0872 15.1279 12.8892 15.2078L12.966 14.8428C13.0308 14.5344 12.8265 14.2333 12.5094 14.1701C12.1925 14.1071 11.8828 14.3058 11.8179 14.6142L11.611 15.5972C10.579 15.8207 9.42103 15.8207 8.38904 15.5972L8.18216 14.6142C8.11724 14.3058 7.80755 14.1072 7.4906 14.1701C7.1736 14.2333 6.96919 14.5344 7.03407 14.8428L7.11087 15.2078C6.91282 15.1279 6.71888 15.0403 6.5297 14.9449L6.59138 13.9449C6.61079 13.6307 6.36462 13.3607 6.04161 13.3418C5.7179 13.3235 5.44102 13.5624 5.42165 13.8766L5.39891 14.2449C5.22958 14.1184 5.06559 13.9855 4.90793 13.8458L5.23274 12.8976C5.33505 12.599 5.16911 12.2762 4.86211 12.1767C4.55516 12.0771 4.22328 12.2386 4.12098 12.5372L4.00106 12.8872C3.87114 12.7232 3.74789 12.5539 3.63231 12.3794L4.1991 11.5443C4.37739 11.2816 4.30301 10.928 4.03297 10.7545C3.76301 10.5811 3.39945 10.6534 3.22117 10.9162L3.01012 11.2271C2.92824 11.0361 2.85449 10.8411 2.78914 10.6424L3.56094 9.97663C3.80305 9.76779 3.82531 9.40752 3.61059 9.172C3.39582 8.93648 3.02559 8.91478 2.7834 9.1237L2.49617 9.37145C2.4684 9.1669 2.4493 8.95981 2.43922 8.75039L3.36141 8.30185C3.65086 8.16106 3.76817 7.81869 3.62344 7.53712C3.47875 7.25554 3.1268 7.14143 2.83734 7.28222L2.49023 7.45105C2.51707 7.23981 2.5525 7.03507 2.59558 6.83672L3.61438 6.6338C3.93141 6.57065 4.13578 6.26946 4.0709 5.96106C4.00598 5.65266 3.69633 5.45392 3.37934 5.51697L2.99141 5.59426C3.07582 5.39655 3.16738 5.20697 3.26504 5.02579L4.30231 5.08636C4.62754 5.10502 4.90305 4.86399 4.92231 4.55156C4.94172 4.23734 4.69555 3.96732 4.37258 3.94843L3.99567 3.92643C4.13149 3.75718 4.27059 3.59876 4.41063 3.4508L5.37891 3.76471C5.69587 3.86749 6.02126 3.69243 6.12005 3.40417C6.22235 3.10553 6.05641 2.78273 5.74942 2.68321L5.39505 2.56834C5.70813 2.33073 5.99302 2.15054 6.21587 2.02503C6.49595 1.86729 6.59149 1.51857 6.42938 1.24616C6.26724 0.973741 5.9088 0.880795 5.62872 1.03845C5.40387 1.16511 5.12559 1.33914 4.81922 1.56277V1.06638C4.7904 0.310921 3.6759 0.311491 3.64735 1.06638V2.57761C3.48879 2.73983 3.33078 2.91364 3.17574 3.09927L3.04398 2.62085C2.9602 2.31679 2.63887 2.13629 2.32637 2.21784C2.01379 2.29931 1.82828 2.61185 1.91203 2.91592L2.30695 4.34974C2.19324 4.55023 2.08586 4.75994 1.98601 4.97871L1.74308 4.56934C1.58129 4.2967 1.22292 4.20326 0.94269 4.36065C0.662415 4.518 0.56636 4.86661 0.728158 5.13925L1.48886 6.42119C1.43476 6.64619 1.38921 6.87844 1.35328 7.11814L1.00441 6.77877C0.775619 6.55617 0.404602 6.55617 0.175773 6.77877C-0.0530554 7.00133 -0.0530554 7.36224 0.175773 7.58484L1.26238 8.64187C1.26914 8.87792 1.28617 9.11146 1.31242 9.34242L0.878978 9.09904C0.598704 8.94164 0.240344 9.03505 0.0785856 9.30773C-0.0832117 9.58037 0.0128432 9.92894 0.293117 10.0863L1.62332 10.8333C1.69257 11.0588 1.77086 11.2805 1.85843 11.4978L1.37507 11.3718C1.06296 11.2904 0.741244 11.4708 0.657454 11.7748C0.573704 12.0789 0.759212 12.3914 1.07179 12.4729L2.55973 12.8607C2.68648 13.0602 2.82141 13.2541 2.96414 13.4422H2.4589C1.6823 13.4702 1.68289 14.5544 2.4589 14.5822H4.00203C4.17649 14.7425 4.35782 14.8957 4.54532 15.0418L4.05692 15.1691C3.74434 15.2506 3.55883 15.5631 3.64258 15.8672C3.72942 16.1824 4.0593 16.3488 4.3602 16.2702L5.84641 15.8828C6.05712 15.994 6.27325 16.0965 6.49388 16.1909L6.05981 16.4346C5.77954 16.592 5.68348 16.9406 5.84528 17.2132C5.98294 17.4452 6.32552 17.6017 6.64567 17.4219L7.97564 16.6751C9.26642 16.9811 10.7335 16.9811 12.0243 16.6751L13.3542 17.4219C13.6744 17.6017 14.017 17.4452 14.1546 17.2132C14.3164 16.9406 14.2204 16.592 13.9401 16.4346L13.506 16.1909C13.7267 16.0965 13.9428 15.994 14.1535 15.8828L15.6397 16.2702C15.9406 16.3487 16.2705 16.1824 16.3573 15.8672C16.4411 15.5631 16.2556 15.2506 15.943 15.1691L15.4546 15.0418C15.6421 14.8957 15.8234 14.7425 15.9979 14.5822H17.541C18.3176 14.5541 18.317 13.47 17.541 13.4422H17.0359C17.1787 13.2541 17.3136 13.0602 17.4404 12.8607L18.9283 12.4729C19.2409 12.3914 19.4264 12.0789 19.3426 11.7748C19.2588 11.4707 18.9371 11.2904 18.625 11.3718L18.1416 11.4978C18.2292 11.2805 18.3075 11.0588 18.3768 10.8333L19.7069 10.0863C19.9872 9.92883 20.0832 9.58026 19.9214 9.30761Z" fill="white"/><path d="M12.5049 10.2754C11.9808 10.2752 11.7771 9.98111 11.7556 9.94756C11.3475 9.30419 10.3783 9.83941 10.7362 10.5098C10.9265 10.846 11.5131 11.4151 12.5047 11.4154C15.3603 11.3097 15.3582 7.32751 12.5047 7.22279H11.8354V6.5312H13.7599C14.5365 6.50316 14.5359 5.419 13.7599 5.39122H11.2495C10.9259 5.39122 10.6635 5.64643 10.6635 5.96121V7.79278C10.6635 8.10756 10.9259 8.36276 11.2495 8.36276H12.5047C13.8074 8.41098 13.8064 10.2275 12.5049 10.2754Z" fill="white"/><path d="M5.7179 6.29682C5.35997 6.96781 6.32977 7.50204 6.73731 6.85906C6.75884 6.82551 6.9631 6.53139 7.48716 6.5312C8.45501 6.52197 8.87623 7.83165 7.95701 8.25458L7.14048 8.60767C6.23223 8.99993 5.64536 9.87821 5.64536 10.8454C5.64536 11.1602 5.9077 11.4154 6.2313 11.4154H8.74173C9.51834 11.3873 9.51775 10.3032 8.74173 10.2754H6.95165C7.08767 10.0022 7.32005 9.77744 7.61665 9.6493L8.4331 9.29625C10.4971 8.36672 9.71932 5.39339 7.48634 5.39122C6.49477 5.39157 5.90817 5.96064 5.7179 6.29682Z" fill="white"/></svg>');
  background-size: 20px 18px !important;
}
aside.ticker ul li:nth-child(5n+4)::before {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="18" viewBox="0 0 20 18" fill="none"><path d="M19.8289 15.6771L11.0745 1.09398C10.843 0.725301 10.4432 0.5 10.0013 0.5C9.55934 0.5 9.13846 0.725301 8.92802 1.09398L0.173615 15.6771C-0.0578717 16.0458 -0.0578717 16.5169 0.173615 16.8855C0.405102 17.2542 0.804942 17.5 1.24687 17.5H18.7346C19.1766 17.5 19.5974 17.2747 19.8079 16.8855C20.0604 16.5169 20.0604 16.0663 19.8289 15.6771ZM10.0013 15.0831C9.30681 15.0831 8.75966 14.5301 8.75966 13.8747C8.75966 13.1988 9.32786 12.6663 10.0013 12.6663C10.6957 12.6663 11.2429 13.2193 11.2429 13.8747C11.2429 14.5301 10.6957 15.0831 10.0013 15.0831ZM11.2429 6.72651L10.7168 10.8229C10.6747 11.1711 10.3801 11.4169 10.0223 11.4169C9.66456 11.4169 9.36995 11.1506 9.32786 10.8229L8.80175 6.72651C8.80175 6.68554 8.78071 6.6241 8.78071 6.56265C8.78071 5.88675 9.3489 5.35422 10.0223 5.35422C10.7168 5.35422 11.2639 5.90723 11.2639 6.56265C11.2429 6.6241 11.2429 6.66506 11.2429 6.72651Z" fill="white"/></svg>');
  background-size: 20px 18px !important;
}
aside.ticker ul li:nth-child(5n+5)::before {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M19.8283 13.5946L17.9333 11.7359L14.0132 15.5807C13.3134 16.267 12.4352 16.7145 11.4812 16.8819L13.9789 19.3316C14.2076 19.5561 14.5787 19.5561 14.8074 19.3316L19.8283 14.4074C20.0572 14.1829 20.0572 13.819 19.8283 13.5946Z" fill="white"/><path d="M17.1614 10.8676C17.822 10.2199 17.8221 9.16589 17.1623 8.51773C17.1616 8.51698 17.1608 8.51624 17.16 8.51549C16.9968 8.35551 16.806 8.23219 16.5984 8.14973C16.7784 7.70301 16.8164 6.94755 16.2199 6.3624C16.2184 6.36091 16.2169 6.35926 16.2152 6.35776C16.0527 6.19943 15.8632 6.07731 15.6569 5.9953C15.8369 5.54888 15.8751 4.79327 15.2789 4.20842C15.2785 4.20797 15.2782 4.20767 15.2779 4.20737C15.1144 4.04709 14.9236 3.92348 14.7156 3.84102C14.8956 3.3943 14.9336 2.63869 14.3372 2.05354C14.337 2.05354 14.337 2.05339 14.3369 2.05339C14.3367 2.05324 14.3365 2.05309 14.3364 2.05294C13.6755 1.40479 12.6004 1.40479 11.9395 2.05294L10.8286 3.14243L11.3966 3.6996C12.3433 4.62805 12.3433 6.13867 11.3968 7.06713C11.0782 7.37946 10.6868 7.59406 10.2602 7.69628C10.1581 8.10424 9.94507 8.49094 9.62051 8.80911C9.30237 9.12114 8.91159 9.3356 8.48541 9.43796C8.3812 9.8558 8.16238 10.2392 7.84439 10.5511C7.52624 10.8631 7.13547 11.0776 6.70929 11.1799C6.60507 11.5978 6.38626 11.9812 6.06827 12.2932C5.60974 12.7428 5 12.9906 4.3515 12.9906C3.703 12.9906 3.09326 12.7429 2.63474 12.2931L2.06665 11.7359L0.171661 13.5946C-0.0572205 13.8191 -0.0572205 14.1829 0.171661 14.4074L5.19241 19.3316C5.4213 19.5561 5.79224 19.556 6.02112 19.3316L9.61517 15.8068H10.6277C11.5936 15.8068 12.5017 15.4378 13.1847 14.7681L17.1614 10.8676Z" fill="white"/><path d="M3.46344 11.4804C3.95386 11.9616 4.74915 11.9616 5.23956 11.4804C5.73013 10.9995 5.73013 10.2196 5.23956 9.73847C5.73013 10.2196 6.52527 10.2196 7.01584 9.73847C7.50626 9.25748 7.50626 8.47748 7.01584 7.99648C7.50626 8.47748 8.30154 8.47748 8.79196 7.99648C9.28238 7.51549 9.28238 6.73549 8.79196 6.2545C9.28238 6.73549 10.0777 6.73549 10.5681 6.2545C11.0587 5.77336 11.0587 4.99351 10.5681 4.51237L8.06381 2.05624C7.57339 1.57525 6.77811 1.57525 6.28769 2.05624C5.79727 2.53723 5.79727 3.31723 6.28769 3.79822L6.60141 4.10606C6.11099 3.62492 5.3157 3.62492 4.82529 4.10606C4.33487 4.58705 4.33487 5.36705 4.82529 5.84804L5.45288 6.46357C4.96246 5.98258 4.16718 5.98258 3.67676 6.46357C3.18619 6.94456 3.18619 7.72456 3.67676 8.20555L4.30435 8.82123C3.81378 8.34009 3.01865 8.34009 2.52808 8.82123C2.03766 9.30222 2.03766 10.0821 2.52808 10.5632L3.46344 11.4804Z" fill="white"/><path d="M11.1108 1.24017C11.1975 1.15516 11.2892 1.07704 11.3846 1.00446L11.0419 0.668338C10.8636 0.493391 10.591 0.450141 10.3656 0.560586L8.91937 1.2698L10 2.32981L11.1108 1.24017Z" fill="white"/></svg>');
  background-size: 20px 20px !important;
}
aside.ticker ul li:before {
  content: "";
  position: relative;
  width: 20px;
  height: 20px;
  aspect-ratio: 1/1;
  display: block;
  background-repeat: no-repeat !important;
}

@keyframes ticker-move {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.grid-4 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-template-rows: repeat(1, 1fr);
}
@media (min-width: 40rem) {
  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
}
.grid-4 .h4 {
  font-weight: 700;
}
.grid-4 p {
  overflow: hidden;
  color: #ffea00;
  text-overflow: ellipsis;
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 28px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  align-self: stretch;
  padding-left: 4rem;
}
@media (max-width: 55rem) {
  .grid-4 p {
    font-size: 0.875rem;
    line-height: 1.375rem;
    padding-left: calc(27.13px + 1.5rem);
  }
}
.grid-4 > a {
  padding: 4rem;
  display: flex;
  gap: 1.5rem;
  flex-direction: column;
}
@media (max-width: 55rem) {
  .grid-4 > a {
    padding: 1.5rem;
    gap: 0.75rem;
  }
}
.grid-4 > a:hover {
  background-color: rgba(22, 25, 28, 0.025);
}
.grid-4 > a:hover .button--pill {
  background: #17213a;
  transition: 0.4s ease-in-out;
}
.grid-4 > a:hover .button--pill svg path {
  color: #fff;
  transition: 0.4s ease-in-out;
}
.grid-4 > a header h2 {
  color: #ffea00;
  font-family: "Open Sans", sans-serif;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  text-transform: uppercase;
  display: inline-flex;
  gap: 1.5rem;
  align-items: center;
}
.grid-4 > a header h2 span {
  color: #ffea00;
  font-family: "Open Sans", sans-serif;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: uppercase;
}
@media (max-width: 55rem) {
  .grid-4 > a header h2 span {
    font-size: 1.5rem;
  }
}
@media (max-width: 55rem) {
  .grid-4 > a header h2 {
    font-size: 1.125rem;
  }
}
.grid-4 > a:nth-child(1) {
  border-bottom: 0.5px solid rgba(0, 0, 0, 0.13);
  border-right: 0;
}
@media (min-width: 40rem) {
  .grid-4 > a:nth-child(1) {
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.13);
    border-right: 0.5px solid rgba(0, 0, 0, 0.13);
  }
}
.grid-4 > a:nth-child(2) {
  border-bottom: 0.5px solid rgba(0, 0, 0, 0.13);
}
.grid-4 > a:nth-child(3) {
  border-right: 0;
  border-bottom: 0.5px solid rgba(0, 0, 0, 0.13);
}
@media (min-width: 40rem) {
  .grid-4 > a:nth-child(3) {
    border-right: 0.5px solid rgba(0, 0, 0, 0.13);
    border-bottom: 0;
  }
}

.mw-960 {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

.font-noto {
  font-family: "Open Sans", sans-serif;
}

.row--geo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (max-width: 55rem) {
  .row--geo {
    display: block;
  }
}
.row--geo .col-flex:first-child {
  flex-basis: 200px;
}
@media (max-width: 55rem) {
  .row--geo .col-flex:first-child {
    display: none;
  }
}
.row--geo .col-flex:first-child figure img {
  border-radius: 1.5rem;
}
.row--geo .col-flex:last-child {
  flex-basis: 1112px;
}
.row--geo .col-flex:last-child ul {
  list-style: none;
}
.row--geo .col-flex:last-child ul li p {
  margin-top: 1.5rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  align-self: stretch;
  overflow: hidden;
}
@media (max-width: 55rem) {
  .row--geo .col-flex:last-child ul li p {
    -webkit-line-clamp: 5;
  }
}
.row--geo .col-flex:last-child .tns-controls {
  display: flex;
  position: relative;
  margin: 0;
  gap: 0.625rem;
  margin-top: 1.5rem;
}
.row--geo .col-flex:last-child .tns-controls button {
  position: relative;
  width: 48px;
  height: 48px;
}
@media (max-width: 55rem) {
  .row--geo .col-flex:last-child .tns-controls button {
    margin: 0;
  }
}
.row--geo .col-flex:last-child .tns-controls button:first-child {
  background-image: url('data:image/svg+xml,<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="46.8464" y="47.5" width="46.3464" height="47" rx="23.1732" transform="rotate(-180 46.8464 47.5)" stroke="%23202020" stroke-opacity="0.25"/><path d="M23.0482 19L18.0482 24M18.0482 24L23.0482 29M18.0482 24L29.2982 24" stroke="%23202020" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
.row--geo .col-flex:last-child .tns-controls button:last-child {
  background-image: url('data:image/svg+xml,<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.846375" y="0.5" width="46.3464" height="47" rx="23.1732" stroke="%23202020" stroke-opacity="0.25"/><path d="M24.6445 29L29.6445 24M29.6445 24L24.6445 19M29.6445 24H18.3945" stroke="%23202020" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

.rounded {
  border-radius: 1.5rem;
}

.font-alt {
  font-family: "Open Sans", sans-serif !important;
}

.logo {
  max-width: 100%;
  max-height: 400px;
}

.justify-end {
  justify-content: flex-end;
}

@media (max-width: 55rem) {
  .flex-direction-md {
    flex-direction: column;
  }
}

@media (max-width: 55rem) {
  .flex-start-md {
    align-items: flex-start;
  }
}

@media (max-width: 55rem) {
  .mt-16-md {
    margin-top: 1rem;
  }
}

.row--cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
@media (max-width: 55rem) {
  .row--cards > * {
    flex-basis: 100% !important;
  }
}

.mt-128 {
  margin-top: 8rem;
}
@media (max-width: 55rem) {
  .mt-128 {
    margin-top: 2rem;
  }
}

.max-height-408 {
  max-height: 408px;
}

.breadcrumb {
  opacity: 0.75;
}
@media (max-width: 55rem) {
  .breadcrumb {
    display: none;
  }
}
.breadcrumb p {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.breadcrumb p a {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-size: 0.875rem;
}
.breadcrumb p a:last-child {
  font-weight: 700;
}
.breadcrumb p a:last-child::after {
  display: none;
}
.breadcrumb p a::after {
  width: 20px;
  height: 20px;
  content: "";
  display: block;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="512" x="0" y="0" viewBox="0 0 24 24" style="enable-background:new 0 0 512 512" xml:space="preserve" class=""><g transform="matrix(9.184850993605151e-17,-1.500000000000001,1.500000000000001,9.184850993605151e-17,-6.028847455978404,29.950670957565322)"><path d="M12 16a1 1 0 0 1-.71-.29l-6-6a1 1 0 0 1 1.42-1.42l5.29 5.3 5.29-5.29a1 1 0 0 1 1.41 1.41l-6 6a1 1 0 0 1-.7.29z" data-name="16" fill="%23000000" opacity="1" data-original="%23000000"></path></g></svg>');
  background-size: 100%;
  background-repeat: no-repeat;
}

.stripe p {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.stripe p svg {
  width: 60px;
  height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.2;
  font-weight: 700;
  font-size: 1rem;
}

.h1 {
  color: #17213a;
  font-size: 1.5rem;
}
@media (min-width: 40rem) {
  .h1 {
    font-size: 2.5rem;
  }
}

.h2 {
  color: #17213a;
  font-family: "Open Sans", sans-serif;
  font-size: 2.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: 0.25px;
  text-transform: capitalize;
}
.h2 span:not(.no-wrap) {
  color: #ffea00;
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  text-transform: uppercase;
  display: block;
  margin-bottom: 0.5rem;
}
.h2 span:not(.no-wrap) a {
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  text-transform: uppercase;
}
@media (max-width: 55rem) {
  .h2 {
    font-size: 1.5rem;
    line-height: calc(24px + 1rem);
  }
}

.h3 {
  font-family: "Open Sans", sans-serif;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.h4 {
  color: #ffea00;
  font-family: "Open Sans", sans-serif;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.link {
  color: currentColor;
  font-style: normal;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.link:hover {
  text-decoration-thickness: 2px;
}
.link strong {
  font-weight: 600;
}

.link-underline {
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.link-underline:hover {
  color: #17213a;
}

.link-gradient {
  color: #17213a;
}
@supports (-webkit-background-clip: text) {
  .link-gradient span {
    background-image: linear-gradient(to right, #17213a 0%, #ffea00 100%);
    background-size: 200% auto;
    transition: background 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
.link-gradient:hover {
  color: #ffea00;
}
@supports (-webkit-background-clip: text) {
  .link-gradient:hover span {
    background-position: right center;
  }
}

.subheading {
  font-size: 1.25rem;
  margin-top: 1.5rem;
}
@media (min-width: 40rem) {
  .subheading {
    font-size: 1.875rem;
  }
}

strong {
  font-weight: 700;
}

.leading {
  font-weight: 700;
  font-size: 1.125rem;
}
@media (min-width: 40rem) {
  .leading {
    font-size: 1.375rem;
  }
}

q {
  font-style: italic;
}

cite {
  display: block;
  font-style: normal;
  font-weight: 700;
  margin-top: 1.5rem;
}

main p {
  color: #16191C;
  font-family: "Open Sans";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
}
@media (max-width: 55rem) {
  main p {
    font-size: 0.875rem;
  }
}

form a {
  word-break: break-word;
}

label {
  display: block;
}
label + input, label + textarea, label + .form-group {
  margin-top: 0 !important;
}

input, textarea, select {
  padding: 0.75rem 1em;
  border: 2px solid #fff;
  width: 100%;
  border: 1px solid #17213a;
  -webkit-appearance: none;
  border-radius: 6rem;
}

/* Checkboxes/radios must keep their native look — the rule above otherwise
   stretches them to 100% width, removes the tick and makes them pill-shaped.
   Placed before the .switch (VAT toggle) rules so that custom toggle still wins. */
input[type="checkbox"], input[type="radio"] {
  width: auto;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  -webkit-appearance: auto;
  appearance: auto;
}

textarea {
  height: 10rem;
  display: block;
  border-radius: 2rem;
}

::-webkit-input-placeholder {
  color: #16191C;
  font-weight: 400;
}

::-moz-placeholder {
  color: #16191C;
  font-weight: 400;
}

:-ms-input-placeholder {
  color: #16191C;
  font-weight: 400;
}

:-moz-placeholder {
  color: #16191C;
  font-weight: 400;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th {
  background-color: #17213a;
  color: #fff;
  font-weight: 700;
}

th,
td {
  padding: 0.75rem 0.5rem;
  /*border: 2px solid #17213a;*/
}

table.glossary {
  width: 100%;
  border-collapse: collapse;
  border-radius: 1.5rem;
  overflow: hidden;
}
table.glossary * {
  width: 100%;
}
table.glossary th,
table.glossary td {
  text-align: left;
  padding: 1rem;
  width: 50%;
  border: none !important;
}
table.glossary th:nth-child(1),
table.glossary td:nth-child(1) {
  width: 20%;
}
table.glossary th:nth-child(2),
table.glossary td:nth-child(2) {
  width: 80%;
}
table.glossary td {
  background-color: #F1F1F1;
  padding: 2rem 1rem;
  margin-top: 0 !important;
}
table.glossary td:not(:first-child) {
  border-left: none !important;
}
@media (min-width: 55rem) {
  table.glossary td:not(:first-child) {
    border-left: solid 1px rgba(22, 25, 28, 0.1) !important;
  }
}
table.glossary th:first-child {
  border-top-left-radius: 1.5rem;
}
table.glossary th:last-child {
  border-top-right-radius: 1.5rem;
}
table.glossary tr {
  border-bottom: 1px solid rgba(63, 64, 66, 0.1);
}
table.glossary tr:first-child {
  border-bottom-left-radius: 1.5rem;
}
table.glossary tr:last-child {
  border-bottom-right-radius: 1.5rem;
  border-bottom: none;
}
@media (max-width: 55rem) {
  table.glossary table,
  table.glossary tbody,
  table.glossary th,
  table.glossary td,
  table.glossary tr {
    width: 100% !important;
  }
  table.glossary thead {
    display: none;
  }
  table.glossary td {
    display: block;
    text-align: left;
    border: none;
    position: relative;
    padding: 1rem;
  }
  table.glossary td:first-child {
    background-color: #17213a;
    color: #fff;
    font-weight: 700;
  }
  table.glossary tr {
    border-bottom: none !important;
  }
  table.glossary td:last-child {
    border-bottom: none;
  }
}

[class*=bg-] {
  background-size: 100% auto;
  background-size: cover;
  background-position: 50%;
}

.bg-what-eqonic-sustainability-do {
  background-image: url(../img/what-eqonic-sustainability-do.jpg?v=0.0.2);
}

.bg-card-commercial {
  background-image: url(../img/card-commercial.jpg?v=0.0.2);
}

.bg-card-industrial {
  background-image: url(../img/card-industrial.jpg?v=0.0.2);
}

.bg-card-marine {
  background-image: url(../img/card-marine.jpg?v=0.0.2);
}

.bg-card-residential {
  background-image: url(../img/card-residential.jpg?v=0.0.2);
}

.bg-card-telecoms {
  background-image: url(../img/card-telecoms.jpg?v=0.0.2);
}

.bg-card-transport {
  background-image: url(../img/card-transport.jpg?v=0.0.2);
}

.bg-insights {
  background-image: url(../img/insights.jpg?v=0.0.2);
}

.bg-insights-post {
  background-image: url(../img/insights-post.jpg?v=0.0.2);
}

.bg-insights-smes {
  background-image: url(../img/insights-smes.jpg?v=0.0.2);
}

.bg-vanuatu {
  background-image: url(../img/vanuatu.jpg?v=0.0.2);
}

.bg-alanna {
  background-image: url(../img/alanna.jpg?v=0.0.2);
}

.bg-sustainable-port-electrification {
  background-image: url(../img/sustainable-port-electrification.jpg?v=0.0.2);
}

.bg-chinese-market {
  background-image: url(../img/chinese-market.jpg?v=0.0.2);
}

.bg-demand-2040 {
  background-image: url(../img/demand-2040.jpg?v=0.0.2);
}

.bg-sweetman-696x419 {
  background-image: url(../img/sweetman-696x419.jpg?v=0.0.2);
}

.bg-1721397652716 {
  background-image: url(../img/1721397652716.jpg?v=0.0.2);
}

.bg-what-eqonic-sustainability-do {
  position: relative;
  background-position: center center;
}

.bg-insights {
  position: relative;
  background-position: 50% 50%;
}
.bg-insights .container {
  z-index: 2;
  position: relative;
}
.bg-insights::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #F1F1F1;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.85;
  z-index: 1;
}

.button-container {
  display: flex;
  gap: 1.5rem;
  transition: 0.2s ease-in-out;
}
@media (max-width: 55rem) {
  .button-container {
    gap: 0.75rem;
  }
}
.button-container > * {
  display: flex;
}

.button.button--bordered {
  position: relative;
  display: inline-flex;
  padding: 0.813rem 1.75rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: 2px solid #17213a;
  border-radius: 6rem;
}
@media (max-width: 55rem) {
  .button.button--bordered {
    padding: calc(0.688rem + 2px) 0.875rem;
  }
}
.button.button--bordered span {
  color: #17213a;
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.5px;
  text-transform: capitalize;
}
@media (max-width: 55rem) {
  .button.button--bordered span {
    font-size: 0.875rem;
  }
}
.button.button--bordered:hover {
  background: #17213a;
  border: 2px solid #17213a;
}
.button.button--bordered:hover span {
  color: #fff;
}
.button.button--solid {
  position: relative;
  display: inline-flex;
  gap: 12px;
  padding: calc(0.813rem + 2px) 1.75rem;
  justify-content: center;
  align-items: center;
  background-color: #ffea00;
  border-radius: 96px;
  overflow: hidden;
  transition: background-color 0.4s ease;
}
@media (max-width: 55rem) {
  .button.button--solid {
    padding: calc(0.688rem + 2px) 0.875rem;
  }
}
.button.button--solid::before {
  content: "";
  position: relative;
  background-image: url('data:image/svg+xml,<svg id="Layer_2" data-name="Layer 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 184.86 90.76" width="120px" height="100%"><defs><style> .cls-1 { fill: %2317213a; } </style></defs><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M140.36,0H42.19C14.65,0,3.26,11.12,3.26,28.22c0,15.6,10.72,26.05,34.05,26.05h22.63c6.65,0,9.63,1.9,9.63,6.51s-2.98,6.65-9.63,6.65H18.04L0,90.76h57.76c27.67,0,38.93-11.12,38.93-29.71,0-13.82-8.34-21.87-23.97-24.14l-2.79-7.37h0l-1.47-3.87c-.09-.25.09-.51.35-.51l5.17-.02c1.35-.27,1.62-1.31,2.27-2.3.16-.24.52-.19.62.08l5,13.75h1.78l-4.37-11.51c-.1-.27.1-.55.38-.55l5.61-.02c1.47-.29,1.76-1.42,2.46-2.49.17-.26.57-.21.67.09l5.27,14.49h1.65l-4.49-11.85c-.11-.28.1-.58.4-.58l5.91-.02c1.55-.31,1.86-1.49,2.59-2.63.18-.27.6-.22.71.09l6.36,17.49c.14.39-.31.73-.65.5-.76-.51-1.5-1.09-2.25-1.5v6.18h-.04l.66,46.4h27.95l-.66-23.2h8.41c28.22,0,44.63-13.43,44.63-33.51S168.44,0,140.36,0ZM50.65,37.19c-.92-.63-1.8-1.4-2.77-1.4l-17.72-4.77c-.23-.06-.24-.38-.01-.45l14.23-4.14c1.18-.44,1.29-1.04,1.81-1.83.12-.19.42-.15.49.06l4.43,12.18c.1.27-.21.51-.45.35ZM60.47,37.76c-1.02-.69-1.98-1.54-3.05-1.54l-4.71.03c-.14,0-.26-.08-.31-.21l-3.66-9.66c-.08-.22.08-.45.31-.45h4.52c1.19-.25,1.42-1.16,1.99-2.02.14-.21.46-.17.54.07l4.87,13.39c.11.3-.24.56-.5.38ZM71.27,37.72c.11.32-.25.59-.53.4-1.07-.73-2.1-1.63-3.23-1.63l-4.99.04c-.15,0-.28-.09-.33-.23l-3.88-10.22c-.09-.23.08-.47.33-.47h4.79c1.25-.26,1.51-1.22,2.1-2.14.14-.22.49-.18.58.07l5.16,14.18ZM119.1,39.92c-1.37-.93-2.67-2.07-4.1-2.07l-6.34.05c-.19,0-.35-.11-.42-.29l-4.93-13c-.11-.29.1-.6.41-.6l6.09-.02c1.6-.32,1.91-1.54,2.67-2.71.18-.28.62-.22.73.09l6.55,18.03c.14.4-.32.75-.67.51ZM132.81,40.39c-1.44-.98-2.82-2.18-4.33-2.18l-6.69.05c-.2,0-.37-.12-.44-.3l-5.2-13.71c-.12-.31.11-.63.44-.63l6.43-.02c1.68-.33,2.02-1.62,2.82-2.86.19-.3.65-.24.77.1l6.92,19.02c.15.43-.33.79-.71.54ZM157.74,28.67h-1.17v4.36h1.17v17.46c0,.71-.95.93-1.27.3-3.29-6.45-5.65-8.99-10.61-11.42-1.62-.79-3.42-1.17-5.22-1.16l-4.81.04c-.2,0-.37-.12-.44-.3l-5.2-13.71c-.12-.31.11-.63.44-.63l5.17-.02c9.28,0,15.38-1.86,20.67-13.04.31-.65,1.28-.44,1.28.28v17.84Z"></path></g></svg>');
  width: 30px;
  height: 30px;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  left: 0;
}
.button.button--solid::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  border-radius: inherit;
  pointer-events: none;
}
.button.button--solid:hover::after {
  opacity: 1;
}
.button.button--solid span {
  position: relative;
  color: #17213a;
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.5px;
  text-transform: capitalize;
}
@media (max-width: 55rem) {
  .button.button--solid span {
    font-size: 0.875rem;
  }
}
.button.button--solid--cta {
  position: relative;
  display: inline-flex;
  gap: 12px;
  padding: calc(0.813rem + 2px) 1.75rem;
  justify-content: center;
  align-items: center;
  border: 2px solid #fff;
  border-radius: 96px;
  overflow: hidden;
  transition: background-color 0.4s ease;
}
@media (max-width: 55rem) {
  .button.button--solid--cta {
    padding: calc(0.688rem + 2px) 0.875rem;
  }
}
.button.button--solid--cta::before {
  content: "";
  position: relative;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.4288 14.6759L15.5974 12.3966C15.3651 12.2556 15.0905 12.201 14.822 12.2423C14.5534 12.2837 14.3081 12.4184 14.129 12.6227L12.5118 14.4348C12.427 14.5334 12.3127 14.6022 12.1858 14.6307C12.0588 14.6593 11.9261 14.6462 11.8072 14.5934C8.91638 13.3823 6.61744 11.0834 5.4062 8.19266C5.35351 8.07381 5.34051 7.94115 5.3691 7.81433C5.3977 7.68751 5.46639 7.57327 5.56498 7.48854L7.37705 5.87138C7.58144 5.69225 7.71615 5.44681 7.75751 5.1782C7.79888 4.90958 7.74424 4.63499 7.60321 4.40266L5.32397 0.571022C5.21719 0.388387 5.06221 0.238654 4.87601 0.138216C4.68981 0.0377778 4.47956 -0.00949238 4.26829 0.00158061C3.55908 0.0361963 2.85953 0.180605 2.19459 0.429658C2.16945 0.439032 2.14577 0.451949 2.12428 0.468016C0.995869 1.32179 0.289479 2.82613 0.0245638 4.93894C-0.0156659 5.24256 -0.00643182 5.55068 0.0519069 5.85134C0.668689 9.14268 2.43529 12.3825 5.02636 14.9734C7.61743 17.5644 10.8571 19.3312 14.1487 19.948C14.3255 19.9822 14.5052 19.9996 14.6853 20C14.8109 19.9997 14.9365 19.9915 15.0611 19.9753C17.1739 19.7105 18.678 19.004 19.532 17.8758C19.548 17.8543 19.5609 17.8306 19.5703 17.8055C19.8192 17.1404 19.9636 16.4408 19.9984 15.7315C20.0096 15.5202 19.9623 15.3099 19.8618 15.1237C19.7613 14.9375 19.6115 14.7826 19.4288 14.6759Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M19.9301 8.99374C19.9301 9.04808 19.9221 9.10213 19.9063 9.15413L16.5971 5.84494L19.7923 2.64969C19.881 2.75061 19.9299 2.8803 19.93 3.0146V8.99374H19.9301Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M14.45 7.13143L9.77824 2.45965H19.1218L14.45 7.13143Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.99283 8.99374V3.01468C8.99266 2.8859 9.03749 2.76111 9.11958 2.66188L12.3029 5.84494L9.01201 9.13589C8.99945 9.08954 8.993 9.04175 8.99283 8.99374Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M9.54751 9.54842C9.52054 9.5483 9.49362 9.54618 9.46696 9.54209L12.7333 6.27551L14.2348 7.7772C14.263 7.8055 14.2966 7.82795 14.3335 7.84326C14.3704 7.85858 14.41 7.86647 14.45 7.86647C14.4899 7.86647 14.5295 7.85858 14.5665 7.84326C14.6034 7.82795 14.6369 7.8055 14.6652 7.7772L16.1666 6.27551L19.4361 9.54498C19.416 9.54712 19.3958 9.54822 19.3756 9.54826L9.54751 9.54842Z" fill="white"/></svg>');
  width: 20px;
  height: 20px;
  background-size: 20px 20px;
  left: 0;
}
.button.button--solid--cta:hover {
  background-color: #ffea00;
  border: 2px solid #ffea00;
}
.button.button--solid--cta:hover span {
  color: #fff;
}
.button.button--solid--cta:hover::before {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.4288 14.6759L15.5974 12.3966C15.3651 12.2556 15.0905 12.201 14.822 12.2423C14.5534 12.2837 14.3081 12.4184 14.129 12.6227L12.5118 14.4348C12.427 14.5334 12.3127 14.6022 12.1858 14.6307C12.0588 14.6593 11.9261 14.6462 11.8072 14.5934C8.91638 13.3823 6.61744 11.0834 5.4062 8.19266C5.35351 8.07381 5.34051 7.94115 5.3691 7.81433C5.3977 7.68751 5.46639 7.57327 5.56498 7.48854L7.37705 5.87138C7.58144 5.69225 7.71615 5.44681 7.75751 5.1782C7.79888 4.90958 7.74424 4.63499 7.60321 4.40266L5.32397 0.571022C5.21719 0.388387 5.06221 0.238654 4.87601 0.138216C4.68981 0.0377778 4.47956 -0.00949238 4.26829 0.00158061C3.55908 0.0361963 2.85953 0.180605 2.19459 0.429658C2.16945 0.439032 2.14577 0.451949 2.12428 0.468016C0.995869 1.32179 0.289479 2.82613 0.0245638 4.93894C-0.0156659 5.24256 -0.00643182 5.55068 0.0519069 5.85134C0.668689 9.14268 2.43529 12.3825 5.02636 14.9734C7.61743 17.5644 10.8571 19.3312 14.1487 19.948C14.3255 19.9822 14.5052 19.9996 14.6853 20C14.8109 19.9997 14.9365 19.9915 15.0611 19.9753C17.1739 19.7105 18.678 19.004 19.532 17.8758C19.548 17.8543 19.5609 17.8306 19.5703 17.8055C19.8192 17.1404 19.9636 16.4408 19.9984 15.7315C20.0096 15.5202 19.9623 15.3099 19.8618 15.1237C19.7613 14.9375 19.6115 14.7826 19.4288 14.6759Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M19.9301 8.99374C19.9301 9.04808 19.9221 9.10213 19.9063 9.15413L16.5971 5.84494L19.7923 2.64969C19.881 2.75061 19.9299 2.8803 19.93 3.0146V8.99374H19.9301Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M14.45 7.13143L9.77824 2.45965H19.1218L14.45 7.13143Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.99283 8.99374V3.01468C8.99266 2.8859 9.03749 2.76111 9.11958 2.66188L12.3029 5.84494L9.01201 9.13589C8.99945 9.08954 8.993 9.04175 8.99283 8.99374Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M9.54751 9.54842C9.52054 9.5483 9.49362 9.54618 9.46696 9.54209L12.7333 6.27551L14.2348 7.7772C14.263 7.8055 14.2966 7.82795 14.3335 7.84326C14.3704 7.85858 14.41 7.86647 14.45 7.86647C14.4899 7.86647 14.5295 7.85858 14.5665 7.84326C14.6034 7.82795 14.6369 7.8055 14.6652 7.7772L16.1666 6.27551L19.4361 9.54498C19.416 9.54712 19.3958 9.54822 19.3756 9.54826L9.54751 9.54842Z" fill="white"/></svg>');
}
.button.button--solid--cta span {
  position: relative;
  color: #17213a;
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.5px;
  text-transform: capitalize;
}
@media (max-width: 55rem) {
  .button.button--solid--cta span {
    font-size: 0.875rem;
  }
}
.button.button--solid--body {
  position: relative;
  display: inline-flex;
  gap: 12px;
  padding: calc(0.813rem + 2px) 1.75rem;
  justify-content: center;
  align-items: center;
  border: 2px solid #17213a;
  border-radius: 96px;
  overflow: hidden;
  transition: background-color 0.4s ease;
}
@media (max-width: 55rem) {
  .button.button--solid--body {
    padding: calc(0.688rem + 2px) 0.875rem;
  }
}
.button.button--solid--body::before {
  content: "";
  position: relative;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.4288 14.6759L15.5974 12.3966C15.3651 12.2556 15.0905 12.201 14.822 12.2423C14.5534 12.2837 14.3081 12.4184 14.129 12.6227L12.5118 14.4348C12.427 14.5334 12.3127 14.6022 12.1858 14.6307C12.0588 14.6593 11.9261 14.6462 11.8072 14.5934C8.91638 13.3823 6.61744 11.0834 5.4062 8.19266C5.35351 8.07381 5.34051 7.94115 5.3691 7.81433C5.3977 7.68751 5.46639 7.57327 5.56498 7.48854L7.37705 5.87138C7.58144 5.69225 7.71615 5.44681 7.75751 5.1782C7.79888 4.90958 7.74424 4.63499 7.60321 4.40266L5.32397 0.571022C5.21719 0.388387 5.06221 0.238654 4.87601 0.138216C4.68981 0.0377778 4.47956 -0.00949238 4.26829 0.00158061C3.55908 0.0361963 2.85953 0.180605 2.19459 0.429658C2.16945 0.439032 2.14577 0.451949 2.12428 0.468016C0.995869 1.32179 0.289479 2.82613 0.0245638 4.93894C-0.0156659 5.24256 -0.00643182 5.55068 0.0519069 5.85134C0.668689 9.14268 2.43529 12.3825 5.02636 14.9734C7.61743 17.5644 10.8571 19.3312 14.1487 19.948C14.3255 19.9822 14.5052 19.9996 14.6853 20C14.8109 19.9997 14.9365 19.9915 15.0611 19.9753C17.1739 19.7105 18.678 19.004 19.532 17.8758C19.548 17.8543 19.5609 17.8306 19.5703 17.8055C19.8192 17.1404 19.9636 16.4408 19.9984 15.7315C20.0096 15.5202 19.9623 15.3099 19.8618 15.1237C19.7613 14.9375 19.6115 14.7826 19.4288 14.6759Z" fill="%23DA042A"/><path fill-rule="evenodd" clip-rule="evenodd" d="M19.9301 8.99374C19.9301 9.04808 19.9221 9.10213 19.9063 9.15413L16.5971 5.84494L19.7923 2.64969C19.881 2.75061 19.9299 2.8803 19.93 3.0146V8.99374H19.9301Z" fill="%23191923"/><path fill-rule="evenodd" clip-rule="evenodd" d="M14.45 7.13143L9.77824 2.45965H19.1218L14.45 7.13143Z" fill="%23191923"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.99283 8.99374V3.01468C8.99266 2.8859 9.03749 2.76111 9.11958 2.66188L12.3029 5.84494L9.01201 9.13589C8.99945 9.08954 8.993 9.04175 8.99283 8.99374Z" fill="%23191923"/><path fill-rule="evenodd" clip-rule="evenodd" d="M9.54751 9.54842C9.52054 9.5483 9.49362 9.54618 9.46696 9.54209L12.7333 6.27551L14.2348 7.7772C14.263 7.8055 14.2966 7.82795 14.3335 7.84326C14.3704 7.85858 14.41 7.86647 14.45 7.86647C14.4899 7.86647 14.5295 7.85858 14.5665 7.84326C14.6034 7.82795 14.6369 7.8055 14.6652 7.7772L16.1666 6.27551L19.4361 9.54498C19.416 9.54712 19.3958 9.54822 19.3756 9.54826L9.54751 9.54842Z" fill="%23191923"/></svg>');
  width: 20px;
  height: 20px;
  background-size: 20px 20px;
  left: 0;
}
.button.button--solid--body:hover {
  background-color: #17213a;
}
.button.button--solid--body:hover span {
  color: #fff;
}
.button.button--solid--body:hover::before {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.4288 14.6759L15.5974 12.3966C15.3651 12.2556 15.0905 12.201 14.822 12.2423C14.5534 12.2837 14.3081 12.4184 14.129 12.6227L12.5118 14.4348C12.427 14.5334 12.3127 14.6022 12.1858 14.6307C12.0588 14.6593 11.9261 14.6462 11.8072 14.5934C8.91638 13.3823 6.61744 11.0834 5.4062 8.19266C5.35351 8.07381 5.34051 7.94115 5.3691 7.81433C5.3977 7.68751 5.46639 7.57327 5.56498 7.48854L7.37705 5.87138C7.58144 5.69225 7.71615 5.44681 7.75751 5.1782C7.79888 4.90958 7.74424 4.63499 7.60321 4.40266L5.32397 0.571022C5.21719 0.388387 5.06221 0.238654 4.87601 0.138216C4.68981 0.0377778 4.47956 -0.00949238 4.26829 0.00158061C3.55908 0.0361963 2.85953 0.180605 2.19459 0.429658C2.16945 0.439032 2.14577 0.451949 2.12428 0.468016C0.995869 1.32179 0.289479 2.82613 0.0245638 4.93894C-0.0156659 5.24256 -0.00643182 5.55068 0.0519069 5.85134C0.668689 9.14268 2.43529 12.3825 5.02636 14.9734C7.61743 17.5644 10.8571 19.3312 14.1487 19.948C14.3255 19.9822 14.5052 19.9996 14.6853 20C14.8109 19.9997 14.9365 19.9915 15.0611 19.9753C17.1739 19.7105 18.678 19.004 19.532 17.8758C19.548 17.8543 19.5609 17.8306 19.5703 17.8055C19.8192 17.1404 19.9636 16.4408 19.9984 15.7315C20.0096 15.5202 19.9623 15.3099 19.8618 15.1237C19.7613 14.9375 19.6115 14.7826 19.4288 14.6759Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M19.9301 8.99374C19.9301 9.04808 19.9221 9.10213 19.9063 9.15413L16.5971 5.84494L19.7923 2.64969C19.881 2.75061 19.9299 2.8803 19.93 3.0146V8.99374H19.9301Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M14.45 7.13143L9.77824 2.45965H19.1218L14.45 7.13143Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.99283 8.99374V3.01468C8.99266 2.8859 9.03749 2.76111 9.11958 2.66188L12.3029 5.84494L9.01201 9.13589C8.99945 9.08954 8.993 9.04175 8.99283 8.99374Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M9.54751 9.54842C9.52054 9.5483 9.49362 9.54618 9.46696 9.54209L12.7333 6.27551L14.2348 7.7772C14.263 7.8055 14.2966 7.82795 14.3335 7.84326C14.3704 7.85858 14.41 7.86647 14.45 7.86647C14.4899 7.86647 14.5295 7.85858 14.5665 7.84326C14.6034 7.82795 14.6369 7.8055 14.6652 7.7772L16.1666 6.27551L19.4361 9.54498C19.416 9.54712 19.3958 9.54822 19.3756 9.54826L9.54751 9.54842Z" fill="white"/></svg>');
}
.button.button--solid--body span {
  position: relative;
  color: #17213a;
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.5px;
  text-transform: capitalize;
}
@media (max-width: 55rem) {
  .button.button--solid--body span {
    font-size: 0.875rem;
  }
}
.button.button--cta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 0.5rem;
  margin-top: 1rem;
}
.button.button--cta span {
  color: #17213a;
  font-family: "Open Sans", sans-serif;
  font-size: 0.938rem;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  position: relative;
  padding-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  transition: 0.4s ease;
}
.button.button--cta span::after {
  width: 7px;
  height: 10px;
  content: "";
  position: relative;
  bottom: 0;
  left: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="7" height="10" viewBox="0 0 7 10" fill="none"><path d="M2 8L5 5L2 2" stroke="%23E82C2E" stroke-width="2" stroke-linecap="square"/></svg>');
  display: block;
}
.button.button--cta.inline-text {
  margin-top: 0 !important;
  display: inline-flex;
}
.button.button--cta:hover span {
  color: #17213a;
  gap: 1rem;
  transition: 0.4s ease;
}
.button.button--pill {
  display: flex;
  width: 64px;
  height: 32px;
  padding-left: 2rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: 0.4s ease-in-out;
  border-radius: 6rem;
  border: 2px solid #17213a;
}
.button.button--pill:hover {
  background: #17213a;
}
.button.button--pill:hover svg path {
  color: #fff;
}

.block .button--cta span {
  color: #fff;
}
.block .button--cta span::after {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="7" height="10" viewBox="0 0 7 10" fill="none"><path d="M2 8L5 5L2 2" stroke="white" stroke-width="2" stroke-linecap="square"/></svg>');
}

.menu-main--check {
  display: none;
}
.menu-main--check:checked + label .burger .line:nth-child(1), .menu-main--check:checked + label .burger .line:nth-child(5) {
  transform: rotate(45deg);
}
.menu-main--check:checked + label .burger .line:nth-child(2), .menu-main--check:checked + label .burger .line:nth-child(4) {
  transform: rotate(-45deg);
}
.menu-main--check:checked + label .burger .line:nth-of-type(3) {
  transform: scaleX(0);
  transform-origin: 50%;
}
.menu-main--check:checked ~ ul {
  max-height: 1000px;
}

.menu-main--trigger {
  cursor: pointer;
  margin: 0;
  height: 32px;
  color: #fff;
  font-weight: 700;
  transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.menu-main--trigger span {
  line-height: 32px;
  vertical-align: top;
}
.menu-main--trigger:hover {
  color: #17213a;
}
.menu-main--trigger:hover .burger .line {
  stroke: #17213a;
}

.burger {
  width: 32px;
  margin: auto;
  cursor: pointer;
}
.burger .line {
  stroke-width: 4px;
  fill: transparent;
  stroke: #fff;
  stroke-linecap: round;
  transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: rotate(0deg);
}
.burger .line:nth-child(1) {
  transform-origin: 0px 6px;
}
.burger .line:nth-child(2) {
  transform-origin: 30px 12px;
}
.burger .line:nth-of-type(3) {
  transform-origin: 50%;
  transform: scaleX(1);
}
.burger .line:nth-child(4) {
  transform-origin: 2px 26px;
}
.burger .line:nth-child(5) {
  transform-origin: 28px 20px;
}
.burger.close .line:nth-of-type(2) {
  transform: scaleX(0);
  transform-origin: 50%;
}

@media (min-width: 1200px) {
  .header .menu-main--trigger {
    display: none;
  }
}
.menu-main--check {
  display: none;
}

.menu-main--check:checked + label .burger .line:nth-child(1), .menu-main--check:checked + label .burger .line:nth-child(5) {
  transform: rotate(45deg);
}

.menu-main--check:checked + label .burger .line:nth-child(2), .menu-main--check:checked + label .burger .line:nth-child(4) {
  transform: rotate(-45deg);
}

.menu-main--check:checked + label .burger .line:nth-of-type(3) {
  transform: scaleX(0);
  transform-origin: 50%;
}

.menu-main--check:checked ~ ul {
  max-height: 1000px;
}

.menu-main--trigger {
  cursor: pointer;
  margin: 0;
  height: 32px;
  color: #fff;
  font-weight: 700;
  transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.menu-main--trigger span {
  line-height: 32px;
  vertical-align: top;
}

.menu-main--trigger:hover {
  color: #17213a;
}

.menu-main--trigger:hover .burger .line {
  stroke: #17213a;
}

.burger {
  width: 32px;
  margin: auto;
  cursor: pointer;
}

.burger .line {
  stroke-width: 4px;
  fill: transparent;
  stroke: #fff;
  stroke-linecap: round;
  transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: rotate(0deg);
}

.burger .line:nth-child(1) {
  transform-origin: 0px 6px;
}

.burger .line:nth-child(2) {
  transform-origin: 30px 12px;
}

.burger .line:nth-of-type(3) {
  transform-origin: 50%;
  transform: scaleX(1);
}

.burger .line:nth-child(4) {
  transform-origin: 2px 26px;
}

.burger .line:nth-child(5) {
  transform-origin: 28px 20px;
}

.burger.close .line:nth-of-type(2) {
  transform: scaleX(0);
  transform-origin: 50%;
}

@media (min-width: 1200px) {
  .header .menu-main--trigger {
    display: none;
  }
}
.--mobile-menu-open .menu-main__top {
  left: 0;
}

.menu-main {
  transition: 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  text-align: center;
  z-index: 100;
  background-color: false;
}
.menu-main ul {
  transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.menu-main ul.menu-main__sub {
  background-color: rgba(23, 33, 58, 0.75);
  backdrop-filter: saturate(180%) blur(10px);
}
.menu-main ul.menu-main__sub a {
  color: #fff;
  padding: 0;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}
.menu-main ul.menu-main__sub a:hover {
  color: #ffea00;
}
.menu-main li {
  font-size: 1rem;
}
.menu-main li.menu-main__parent {
  position: relative;
}
.menu-main li.menu-main__parent > a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
.menu-main li.menu-main__parent > a svg {
  stroke: inherit;
  width: 8px;
  height: 4px;
}
.menu-main a {
  display: block;
  color: #16191C;
  text-decoration: none;
}
.menu-main a:hover {
  color: #17213a;
}
@media (max-width: 1200px) {
  .menu-main .menu-main__top {
    max-height: 100vh !important;
    text-align: left;
    z-index: 200;
    height: 100vh;
    background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="Layer_2" data-name="Layer 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 184.86 90.76"><defs><style> .cls-1 { fill: %23fff; } </style></defs><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M140.36,0H42.19C14.65,0,3.26,11.12,3.26,28.22c0,15.6,10.72,26.05,34.05,26.05h22.63c6.65,0,9.63,1.9,9.63,6.51s-2.98,6.65-9.63,6.65H18.04L0,90.76h57.76c27.67,0,38.93-11.12,38.93-29.71,0-13.82-8.34-21.87-23.97-24.14l-2.79-7.37h0l-1.47-3.87c-.09-.25.09-.51.35-.51l5.17-.02c1.35-.27,1.62-1.31,2.27-2.3.16-.24.52-.19.62.08l5,13.75h1.78l-4.37-11.51c-.1-.27.1-.55.38-.55l5.61-.02c1.47-.29,1.76-1.42,2.46-2.49.17-.26.57-.21.67.09l5.27,14.49h1.65l-4.49-11.85c-.11-.28.1-.58.4-.58l5.91-.02c1.55-.31,1.86-1.49,2.59-2.63.18-.27.6-.22.71.09l6.36,17.49c.14.39-.31.73-.65.5-.76-.51-1.5-1.09-2.25-1.5v6.18h-.04l.66,46.4h27.95l-.66-23.2h8.41c28.22,0,44.63-13.43,44.63-33.51S168.44,0,140.36,0ZM50.65,37.19c-.92-.63-1.8-1.4-2.77-1.4l-17.72-4.77c-.23-.06-.24-.38-.01-.45l14.23-4.14c1.18-.44,1.29-1.04,1.81-1.83.12-.19.42-.15.49.06l4.43,12.18c.1.27-.21.51-.45.35ZM60.47,37.76c-1.02-.69-1.98-1.54-3.05-1.54l-4.71.03c-.14,0-.26-.08-.31-.21l-3.66-9.66c-.08-.22.08-.45.31-.45h4.52c1.19-.25,1.42-1.16,1.99-2.02.14-.21.46-.17.54.07l4.87,13.39c.11.3-.24.56-.5.38ZM71.27,37.72c.11.32-.25.59-.53.4-1.07-.73-2.1-1.63-3.23-1.63l-4.99.04c-.15,0-.28-.09-.33-.23l-3.88-10.22c-.09-.23.08-.47.33-.47h4.79c1.25-.26,1.51-1.22,2.1-2.14.14-.22.49-.18.58.07l5.16,14.18ZM119.1,39.92c-1.37-.93-2.67-2.07-4.1-2.07l-6.34.05c-.19,0-.35-.11-.42-.29l-4.93-13c-.11-.29.1-.6.41-.6l6.09-.02c1.6-.32,1.91-1.54,2.67-2.71.18-.28.62-.22.73.09l6.55,18.03c.14.4-.32.75-.67.51ZM132.81,40.39c-1.44-.98-2.82-2.18-4.33-2.18l-6.69.05c-.2,0-.37-.12-.44-.3l-5.2-13.71c-.12-.31.11-.63.44-.63l6.43-.02c1.68-.33,2.02-1.62,2.82-2.86.19-.3.65-.24.77.1l6.92,19.02c.15.43-.33.79-.71.54ZM157.74,28.67h-1.17v4.36h1.17v17.46c0,.71-.95.93-1.27.3-3.29-6.45-5.65-8.99-10.61-11.42-1.62-.79-3.42-1.17-5.22-1.16l-4.81.04c-.2,0-.37-.12-.44-.3l-5.2-13.71c-.12-.31.11-.63.44-.63l5.17-.02c9.28,0,15.38-1.86,20.67-13.04.31-.65,1.28-.44,1.28.28v17.84Z"/></g></svg>');
    background-repeat: no-repeat;
    background-size: 81.4px 40px;
    background-position: 1rem 2rem;
    padding-top: calc(2rem + 47px + 2rem);
  }
  .menu-main .menu-main__top .line {
    stroke: #fff !important;
  }
  .menu-main .menu-main__top h1,
  .menu-main .menu-main__top h2,
  .menu-main .menu-main__top h3,
  .menu-main .menu-main__top h4,
  .menu-main .menu-main__top h5,
  .menu-main .menu-main__top h6,
  .menu-main .menu-main__top p,
  .menu-main .menu-main__top a,
  .menu-main .menu-main__top .read-more__btn {
    z-index: auto;
    position: relative;
  }
  .menu-main .menu-main__top li {
    padding: 2rem !important;
  }
  .menu-main .menu-main__top li a {
    color: #fff !important;
    font-size: 1rem;
    text-transform: capitalize;
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  .menu-main .menu-main__top li a svg {
    width: 20px;
    height: 20px;
  }
  .menu-main .menu-main__top li a svg path {
    stroke: #fff !important;
  }
  .menu-main .menu-main__top li:nth-child(3) li a {
    text-transform: none !important;
  }
  .menu-main .menu-main__top li h2 {
    color: #fff;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.9px;
  }
  .menu-main .menu-main__top li h3 {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    color: #fff;
    font-weight: 400;
    cursor: pointer;
  }
  .menu-main .menu-main__top li h3 svg {
    width: 30px;
    height: 30px;
  }
  .menu-main .menu-main__top li h3 svg path {
    stroke: #fff !important;
    fill: none !important;
  }
  .menu-main .menu-main__top li p {
    color: #fff;
    max-width: 16rem;
    margin-top: 1rem;
  }
  .menu-main .menu-main__top .menu-main__parent a {
    color: #fff !important;
    font-weight: 400;
    text-transform: capitalize;
    justify-content: flex-start;
  }
  .menu-main .menu-main__top ul {
    padding-top: calc(2rem + 47px + 2rem);
    bottom: 0rem;
    z-index: 300;
  }
  .menu-main .menu-main__top ul .h2 {
    padding-left: 2rem;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    font-size: 1.25rem;
    font-weight: 600;
  }
  .menu-main .menu-main__top ul ul {
    z-index: 400;
  }
  .menu-main .menu-main__top .mobile-contact {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 2rem 2rem 7rem 3rem;
    margin: 0;
  }
  .menu-main .menu-main__top .mobile-contact a {
    color: #fff;
    line-height: 1.5rem;
  }
  .menu-main .menu-main__top .mobile-contact a + a {
    margin-top: 1rem;
  }
  .menu-main .menu-main__top .mobile-contact .icon::before {
    position: relative;
    top: -2px;
    margin-right: 0.5rem;
  }
  .menu-main .menu-main__top .back {
    display: block;
    vertical-align: middle;
    line-height: 1rem;
    font-size: 1rem;
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    align-items: center;
    z-index: 500;
    position: absolute;
    top: 3rem;
    left: 2rem;
  }
  .menu-main .menu-main__top .back::before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="13" height="8" viewBox="0 0 13 8" fill="none"><path d="M1.33337 1.02277L6.33337 6.02277L11.3334 1.02277" stroke="white" stroke-width="2"></path></svg>');
    background-size: 13px 8px;
    background-position: 0 50%;
    background-repeat: no-repeat;
    line-height: 1rem;
    transform: rotate(90deg);
    content: "";
    width: 13px;
    height: 8px;
    left: 0;
    content: "";
    display: block;
    position: relative;
  }
  .menu-main .menu-main__top .close {
    z-index: 500;
    position: absolute;
    top: 2.4rem;
    right: 2rem;
    padding: 0;
  }
  .menu-main .menu-main__top .close .line:nth-child(1), .menu-main .menu-main__top .close .line:nth-child(5) {
    transform: rotate(45deg);
  }
  .menu-main .menu-main__top .close .line:nth-child(2), .menu-main .menu-main__top .close .line:nth-child(4) {
    transform: rotate(-45deg);
  }
  .menu-main .menu-main__top .close .line:nth-of-type(3) {
    transform: scaleX(0);
    transform-origin: 50%;
  }
  .menu-main ul {
    transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    position: fixed;
    top: 0;
    left: -120%;
    width: 100%;
    max-width: 400px;
    overflow: auto;
    background-color: rgba(22, 25, 28, 0.75);
    backdrop-filter: saturate(180%) blur(10px);
    margin: 0;
  }
  .menu-main ul.open {
    left: 0;
    overflow: scroll;
  }
  .menu-main ul.open ul ul {
    left: 0;
  }
  .menu-main ul.open ul.open a.back {
    position: relative;
    z-index: 700;
  }
  .menu-main ul.open ul.open li,
  .menu-main ul.open ul.open a {
    position: relative;
    z-index: 700;
  }
}
@media (max-width: 1200px) and (max-width: 55rem) {
  .menu-main ul.open ul.open li a {
    transition: none !important;
  }
}
@media (max-width: 1200px) {
  .menu-main ul li {
    margin: 0;
    padding: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.75);
  }
  .menu-main .menu-main__parent > h3 {
    pointer-events: none;
  }
  .menu-main .menu-main__sub .inner-container .col:last-child p {
    display: none;
  }
}
@media (min-width: 1200px) {
  .menu-main ul.menu-main__top {
    max-height: 200px;
    overflow: visible;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .menu-main ul.menu-main__top .close.js_close {
    display: none !important;
  }
  .menu-main ul.menu-main__top > li {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0rem 0 1rem;
    text-transform: capitalize;
    transition: 0.2s ease-in-out;
  }
  .menu-main ul.menu-main__top > li:nth-child(7) {
    display: none !important;
  }
  .menu-main ul.menu-main__top > li:nth-child(3) li a {
    text-transform: none !important;
  }
  .menu-main ul.menu-main__top > li > a {
    position: relative;
    display: inline-flex;
    text-transform: capitalize;
  }
  .menu-main ul.menu-main__top > li:hover a {
    transform: translateY(2.5px);
  }
  .menu-main ul.menu-main__top > li:nth-child(3) .menu-main__sub {
    width: 12rem;
  }
  .menu-main ul.menu-main__top > li:nth-child(5) .menu-main__sub {
    width: 12rem;
  }
  .menu-main ul.menu-main__top > li > a {
    color: #fff;
    font-family: "Open Sans", sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 1px;
    padding-bottom: 6px;
  }
  .menu-main ul.menu-main__top > li > a svg {
    width: 8px !important;
    height: 5px !important;
    margin-right: 0.5rem;
  }
  .menu-main ul.menu-main__sub {
    max-height: 0;
    width: 29rem;
    position: absolute;
    left: 0;
    top: 8.55rem;
    overflow: hidden;
    text-align: left;
    padding-left: 1rem;
    padding-right: 1rem;
    border-radius: 0 0 1.5rem 1.5rem;
  }
  .menu-main ul.menu-main__sub .back {
    display: none !important;
  }
  .menu-main ul.menu-main__sub li {
    padding: 0.5em 0;
  }
  .menu-main ul.menu-main__sub li a {
    font-size: 1rem;
    font-family: "Open Sans", sans-serif;
  }
  .menu-main ul .menu-main__parent {
    position: relative;
  }
  .menu-main ul .menu-main__parent > a::after {
    content: "";
    position: relative;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="7" viewBox="0 0 10 7" fill="none"><path d="M1 1L5 5L9 1" stroke="%23FFFFFF" stroke-width="2" stroke-linecap="round"/></svg>');
    width: 10px;
    height: 7px;
    top: 0;
    left: 0;
    transition: 0.3s ease-out;
    display: block;
  }
  .menu-main ul .menu-main__parent > a::after {
    bottom: -24px;
  }
  .menu-main ul .menu-main__parent:hover ul {
    max-height: 500px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .menu-main ul .menu-main__parent:hover a::after {
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="7" viewBox="0 0 10 7" fill="none"><path d="M1 1L5 5L9 1" stroke="%23DA042A" stroke-width="2" stroke-linecap="round"/></svg>');
    transform: rotate(-180deg);
    transition: 0.3s ease-in;
  }
  .menu-main .button--nav {
    display: flex;
    padding: 0.75rem 1rem;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    background: #17213a;
    margin-top: -10px;
    padding-bottom: 0.75rem !important;
  }
  .menu-main .button--nav::before {
    content: "";
    position: relative;
    width: 22px;
    height: 21px;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="21" viewBox="0 0 22 21" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.18115 3.7615H21.0418L13.4032 8.99829L8.20739 5.43616C8.40521 4.90643 8.40689 4.30766 8.18115 3.7615ZM4.81765 6.80096L6.69222 5.65951C7.24853 5.32078 7.43318 4.59806 7.10749 4.03394L5.41513 1.10254C5.24152 0.801775 4.97873 0.60829 4.64001 0.53182C4.30125 0.455304 3.9809 0.517069 3.69486 0.714037L0.608491 2.8391C-0.860623 8.01575 5.74127 19.223 10.8046 20.5L14.188 18.8895C14.5016 18.7403 14.7153 18.4937 14.8184 18.1621C14.9215 17.8305 14.8853 17.5062 14.7117 17.2054L13.0193 14.274C12.6937 13.7099 11.9755 13.5084 11.404 13.8209L9.47824 14.8736C7.57381 13.1798 5.33229 9.29725 4.81765 6.80096ZM21.9759 4.43499L13.7087 10.1028C13.5152 10.2348 13.2667 10.2245 13.0869 10.0953L7.59851 6.33263C7.49453 6.42634 7.38065 6.51177 7.25694 6.58711L6.0713 7.30901C6.69421 9.31942 8.23554 11.9892 9.66506 13.5338L10.8831 12.868C11.9713 12.273 13.3396 12.6568 13.9597 13.731L15.0092 15.5489H21.1224C21.6051 15.5489 22 15.154 22 14.6713V4.63915C22.0001 4.56892 21.9917 4.50055 21.9759 4.43499Z" fill="%231E1E1E"/></svg>');
    display: block;
  }
  .menu-main .button--nav:hover {
    background: #ffea00;
  }
  .menu-main .button--nav:hover::before {
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="21" viewBox="0 0 22 21" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.18115 3.7615H21.0418L13.4032 8.99829L8.20739 5.43616C8.40521 4.90643 8.40689 4.30766 8.18115 3.7615ZM4.81765 6.80096L6.69222 5.65951C7.24853 5.32078 7.43318 4.59806 7.10749 4.03394L5.41513 1.10254C5.24152 0.801775 4.97873 0.60829 4.64001 0.53182C4.30125 0.455304 3.9809 0.517069 3.69486 0.714037L0.608491 2.8391C-0.860623 8.01575 5.74127 19.223 10.8046 20.5L14.188 18.8895C14.5016 18.7403 14.7153 18.4937 14.8184 18.1621C14.9215 17.8305 14.8853 17.5062 14.7117 17.2054L13.0193 14.274C12.6937 13.7099 11.9755 13.5084 11.404 13.8209L9.47824 14.8736C7.57381 13.1798 5.33229 9.29725 4.81765 6.80096ZM21.9759 4.43499L13.7087 10.1028C13.5152 10.2348 13.2667 10.2245 13.0869 10.0953L7.59851 6.33263C7.49453 6.42634 7.38065 6.51177 7.25694 6.58711L6.0713 7.30901C6.69421 9.31942 8.23554 11.9892 9.66506 13.5338L10.8831 12.868C11.9713 12.273 13.3396 12.6568 13.9597 13.731L15.0092 15.5489H21.1224C21.6051 15.5489 22 15.154 22 14.6713V4.63915C22.0001 4.56892 21.9917 4.50055 21.9759 4.43499Z" fill="%23FFFFFF"/></svg>');
  }
  .menu-main .button--nav:hover span {
    color: #fff;
  }
}
@media (min-width: 1200px) and (min-width: 1200px) {
  .menu-main .menu-main {
    position: relative;
  }
  .menu-main .supernav {
    position: static !important;
  }
  .menu-main .supernav:hover > ul {
    max-height: 5000px !important;
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .menu-main .supernav > ul.menu-main__sub {
    width: 100%;
    left: 50%;
    transform: translate(-50%);
    max-width: 87.5rem;
    display: flex;
    justify-content: center;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    border-radius: 0 0 1.5rem 1.5rem;
  }
  .menu-main .supernav > ul.menu-main__sub.supernav__block {
    max-width: 87.5rem;
    width: calc(100% - 2rem);
  }
  .menu-main .supernav > ul.menu-main__sub.supernav__block .supernav-container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
  }
  .menu-main .supernav > ul.menu-main__sub.supernav__block .supernav-container .supernav-col li {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  .menu-main .supernav > ul.menu-main__sub.supernav__block .supernav-container .supernav-col h3 {
    font-size: 20px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 1rem;
    font-family: "Open Sans", sans-serif !important;
    color: #fff;
  }
  .menu-main .supernav > ul.menu-main__sub.supernav__block .supernav-container .supernav-col h3 svg {
    width: auto;
    height: 30px;
  }
  .menu-main .supernav > ul.menu-main__sub.supernav__block .supernav-container .supernav-col h3 svg path {
    stroke: #fff !important;
    fill: none !important;
  }
  .menu-main .supernav > ul.menu-main__sub.supernav__block .supernav-container .supernav-col li a {
    font-family: "Open Sans", sans-serif;
    font-size: 1rem;
  }
  .menu-main .supernav > ul.menu-main__sub.supernav__block .supernav-container .supernav-col .security-doors ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 3rem;
  }
  .menu-main .supernav > ul.menu-main__sub .inner-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    max-width: 87.5rem;
    width: calc(100% - 2rem);
  }
  .menu-main .supernav > ul.menu-main__sub .inner-container .col:last-child {
    display: flex;
    flex-direction: column;
  }
  .menu-main .supernav > ul.menu-main__sub .inner-container .col:last-child p {
    margin-top: auto;
  }
  .menu-main .supernav > ul.menu-main__sub .inner-container .col:last-child p a {
    padding: calc(0.813rem + 2px) 1.75rem;
  }
  .menu-main .supernav > ul.menu-main__sub .inner-container .col .subnav li a {
    font-size: 1rem;
  }
}

.header__contact {
  display: flex;
  flex-wrap: wrap;
}

.header__contact p {
  display: inline-block;
  vertical-align: top;
}

.header__contact p:not(:last-child) {
  margin-right: 1rem;
}

@media (min-width: 55rem) {
  .header__contact {
    justify-content: flex-end;
  }
}
.header__contact {
  display: flex;
  gap: 2rem;
}
.header__contact p {
  color: rgba(30, 30, 30, 0.6392156863);
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.header__contact p::before {
  content: "";
  position: relative;
  width: 20px;
  height: 20px;
  display: block;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}
.header__contact p.header__contact__openingtimes::before {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="21" viewBox="0 0 20 21" fill="none"><path d="M10 0.5C8.02219 0.5 6.08879 1.08649 4.4443 2.1853C2.79981 3.28412 1.51809 4.8459 0.761209 6.67316C0.0043329 8.50042 -0.193701 10.5111 0.192152 12.4509C0.578004 14.3907 1.53041 16.1725 2.92894 17.5711C4.32746 18.9696 6.10929 19.922 8.0491 20.3078C9.98891 20.6937 11.9996 20.4957 13.8268 19.7388C15.6541 18.9819 17.2159 17.7002 18.3147 16.0557C19.4135 14.4112 20 12.4778 20 10.5C19.9969 7.84879 18.9423 5.30707 17.0676 3.43239C15.1929 1.5577 12.6512 0.503128 10 0.5ZM10 18.6818C8.38179 18.6818 6.79992 18.202 5.45443 17.3029C4.10894 16.4039 3.06025 15.1261 2.44099 13.631C1.82173 12.136 1.6597 10.4909 1.9754 8.9038C2.29109 7.31669 3.07034 5.85883 4.21458 4.71458C5.35883 3.57033 6.81669 2.79109 8.40381 2.47539C9.99093 2.1597 11.636 2.32172 13.131 2.94098C14.6261 3.56025 15.9039 4.60893 16.8029 5.95442C17.702 7.29992 18.1818 8.88179 18.1818 10.5C18.1792 12.6691 17.3163 14.7487 15.7825 16.2825C14.2487 17.8163 12.1691 18.6792 10 18.6818Z" fill="%231E1E1E" fill-opacity="0.64"/><path d="M10.9091 10.1236V5.04546C10.9091 4.80435 10.8133 4.57312 10.6428 4.40263C10.4723 4.23214 10.2411 4.13636 10 4.13636C9.7589 4.13636 9.52767 4.23214 9.35718 4.40263C9.18669 4.57312 9.09091 4.80435 9.09091 5.04546V10.5C9.09097 10.7411 9.18678 10.9723 9.35728 11.1427L12.0846 13.87C12.256 14.0356 12.4856 14.1272 12.724 14.1252C12.9624 14.1231 13.1904 14.0275 13.3589 13.8589C13.5275 13.6904 13.6231 13.4624 13.6252 13.224C13.6272 12.9856 13.5356 12.756 13.37 12.5845L10.9091 10.1236Z" fill="%231E1E1E" fill-opacity="0.64"/></svg>');
}
.header__contact p.header__contact__phone::before {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="21" viewBox="0 0 20 21" fill="none"><path d="M19.0305 15.2864L16.1267 13.2574C15.747 12.9926 15.3032 12.8529 14.8429 12.8529C14.1111 12.8529 13.4241 13.2119 13.0057 13.8125L12.3316 14.7786C11.2019 14.0208 9.9413 12.9628 8.73958 11.7612C7.53808 10.5595 6.48037 9.29881 5.72292 8.16897L6.68849 7.49483C7.18069 7.15207 7.50941 6.63859 7.6138 6.04938C7.71798 5.4606 7.58666 4.8657 7.2435 4.37323L5.21518 1.46918C4.79104 0.862458 4.10669 0.5 3.38426 0.5C3.13389 0.5 2.88834 0.544213 2.65461 0.63045C2.38914 0.728506 2.14184 0.848888 1.89935 1.00123L1.49841 1.28358C1.39818 1.3615 1.30495 1.44686 1.21565 1.53616C0.726519 2.02513 0.379419 2.64411 0.183546 3.37603C-0.652251 6.50946 1.41831 11.2477 5.33577 15.1656C8.62556 18.4557 12.5778 20.4996 15.6498 20.5C16.176 20.5 16.6721 20.4387 17.1242 20.3179C17.8561 20.1222 18.475 19.7751 18.9644 19.2857C19.0532 19.1968 19.1381 19.1036 19.2292 18.9858L19.5117 18.5826C19.6498 18.362 19.77 18.1147 19.8693 17.8472C20.2109 16.9236 19.866 15.8703 19.0305 15.2864Z" fill="%231E1E1E" fill-opacity="0.64"/></svg>');
}
.header__contact p.header__contact__email::before {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" viewBox="0 0 20 15" fill="none"><path d="M11.6714 9.75365C11.1739 10.0854 10.5959 10.2607 10 10.2607C9.40414 10.2607 8.82617 10.0854 8.32859 9.75365L0.133164 4.28986C0.0876953 4.25955 0.0433984 4.22795 0 4.19545V13.1485C0 14.1749 0.833008 14.9896 1.84113 14.9896H18.1588C19.1853 14.9896 20 14.1566 20 13.1485V4.19541C19.9565 4.22799 19.9121 4.25967 19.8665 4.29002L11.6714 9.75365Z" fill="%231E1E1E" fill-opacity="0.64"/><path d="M0.783203 3.31479L8.97863 8.77861C9.28887 8.98545 9.64441 9.08885 9.99996 9.08885C10.3555 9.08885 10.7111 8.98541 11.0214 8.77861L19.2168 3.31479C19.7072 2.98803 20 2.44115 20 1.85092C20 0.836035 19.1743 0.0104103 18.1595 0.0104103H1.84051C0.825664 0.0104494 0 0.836074 0 1.85189C0 2.44115 0.292812 2.98803 0.783203 3.31479Z" fill="%231E1E1E" fill-opacity="0.64"/></svg>');
  height: 14.979px;
}

.header {
  position: relative;
  z-index: 3;
  text-align: center;
  z-index: 100;
  display: flex;
  align-items: center;
  flex-direction: column;
  transition: 0.2s ease-in-out;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  transition: 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (max-width: 55rem) {
  .header {
    height: auto;
  }
}
.header .menu-container {
  width: 100%;
  display: flex;
  align-items: flex-end;
}
@media (max-width: 55rem) {
  .header .menu-container {
    justify-content: flex-end;
  }
}
.--mobile-menu-open .header {
  background-color: #fff;
  z-index: 60;
}
.header .header__logo img,
.header .header__contact,
.header .menu-main {
  transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.header__logo {
  display: flex;
  transition: 0.2s ease-in-out;
}
.header__logo:hover svg path {
  color: #fff;
  transition: 0.2s ease-in-out;
}
.header__logo a {
  display: inline-block;
}
.header__logo svg path {
  color: #17213a;
  transition: 0.2s ease-in-out;
}

.menu-main__top > li {
  padding: 0rem 0 1rem;
  transition: 0.2s ease-in-out;
}
.menu-main__top > li a svg path {
  transition: 0.2s ease-in-out;
}

.fixed-nav .header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  padding-bottom: 1rem;
  transition: 0.3s ease-in-out;
  background-color: rgba(23, 33, 58, 0.5);
  backdrop-filter: saturate(180%) blur(50px);
  box-shadow: 0 0.3px 0.4px rgba(0, 0, 0, 0.025), 0 0.9px 1.5px rgba(0, 0, 0, 0.05), 0 3.5px 6px rgba(0, 0, 0, 0.1);
}
.fixed-nav .header .ticker {
  max-height: 0;
  padding: 0;
  opacity: 0;
  overflow: hidden;
  border-bottom: none;
}
.fixed-nav .header .menu-main__top > li {
  padding: 0rem 0 1rem;
  transition: 0.2s ease-in-out;
}
.fixed-nav .header .menu-main__top > li a svg path {
  transition: 0.2s ease-in-out;
}
.fixed-nav .header .button-container {
  padding-bottom: 2rem;
  transition: 0.2s ease-in-out;
}
.fixed-nav .header .header__logo {
  padding-bottom: 2rem;
  transition: 0.2s ease-in-out;
}
@media (max-width: 55rem) {
  .fixed-nav .header .header__logo {
    padding: 0;
  }
}
.fixed-nav .header .header__logo:hover svg path {
  color: #17213a;
}
.fixed-nav .header .header__logo svg path {
  color: #fff;
  fill: #fff !important;
}
@media (max-width: 55rem) {
  .fixed-nav .header__contact {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
  }
}
@media (min-width: 55rem) {
  .fixed-nav .header__contact {
    display: flex;
  }
}

.slider-main {
  background-size: cover;
  position: relative;
}
.slider-main .tns-slider {
  display: flex;
}
.slider-main ul {
  list-style: none;
}
.slider-main li {
  display: none;
}
.slider-main li:first-child, .slider-main li.tns-item {
  display: block;
}
.slider-main .tns-nav {
  width: 100%;
  max-width: 84rem;
  position: absolute;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: row;
  gap: 2rem;
  align-items: center;
  justify-content: flex-start;
  padding: 0rem 3rem;
}
@media (min-width: 40rem) {
  .slider-main .tns-nav {
    bottom: 4rem;
    padding: 0;
  }
}
.slider-main .tns-nav button {
  counter-increment: slideCount;
  width: 12px;
  height: 12px;
  position: relative;
  background-color: rgba(255, 255, 255, 0.65);
  border-radius: 50%;
  transition: 0.2s ease-in-out;
}
.slider-main .tns-nav button.tns-nav-active {
  width: 18px;
  height: 18px;
  background-color: #fff;
  transition: 0.2s ease-in-out;
}
.slider-main .tns-controls {
  position: absolute;
  width: 100%;
  max-width: 107.5rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 55rem) {
  .slider-main .tns-controls {
    top: auto;
    bottom: 25px;
  }
}
.slider-main .tns-controls button {
  width: 24px;
  height: 44px;
}
@media (max-width: 55rem) {
  .slider-main .tns-controls button {
    width: 16px;
    height: 29.3333333333px;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
  }
}
.slider-main .tns-controls button:first-child {
  left: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="44" viewBox="0 0 24 44" fill="none"><path d="M22 2L2 22L22 42" stroke="white" stroke-width="2.5" stroke-linecap="square"/></svg>');
}
.slider-main .tns-controls button:last-child {
  right: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="44" viewBox="0 0 24 44" fill="none"><path d="M2 42L22 22L2 2" stroke="white" stroke-width="2.5" stroke-linecap="square"/></svg>');
}
.slider-main .subpage::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: #ffea00 !important;
  opacity: 0.8 !important;
}
.slider-main .slider-main__slide,
.slider-main .hero {
  overflow: hidden;
  background-size: cover;
  min-height: 420px;
  display: flex !important;
  align-items: center;
  background-position: 50% 50%;
  position: relative;
}
@media (max-width: 55rem) {
  .slider-main .slider-main__slide.video-slide,
  .slider-main .hero.video-slide {
    padding-top: 94.41px;
  }
}
.slider-main .slider-main__slide.video-slide video,
.slider-main .hero.video-slide video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -1;
  transform: translate(-50%, -50%);
  object-fit: cover;
}
.slider-main .slider-main__slide.video-slide .container,
.slider-main .hero.video-slide .container {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}
@media (max-width: 55rem) {
  .slider-main .slider-main__slide,
  .slider-main .hero {
    min-height: auto;
    padding-top: 0rem;
    padding-bottom: 2rem;
  }
}
.slider-main .slider-main__slide::after,
.slider-main .hero::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: #17213a;
  opacity: 0.75;
}
.slider-main .slider-main__slide > *,
.slider-main .hero > * {
  position: relative;
  z-index: 2;
}
@media (max-width: 55rem) {
  .slider-main .hero {
    padding-bottom: 1.5rem !important;
  }
}
.slider-main .slider-main__slide__content {
  text-align: center;
  color: #fff;
  max-width: 1400px;
  text-align: left;
  padding: 0 1rem;
}
@media (max-width: 55rem) {
  .slider-main .slider-main__slide__content {
    padding: calc(76.58px + 1.5rem) 0 1.5rem;
  }
}
.slider-main .slider-main__slide__content header h1,
.slider-main .slider-main__slide__content header h2 {
  color: #fff;
  font-family: "Open Sans", sans-serif;
  font-size: 4rem;
  font-style: normal;
  font-weight: 700;
  line-height: 80px;
  letter-spacing: 0.25px;
  text-transform: capitalize;
}
@media (max-width: 55rem) {
  .slider-main .slider-main__slide__content header h1,
  .slider-main .slider-main__slide__content header h2 {
    font-size: 1.25rem;
    line-height: 1.25;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
}
.slider-main .slider-main__slide__content header h1 > span:not(.no-wrap):not(.color-primary),
.slider-main .slider-main__slide__content header h2 > span:not(.no-wrap):not(.color-primary) {
  color: #fff;
  font-family: "Open Sans", sans-serif;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  text-transform: uppercase;
  display: block;
}
@media (max-width: 55rem) {
  .slider-main .slider-main__slide__content header h1 > span:not(.no-wrap):not(.color-primary),
  .slider-main .slider-main__slide__content header h2 > span:not(.no-wrap):not(.color-primary) {
    font-size: 0.875rem;
  }
}
.slider-main .slider-main__slide__content header > p {
  color: #fff;
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 28px;
  position: relative;
  padding-left: 2rem;
  max-width: 790px;
}
@media (max-width: 55rem) {
  .slider-main .slider-main__slide__content header > p {
    font-size: 0.875rem;
    padding-left: 1rem;
  }
}
.slider-main .slider-main__slide__content header > p a {
  font-weight: 700;
}
.slider-main .slider-main__slide__content header > p::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  left: 0;
  top: 0;
  display: block;
  background-color: #fff;
}
.slider-main .slider-main__slide__content header ul.tick {
  position: relative;
  margin-top: 1rem !important;
}
.slider-main .slider-main__slide__content header ul.tick li {
  color: rgba(255, 255, 255, 0.65);
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  max-width: 650px;
  position: relative;
  padding-left: 3rem;
  display: block !important;
}
.slider-main .slider-main__slide__content header ul.tick li::before {
  left: 20px;
}
.slider-main .slider-main__slide__content header ul.tick::before {
  content: "";
  position: absolute;
  width: 1px;
  height: calc(100% + 2rem);
  left: 0;
  top: -2rem;
  display: block;
  background-color: #fff;
}
.slider-main .slider-main__slide__content header .button.button--bordered span {
  color: #fff !important;
}
.slider-main .slide1,
.slider-main .slide2,
.slider-main .slide3 {
  background-size: cover;
  background-position: 50%;
}
.slider-main .home-hero {
  background-image: url(../img/webp/home-hero-480.webp);
}
html:not(.webp) .slider-main .home-hero {
  background-image: url(../img/home-hero-480.jpg);
}
@media (min-width: 480px) {
  .slider-main .home-hero {
    background-image: url(../img/webp/home-hero-768.webp);
  }
  html:not(.webp) .slider-main .home-hero {
    background-image: url(../img/home-hero-768.jpg);
  }
}
@media (min-width: 768px) {
  .slider-main .home-hero {
    background-image: url(../img/webp/home-hero-1366.webp);
  }
  html:not(.webp) .slider-main .home-hero {
    background-image: url(../img/home-hero-1366.jpg);
  }
}
@media (min-width: 1366px) {
  .slider-main .home-hero {
    background-image: url(../img/webp/home-hero-1920.webp);
  }
  html:not(.webp) .slider-main .home-hero {
    background-image: url(../img/home-hero-1920.jpg);
  }
}
@media (min-width: 1920px) {
  .slider-main .home-hero {
    background-image: url(../img/webp/home-hero-3840.webp);
  }
  html:not(.webp) .slider-main .home-hero {
    background-image: url(../img/home-hero-3840.jpg);
  }
}

.hero.subpage {
  min-height: 605px !important;
  padding-top: 105px;
}
@media (max-width: 55rem) {
  .hero.subpage {
    min-height: auto !important;
    padding-top: 78.36px;
  }
  .hero.subpage .slider-main__slide__content {
    padding: 2rem 0rem 2rem 0rem;
  }
}
.hero .slider-main__slide__content {
  max-width: 100%;
}

.hero-blank {
  background-color: #17213a;
  min-height: 228.2px !important;
}
@media (max-width: 55rem) {
  .hero-blank {
    min-height: 73.33px !important;
  }
}

.video-subpage {
  min-height: 626.78px !important;
  padding-top: 126.78px;
}
@media (max-width: 55rem) {
  .video-subpage {
    min-height: auto !important;
    padding-top: 78.36px;
  }
  .video-subpage .slider-main__slide__content {
    padding: 2rem 0rem 2rem 0rem;
  }
}

.slider-main__slide__content {
  max-width: 100%;
}

/*

----------------------------------
|         |       |              |
|   Logo  |  Nav  |    Button    |
|         |       |              |
----------------------------------

*/
.header > .container {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
}
@media (max-width: 55rem) {
  .header > .container {
    align-items: center;
  }
}
.header > .container .button-nav {
  list-style: none;
}
.header > .container .button-nav .button > span {
  color: #17213a !important;
  font-weight: 600;
}
@media (max-width: 1200px) {
  .header > .container {
    flex-direction: row !important;
    height: auto;
  }
  .header > .container .button-container {
    display: none;
  }
}
@media (max-width: 1200px) {
  .header > .container {
    flex-direction: column;
    padding: 1rem 0;
    justify-content: space-between;
  }
  .header > .container .header__contact {
    display: none;
  }
}
@media (min-width: 1200px) {
  .header .menu-main {
    flex-grow: 1;
  }
}

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

/* Mega Menu Styles - Screwfix Inspired Two-Level Navigation */

/* Has mega menu container */
.has-mega-menu {
  position: relative;
}

/* Horizontal category navigation */
.menu-main__top {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  align-items: center;
}

.menu-main__top::-webkit-scrollbar {
  height: 3px;
}

.menu-main__top::-webkit-scrollbar-track {
  background: transparent;
}

.menu-main__top::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
}

/* Category trigger button */
.category-trigger {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0.875rem;
  font-family: inherit;
  color: #fff;
  padding: 0.5rem 0.75rem;
  transition: all 0.2s ease;
  font-weight: 500;
  border-radius: 0;
  white-space: nowrap;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
  text-decoration: none;
}

.category-trigger:last-child {
  border-right: none;
}

.category-trigger:hover {
  background: rgba(255, 255, 255, 0.1);
}

.category-trigger svg:not(.chevron) {
  width: 20px;
  height: 20px;
  fill: #fff;
}

.category-trigger .chevron {
    width: 8px;
    height: 5px;
    transition: transform 0.2s ease;
    margin-left: 0.15rem;
}

.category-trigger .chevron path {
  stroke: #fff;
}

.has-mega-menu.active .category-trigger .chevron {
  transform: rotate(180deg);
}

/* Has mega menu container */
.has-mega-menu {
  position: static;
}

.header .menu-container {
  position: relative;
}

/* Horizontal category navigation */
.menu-main__top {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  align-items: center;
  position: static;
}

/* Mega Menu Container - Desktop */
.mega-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 100%;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  z-index: 1000;
  border-radius: 0 0 1.5rem 1.5rem;
  transform: translateX(-50%);
}

.has-mega-menu.active .mega-menu {
  opacity: 1;
  visibility: visible;
}

@media (min-width: 1200px) {
  .has-mega-menu:hover .mega-menu {
    opacity: 1;
    visibility: visible;
  }
  .has-mega-menu:hover .category-trigger .chevron {
    transform: rotate(180deg);
  }
}

.mega-menu__inner {
  padding: 1.5rem 1.5rem;
}

.mega-menu__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #17213a;
}

.mega-menu__header h3 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: #17213a;
  letter-spacing: -0.02em;
}

.view-all-link {
  color: #17213a;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.875rem;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.view-all-link:hover {
  color: #DA042A;
  text-decoration: underline;
}

/* Mega Menu Grid */
.mega-menu__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
  max-height: none;
  overflow-y: visible;
  padding-right: 0;
}

/* Custom scrollbar */
.mega-menu__grid::-webkit-scrollbar {
  width: 6px;
}

.mega-menu__grid::-webkit-scrollbar-track {
  background: #f1f3f4;
  border-radius: 3px;
}

.mega-menu__grid::-webkit-scrollbar-thumb {
  background: #17213a;
  border-radius: 3px;
}

.mega-menu__grid::-webkit-scrollbar-thumb:hover {
  background: #0f1523;
}

/* Product Cards in Mega Menu */
.mega-menu__product {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1rem;
  background: #fff;
  border-radius: 8px;
  text-decoration: none;
  color: #17213a;
  transition: all 0.2s ease;
  border: 1px solid #e0e0e0;
  min-height: 80px;
}

.mega-menu__product:hover {
  background: #f8f9fa;
  border-color: #17213a;
  box-shadow: 0 4px 12px rgba(23, 33, 58, 0.1);
  transform: translateY(-2px);
}

.mega-menu__product .product-name {
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.4;
  margin-bottom: 0.5rem;
  color: #17213a;
}

.mega-menu__product .product-price {
  font-weight: 700;
  font-size: 1rem;
  color: #DA042A;
}

/* No products message */
.no-products {
  grid-column: 1 / -1;
  text-align: center;
  padding: 2rem;
  color: #6c757d;
  font-style: italic;
}

/* Mobile Product List */
.mobile-product-list {
  display: none;
  list-style: none;
  padding: 0;
  margin: 0;
  background: #f8f9fa;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.mobile-product-list.open {
  max-height: 600px;
  padding: 0.5rem 0;
}

.mobile-product-list li {
  margin: 0;
}

.mobile-product-list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.875rem 1.5rem;
  color: #17213a;
  text-decoration: none;
  transition: all 0.2s ease;
  border-left: 3px solid transparent;
}

.mobile-product-list a:hover {
  background: #fff;
  border-left-color: #0066cc;
  padding-left: 1.75rem;
}

.mobile-product-list .product-name {
  font-weight: 500;
  font-size: 0.9rem;
  flex: 1;
}

.mobile-product-list .product-price {
  font-weight: 700;
  color: #0066cc;
  font-size: 0.95rem;
  margin-left: 1rem;
}

.mobile-product-list .view-all {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 2px solid #e8eaed;
}

.mobile-product-list li {
  border-bottom: 1px solid #e6e6e6;
}

.mobile-product-list li.mobile-subcategory {
  background: #f8f9fa;
}

.mobile-product-list li.mobile-subcategory a {
  font-weight: 600;
}

.mobile-product-list li:last-child {
  border-bottom: none;
}

.mobile-product-list .view-all a {
  font-weight: 700;
  color: #0066cc;
  justify-content: center;
}

/* Responsive Styles */
@media (max-width: 1199px) {
  /* Hide mega menu on mobile, show accordion instead */
  .mega-menu {
    display: none;
  }
  
  .mobile-product-list {
    display: block;
  }
  
  .menu-main__top {
    flex-direction: column;
    gap: 0;
  }
  
  .category-trigger {
    width: 100%;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    font-size: 1rem;
  }
  
  .category-trigger:hover {
    background: rgba(23, 33, 58, 0.08);
  }
}

@media (min-width: 1200px) {
  /* Hide mobile product list on desktop */
  .mobile-product-list {
    display: none !important;
  }
}

@media (min-width: 1400px) {
  /* Wider grid for larger screens */
  .mega-menu__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
  }
  
  .mega-menu__category {
    padding: 1.25rem;
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
  /* 3 columns for tablets */
  .mega-menu__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 767px) {
  .mega-menu__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  
  .mega-menu__inner {
    padding: 1.5rem 1rem;
  }
  
  .mega-menu__category {
    padding: 0.75rem;
    font-size: 0.875rem;
    min-height: 50px;
  }
  
  .mega-menu__header h3 {
    font-size: 1.25rem;
  }
}

/* No categories message */
.no-categories {
  grid-column: 1 / -1;
  text-align: center;
  padding: 3rem 2rem;
  color: #6c757d;
  font-style: italic;
  font-size: 1.1rem;
}

/* Accessibility improvements */
.category-trigger:focus-visible {
  outline: 2px solid #0066cc;
  outline-offset: 2px;
}

.mega-menu__category:focus-visible {
  outline: 2px solid #0066cc;
  outline-offset: 2px;
}

/* Animation for mega menu */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

.has-mega-menu.active .mega-menu {
  animation: slideDown 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Header Top Row Layout */
.header__top-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  width: 100%;
}

.header__contact-btn {
  background-color: #0066cc;
  color: #fff;
  padding: 0.75rem 1.5rem;
  border-radius: 4px;
  font-weight: 600;
  font-size: 0.9rem;
  transition: background-color 0.2s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.header__contact-btn:hover {
  background-color: #004999;
  color: #fff;
}

@media (max-width: 767px) {
  .header__top-row {
    padding: 0.75rem 0;
  }
  
  .header__contact-btn {
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
  }
  
  .header__logo svg {
    width: 100px;
  }
}

/* Product Image Slider */
.product-slider {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}

.product-slider__slide {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 300px;
}

.product-slider__slide img {
  max-width: 100%;
  max-height: 500px;
  object-fit: contain;
  width: auto;
  height: auto;
}

.product-slider .tns-controls {
  position: absolute;
  width: 100%;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding: 0 8px;
  pointer-events: none;
  z-index: 10;
}

.product-slider .tns-controls button {
  pointer-events: all;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid #ddd;
  font-size: 24px;
  line-height: 1;
  color: #333;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.product-slider .tns-controls button:hover {
  background: #fff;
  border-color: #0066cc;
  color: #0066cc;
  transform: scale(1.1);
}

.product-slider-thumb {
  transition: all 0.2s ease;
  opacity: 0.7;
}

.product-slider-thumb:hover,
.product-slider-thumb.active {
  opacity: 1;
  transform: scale(1.05);
}

@media (max-width: 767px) {
  .product-slider__slide {
    min-height: 200px;
  }
  
  .product-slider__slide img {
    max-height: 300px;
  }
  
  .product-slider .tns-controls button {
    width: 32px;
    height: 32px;
    font-size: 18px;
  }
  
  .product-slider-thumb {
    width: 50px !important;
    height: 50px !important;
  }
}

/* Customer-Facing Page Utilities */

/* Pagination */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 40px;
  flex-wrap: wrap;
}

.pagination__info {
  margin-left: 15px;
  color: #666;
}

/* Breadcrumb */
.breadcrumb {
  margin-bottom: 20px;
}

/* Subcategory Pills */
.sub-cat-pills {
  margin-bottom: 12px;
}

/* Cart Icon + Badge */
.cart-link {
  position: relative;
}
.cart-link svg {
  vertical-align: middle;
}

/* Order Pages */
.order-confirmation {
  text-align: center;
}

.order-success-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 1.5rem;
  background: #28a745;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  color: #fff;
}

.order-subtitle {
  font-size: 1.125rem;
  color: #666;
  margin-bottom: 2rem;
}

.order-number {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--color-primary);
  margin-bottom: 2rem;
}

.order-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  padding: 2rem;
  margin-bottom: 1.5rem;
  text-align: left;
}

.order-card__header {
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #eee;
}

.order-table {
  width: 100%;
  border-collapse: collapse;
}

.order-table th {
  text-align: left;
  padding: 0.75rem;
  border-bottom: 1px solid #eee;
  background: #f8f9fa;
  font-weight: 600;
  font-size: 0.8125rem;
  text-transform: uppercase;
  color: #666;
}

.order-table td {
  padding: 0.75rem;
  border-bottom: 1px solid #eee;
}

.order-totals {
  text-align: right;
  margin-top: 1.25rem;
}

.order-totals__line {
  padding: 0.5rem 0;
  font-size: 1rem;
}

.order-totals__total {
  font-weight: bold;
  font-size: 1.25rem;
  border-top: 2px solid var(--color-primary);
  margin-top: 0.5rem;
  padding-top: 0.75rem;
}

.order-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  margin-top: 2rem;
}

.order-header {
  background: #fff;
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.order-header h1 {
  margin: 0;
}

.order-addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

.order-address {
  padding: 1rem;
  border: 1px solid #eee;
  border-radius: 6px;
}

.order-address h3 {
  margin-top: 0;
  margin-bottom: 0.75rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-primary);
}

.order-address p {
  margin: 0.25rem 0;
  color: #666;
  line-height: 1.6;
}

.order-status-badge {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 500;
}

@media (max-width: 768px) {
  .order-addresses {
    grid-template-columns: 1fr;
  }
}

/* Extracted from gaea-header.php */
/* VAT Switch */
.switch{position:relative;display:inline-block;width:40px;height:20px;vertical-align:middle;margin-right:8px}
.switch input{opacity:0;width:0;height:0}
.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:34px}
.slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:white;transition:.4s;border-radius:50%}
input:checked + .slider{background-color:#ffea00}
input:focus + .slider{box-shadow:0 0 1px #ffea00}
input:checked + .slider:before{transform:translateX(20px)}
.vat-toggle{display:flex;align-items:center;margin-right:15px}
.vat-toggle span{font-weight:600;font-size:14px;color:#fff}

/* Compact Navigation - allow text on two lines */
@media (min-width: 1024px) {
  .menu-main__top {
    flex-wrap: nowrap !important;
    gap: 0 !important;
    align-items: stretch;
  }
  .has-mega-menu {
    flex: 1 1 0;
    display: flex;
  }
  .category-trigger, .js_category-trigger {
    width: 100%;
    height: 66.67px;
    padding: 6px 10px !important;
    font-size: 12px !important;
    line-height: 1.3;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .category-trigger span, .js_category-trigger span {
    display: inline-block;
    max-width: 100px;
    white-space: normal;
  }
  .has-mega-menu:last-child .category-trigger,
  .has-mega-menu:last-child .js_category-trigger {
    border-right: none !important;
  }
}
@media (min-width: 1200px) {
  .category-trigger, .js_category-trigger {
    padding: 8px 12px !important;
    font-size: 13px !important;
  }
}

/* Mega Menu Grid Updates */
.mega-menu__inner {
    text-align: left;
}
.mega-menu__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}
.mega-menu__header h3 {
    margin: 0;
    font-size: 1.25rem;
}
.mega-menu__categories {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}
.mega-menu__category {
    display: block;
    padding: 10px 12px;
    background: #f8f9fa;
    border-radius: 6px;
    transition: all 0.2s;
    text-decoration: none;
    color: #333;
}
.mega-menu__category:hover {
    background: #e9ecef;
    color: #0066cc;
}
.mega-menu__category-group {
    display: flex;
    flex-direction: column;
}
.mega-menu__category--parent {
    font-weight: 600;
    margin-bottom: 8px;
}
.mega-menu__subcategories {
    list-style: none;
    margin: 0;
    padding: 0 0 0 12px;
}
.mega-menu__subcategories li {
    margin-bottom: 6px;
}
.mega-menu__subcategories a {
    color: #666;
    text-decoration: none;
    font-size: 13px;
    transition: color 0.2s;
}
.mega-menu__subcategories a:hover {
    color: #0066cc;
}
.mega-menu__subcategories .more-link {
    color: #0066cc;
    font-weight: 500;
}
.mega-menu__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}
@media (max-width: 900px) {
    .mega-menu__categories { grid-template-columns: repeat(2, 1fr); }
    .mega-menu__grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================
   SEARCH STYLES
   ============================================ */

.fixed-nav .header__search {
    margin-bottom: 2rem;
}


/* Header Search Bar */
.header__search {
    flex: 1;
    max-width: 525px;
    margin: 0 1.5rem;
    position: relative;
}

.search-form {
    display: flex;
    align-items: center;
    background: #f5f5f5;
    border-radius: 50px;
    overflow: hidden;
    border: 2px solid transparent;
    transition: all 0.2s ease;
}

.search-form:focus-within {
    background: #fff;
    border-color: #17213a;
    box-shadow: 0 4px 12px rgba(23, 33, 58, 0.15);
}

.search-input {
    flex: 1;
    padding: 12px 16px;
    border: none;
    background: transparent;
    font-size: 14px;
    color: #16191C;
    outline: none;
}

.search-input::placeholder {
    color: #888;
}

.search-btn {
    padding: 12px 20px;
    background: #17213a;
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
    border-radius: 0 50px 50px 0;
}

.search-btn:hover {
    background: #2a3a5a;
}

.search-btn svg {
    width: 18px;
    height: 18px;
}

/* Mobile Search Toggle */
.search-toggle-mobile {
    display: none;
    padding: 8px;
    background: none;
    border: none;
    cursor: pointer;
    color: #17213a;
}

@media (max-width: 900px) {
    .header__search {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        max-width: none;
        margin: 0;
        padding: 1rem;
        background: #fff;
        border-top: 1px solid #eee;
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        z-index: 100;
    }
    
    .header__search.open {
        display: block;
    }
    
    .search-toggle-mobile {
        display: flex;
        margin-right: 0.5rem;
    }
}

/* Search Dropdown */
.search-dropdown {
    position: fixed;
    top: auto;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 2rem);
    max-width: 97.5rem;
    margin-top: 8px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.15);
    z-index: 1000;
    display: none;
    max-height: 70vh;
    overflow-y: auto;
}

.search-dropdown.open {
    display: block;
    animation: dropdownSlide 0.2s ease forwards;
}

@keyframes dropdownSlide {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

.search-dropdown__loading {
    padding: 2rem;
    text-align: center;
    color: #666;
    display: none;
}

.search-dropdown.loading .search-dropdown__loading {
    display: block;
}

.search-dropdown.loading .search-dropdown__results,
.search-dropdown.loading .search-dropdown__footer,
.search-dropdown.loading .search-dropdown__empty {
    display: none !important;
}

.spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid #ddd;
    border-top-color: #17213a;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    margin-right: 8px;
    vertical-align: middle;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.search-dropdown__section {
    padding: 0.5rem 0;
}

.search-dropdown__section:empty {
    display: none;
}

.search-dropdown__section-title {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #888;
    padding: 0.75rem 1.5rem 0.5rem;
    font-weight: 600;
    border-bottom: 1px solid #eee;
    margin-bottom: 0.5rem;
}

/* Two-column layout for results */
.search-dropdown__results {
    display: grid;
    grid-template-columns: 320px 1fr;
    min-height: 200px;
}

@media (max-width: 768px) {
    .search-dropdown__results {
        grid-template-columns: 1fr;
    }
}

/* Categories sidebar */
.search-dropdown__categories {
    background: #f8f9fa;
    border-right: 1px solid #eee;
    padding-bottom: 1rem;
}

@media (max-width: 768px) {
    .search-dropdown__categories {
        border-right: none;
        border-bottom: 1px solid #eee;
    }
}

.search-dropdown__category-item {
    display: flex;
    align-items: center;
    padding: 0.65rem 1rem;
    text-decoration: none;
    color: #16191C;
    transition: all 0.15s ease;
    cursor: pointer;
    border-left: 3px solid transparent;
    font-size: 13px;
}

.search-dropdown__category-item span:not(.search-dropdown__category-icon) {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search-dropdown__category-item:hover,
.search-dropdown__category-item.highlighted {
    background: #fff;
    border-left-color: #17213a;
}

.search-dropdown__category-icon {
    width: 36px;
    height: 36px;
    background: #17213a;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    color: #fff;
    flex-shrink: 0;
}

.search-dropdown__category-item:hover .search-dropdown__category-icon {
    background: #2a3a5a;
}

/* Products grid */
.search-dropdown__products {
    padding: 0 1rem 1rem;
}

.search-dropdown__products .search-dropdown__section-title {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.search-dropdown__products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 1rem;
    padding: 0.5rem;
}

.search-dropdown__product-item {
    display: flex;
    flex-direction: column;
    padding: 0;
    text-decoration: none;
    color: #16191C;
    transition: all 0.2s ease;
    cursor: pointer;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #eee;
    overflow: hidden;
}

.search-dropdown__product-item:hover,
.search-dropdown__product-item.highlighted {
    border-color: #17213a;
    box-shadow: 0 4px 12px rgba(23, 33, 58, 0.1);
    transform: translateY(-2px);
}

.search-dropdown__product-image {
    width: 100%;
    height: 120px;
    object-fit: contain;
    border-radius: 0;
    background: #fff;
}

.search-dropdown__product-info {
    flex: 1;
    min-width: 0;
    background: #f8f9fa;
    padding: 0.75rem;
    border-top: 1px solid #eee;
}

.search-dropdown__product-name {
    font-weight: 600;
    font-size: 14px;
    line-height: 1.3;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.search-dropdown__product-category {
    font-size: 12px;
    color: #888;
    margin-bottom: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search-dropdown__product-price {
    font-weight: 700;
    font-size: 16px;
    color: #17213a;
}

.search-dropdown__footer {
    padding: 1rem 1.5rem;
    border-top: 1px solid #eee;
    display: none;
    background: #f8f9fa;
}

.search-dropdown.has-results .search-dropdown__footer {
    display: block;
}

.search-dropdown__view-all {
    display: block;
    text-align: center;
    color: #fff;
    background: #17213a;
    font-weight: 600;
    text-decoration: none;
    padding: 0.875rem 1.5rem;
    border-radius: 50px;
    transition: all 0.2s ease;
}

.search-dropdown__view-all:hover {
    background: #2a3a5a;
    transform: scale(1.02);
}

.search-dropdown__empty {
    padding: 2rem;
    text-align: center;
    color: #666;
    display: none;
}

.search-dropdown.no-results .search-dropdown__empty {
    display: block;
}

.search-dropdown.no-results .search-dropdown__results,
.search-dropdown.no-results .search-dropdown__footer {
    display: none !important;
}


/* ============================================
   SEARCH RESULTS PAGE
   ============================================ */

.section--search-results {
    padding: 2rem 0 4rem;
}

.search-page__header {
    margin-bottom: 2rem;
}

.search-page__header h1 {
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
}

.search-page__header h1 strong {
    color: #17213a;
}

.search-count {
    color: #666;
    font-size: 0.95rem;
}

.breadcrumb {
    margin-bottom: 1rem;
}

.breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.875rem;
}

.breadcrumb li:not(:last-child)::after {
    content: "›";
    margin: 0 0.5rem;
    color: #888;
}

.breadcrumb a {
    color: #666;
    text-decoration: none;
}

.breadcrumb a:hover {
    color: #17213a;
    text-decoration: underline;
}

.search-page__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

@media (max-width: 900px) {
    .search-page__layout {
        grid-template-columns: 1fr;
    }
}

/* Filter Sidebar - now horizontal category bar */
.search-filters {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
}

.filter-section {
    margin-bottom: 0;
}

.filter-section h3 {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #16191C;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.filter-section h3::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 16px;
    background: #17213a;
    border-radius: 2px;
}

.filter-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.filter-list li {
    margin-bottom: 0;
}

.filter-list a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    color: #444;
    text-decoration: none;
    border-radius: 50px;
    transition: all 0.2s ease;
    font-size: 13px;
    background: #f5f5f5;
    border: 1px solid transparent;
    white-space: nowrap;
}

.filter-list a:hover {
    background: #e8ebf0;
    border-color: #17213a;
    color: #17213a;
}

.filter-list a.active {
    background: #17213a;
    color: #fff;
    border-color: #17213a;
}

/* Category Pages */
.category-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 30px;
}

.category-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    /* height: 100%; */
}

/* Global view-range styles */
.view-range {
    font-weight: 700;
    color: var(--secondary);
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.category-card:hover {
    border-color: var(--secondary);
}

.category-card figure {
    position: relative;
    aspect-ratio: 1/1;
    overflow: hidden;
    background: #f9f9f9;
}

.category-card figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* transition: transform 0.5s ease; */
}

.category-card figcaption {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
    background: #fff;
}

.category-card h2 {
    font-size: 0.95rem;
    margin-bottom: 8px;
    color: #17213a;
    font-weight: 700;
    line-height: 1.3;
}

.category-card .product-id {
    font-size: 0.75rem;
    color: #bbb;
    margin-bottom: 12px;
    font-weight: 500;
    margin: 0 0 12px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.category-card .description {
    font-size: 0.85rem;
    color: #888;
    line-height: 1.4;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.category-card .price {
    font-size: 1.1rem;
    font-weight: 800;
    color: #17213a;
    margin-bottom: 16px;
    margin: 0 0 16px 0;
}

/* Registered-customer (member) discounted price */
.member-price { color: #1b7e3c; }

.category-card .view-range {
    margin-top: auto;
}

.category-card .view-range::after {
    content: '→';
    transition: transform 0.2s ease;
}

/* Product Cards on Category Page */
.row--category {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 25px;
}

.card--category {
    border-radius: 12px;
    background: #fff;
    border: 1px solid #f1f1f1;
    transition: all 0.3s ease;
    position: relative;
}

.card--category:hover {
    border-color: var(--secondary);
}

.card--category figure {
    position: relative;
    overflow: hidden;
    background: #fff;
    padding: 15px;
}

.card--category figcaption {
    background: #f8f9fa;
    padding: 20px;
    border-top: 1px solid #eee;
}

.card--category h2 {
    font-size: 1.1rem;
    height: 2.8rem;
    overflow: hidden;
    margin-bottom: 10px;
    color: #17213A;
}

.stock-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: #ffea00;
    color: #17213A;
    padding: 8px 12px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 600;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    text-transform: none;
    letter-spacing: normal;
    z-index: 15;
    border: none;
    opacity: 0;
    transform: translateY(-10px);
    animation: notificationIn 0.4s ease forwards;
}

.stock-badge--in { background: #ffea00; color: #17213A; }
.stock-badge--low { background: #ffea00; color: #17213A; }
.stock-badge--available { background: #ff9800; color: #ffffff; }
.stock-badge--call { background: #fff4e6; color: #fd7e14; border: 1px solid #ffe8cc; }
.stock-badge--call svg { width: 13px; height: 13px; flex-shrink: 0; }
.stock-badge--soon { background: #e8f5e9; color: #1b7e3c; border: 1px solid #c5e8cd; }
.stock-badge--soon svg { width: 13px; height: 13px; flex-shrink: 0; }

@media (max-width: 48rem) {
    .category-grid {
        grid-template-columns: 1fr;
    }
}

.filter-list .count {
    font-size: 11px;
    padding: 2px 6px;
    background: rgba(0,0,0,0.1);
    border-radius: 10px;
}

.filter-list a.active .count {
    background: rgba(255,255,255,0.2);
    color: #fff;
}

.active-filters {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #eee;
}

/* Product Page Pillars / Badges */
.product-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 24px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    animation: notificationIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
    border: 1px solid transparent;
}

.product-pill svg {
    width: 16px;
    height: 16px;
}

.product-pill--orange {
    background: #fff4e6;
    color: #fd7e14;
    border-color: #ffe8cc;
}

.product-pill--green {
    background: #ebfbee;
    color: #2f9e44;
    border-color: #d3f9d8;
}

.product-pill--blue {
    background: #e7f5ff;
    color: #1c7ed6;
    border-color: #d0ebff;
}

@media (max-width: 48rem) {
    .product-pill {
        width: 100%;
        justify-content: center;
    }
}
.active-filters h4 {
    font-size: 12px;
    color: #888;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ─── Checkout / Order Form ─── */
.form-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 6px;
}
.form-input {
    display: block;
    width: 100%;
    padding: 0.75rem 1.25rem;
    font-size: 15px;
    line-height: 1.5;
    color: #333;
    background: #fff;
    border: 1px solid #17213a;
    border-radius: 6rem;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
    -webkit-appearance: none;
}
.form-input:focus {
    outline: none;
    border-color: var(--color-primary, #17213a);
    box-shadow: 0 0 0 3px rgba(23, 33, 58, 0.12);
}
textarea.form-input {
    resize: vertical;
    min-height: 80px;
    border-radius: 2rem;
}
/* Equal spacing between every label+input group */
.page-checkout fieldset legend {
    margin-bottom: 1.25rem;
}
.page-checkout fieldset > div + div,
.page-checkout fieldset > div[style*="margin-top"] {
    margin-top: 1rem !important;
}
.page-checkout fieldset > div[style*="margin-bottom"] {
    margin-bottom: 1rem !important;
}
.page-checkout .flow > * + * {
    margin-top: 0;
}
.page-checkout fieldset + fieldset {
    margin-top: 0;
}
@media (max-width: 55rem) {
    .page-checkout [style*="grid-template-columns: 1fr 380px"],
    .page-checkout [style*="grid-template-columns:1fr 380px"] {
        display: flex !important;
        flex-direction: column;
    }
}

/* Premium Product Page Design */
.glass-card {
    border-radius: 16px;
    padding: 32px;
}

.product-meta-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.product-meta-list li {
    font-size: 14px;
    color: #495057;
    display: flex;
    gap: 8px;
}

.product-meta-label {
    font-weight: 700;
    color: #17213a;
    min-width: 120px;
    flex-shrink: 0;
}

.qty-control {
    max-width: 140px;
}

.qty-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #eee;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    transition: border-color 0.2s;
}

.qty-input:focus {
    border-color: #17213a;
    outline: none;
}

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

.feature-item {
    font-size: 14px;
    color: #444;
    padding: 12px;
    background: #f8f9fa;
    border-radius: 8px;
    border-left: 3px solid #17213a;
}

@media (min-width: 48rem) {
    .sticky-top-md {
        position: sticky;
        top: calc(262.92px + 2rem);
        align-self: flex-start;
    }
}

.product-gallery-container {
    border-radius: 24px;
    overflow: hidden;
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
}

.product-gallery-container > picture {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

/* Product Page 3-Column Grid */
.product-page-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr;
    align-items: stretch;
}

@media (min-width: 48rem) {
    .product-page-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 64rem) {
    .product-page-grid {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 1.5rem;
    }
    
    .product-page-grid > * {
        min-height: 0;
    }
}

.product-col-image {
    align-self: stretch;
}

@media (min-width: 64rem) {
    .product-col-image {
        position: relative;
    }
    .product-gallery-sticky {
        position: sticky;
        top: 2rem;
    }
}

.product-col-info {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.product-col-overview {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.product-description-card p {
    color: var(--primary, #17213a);
    font-size: 15px;
    line-height: 1.7;
}

/* Product Featured Categories Column */
.product-col-featured {
    display: flex;
    flex-direction: column;
}

.product-col-featured > .glass-card {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.featured-categories-column,
.featured-offers-column {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    flex: 1;
}

.featured-offer-item {
    flex: 1;
}

.featured-cat-item,
.featured-offer-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.25s ease;
    background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
    border: 1px solid rgba(0, 0, 0, 0.04);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.featured-cat-item:hover,
.featured-offer-item:hover {
    background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);
    border-color: rgba(23, 33, 58, 0.1);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    transform: translateY(-1px);
}

.featured-cat-img,
.featured-offer-img {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    position: relative;
}

.featured-offer-pill {
    position: absolute;
    bottom: 3px;
    left: 3px;
    background: linear-gradient(135deg, #e53935 0%, #c62828 100%);
    color: #fff;
    font-size: 7px;
    font-weight: 700;
    padding: 2px 4px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    white-space: nowrap;
}

.featured-offer-pill--deal {
    background: linear-gradient(135deg, #43a047 0%, #2e7d32 100%);
}

.featured-cat-img img,
.featured-offer-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.featured-offer-item:hover .featured-offer-img img {
    transform: scale(1.05);
}

.featured-cat-name {
    flex: 1;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary, #17213a);
}

.featured-offer-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.featured-offer-notifications {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex-shrink: 0;
}

.featured-offer-notifications .notification {
    position: static;
    padding: 4px 8px;
    font-size: 9px;
    gap: 5px;
    border-radius: 5px;
    opacity: 0;
    transform: translateY(-6px);
}

.featured-offer-notifications .notification svg {
    width: 11px;
    height: 11px;
    min-width: 11px;
}

.featured-offer-notifications .notification.show {
    opacity: 1;
    transform: translateY(0);
}

.featured-offer-notifications .notification.hide {
    opacity: 0;
    transform: translateY(-6px);
}

.featured-offer-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--primary, #17213a);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.featured-offer-price {
    font-size: 15px;
    font-weight: 800;
    color: var(--primary, #17213a);
    display: flex;
    align-items: center;
    gap: 8px;
}

.featured-offer-was {
    font-size: 12px;
    font-weight: 500;
    color: #aaa;
    text-decoration: line-through;
}

.featured-cat-arrow,
.featured-offer-arrow {
    width: 18px;
    height: 18px;
    color: #ccc;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.featured-cat-item:hover .featured-cat-arrow,
.featured-offer-item:hover .featured-offer-arrow {
    color: var(--primary, #17213a);
    transform: translateX(2px);
}

/* Product Tabs */
.product-tabs-container {
    padding: 0;
    overflow: hidden;
}

.product-tabs {
    display: flex;
    border-bottom: 1px solid #e5e5e5;
}

.product-tab {
    flex: 1;
    padding: 1rem 1.25rem;
    background: #f9f9f9;
    border: none;
    font-size: 14px;
    font-weight: 600;
    color: #666;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.product-tab:hover {
    background: #f0f0f0;
    color: #333;
}

.product-tab.active {
    background: #fff;
    color: var(--primary, #17213a);
    border-bottom: 2px solid var(--primary, #17213a);
    margin-bottom: -1px;
}

.tab-badge {
    font-size: 11px;
    padding: 2px 6px;
    background: var(--primary, #17213a);
    color: #fff;
    border-radius: 10px;
}

.product-tab-content {
    display: none;
    padding: 1.25rem;
}

.product-tab-content.active {
    display: block;
}

/* Specs Table */
.specs-table {
    width: 100%;
    border-collapse: collapse;
}

.specs-table th,
.specs-table td {
    padding: 0.75rem 1rem;
    text-align: left;
    border-bottom: 1px solid #eee;
    font-size: 14px;
}

.specs-table th {
    font-weight: 600;
    color: #333;
    width: 40%;
    background: #f9f9f9;
}

.specs-table td {
    color: #666;
}

.specs-table tr:last-child th,
.specs-table tr:last-child td {
    border-bottom: none;
}

/* Downloads List */
.downloads-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 0.75rem;
}

@media (max-width: 1400px) {
    .downloads-list {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (max-width: 1024px) {
    .downloads-list {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 640px) {
    .downloads-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

.download-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 1.5rem 1rem;
    background: #fff;
    border: none;
    border-radius: 16px;
    text-decoration: none;
    color: inherit;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    text-align: center;
    box-shadow: 
        0 1px 2px rgba(23, 33, 58, 0.04),
        0 4px 12px rgba(23, 33, 58, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
    position: relative;
    overflow: hidden;
}

.download-item::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(23, 33, 58, 0.02) 0%, transparent 50%);
    opacity: 0;
    transition: opacity 0.35s ease;
}

.download-item:hover {
    transform: translateY(-4px);
    box-shadow: 
        0 4px 8px rgba(23, 33, 58, 0.06),
        0 12px 32px rgba(23, 33, 58, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 1);
}

.download-item:hover::before {
    opacity: 1;
}

.download-icon {
    width: 52px;
    height: 52px;
    background: linear-gradient(145deg, var(--primary, #17213a) 0%, #1e2a47 100%);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 
        0 4px 12px rgba(23, 33, 58, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.download-icon::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.15) 0%, transparent 50%);
}

.download-item:hover .download-icon {
    transform: scale(1.08) translateY(-2px);
    box-shadow: 
        0 8px 20px rgba(23, 33, 58, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.download-icon svg {
    width: 24px;
    height: 24px;
    stroke: #fff;
    position: relative;
    z-index: 1;
}

.download-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
}

.download-title {
    font-weight: 600;
    color: var(--primary, #17213a);
    font-size: 12px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.3s ease;
}

.download-item:hover .download-title {
    color: #000;
}

.download-type {
    font-size: 9px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, var(--primary, #17213a) 0%, #2a3654 100%);
    padding: 4px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    box-shadow: 0 2px 6px rgba(23, 33, 58, 0.2);
}

.download-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: var(--primary, #17213a);
    margin-top: 4px;
    opacity: 0.7;
    transition: all 0.3s ease;
}

.download-action svg {
    width: 14px;
    height: 14px;
    transition: transform 0.3s ease;
}

.download-item:hover .download-action {
    opacity: 1;
    color: #000;
}

.download-item:hover .download-action svg {
    transform: translateX(3px);
}

button.download-item {
    border: none;
    cursor: pointer;
    width: 100%;
    font-family: inherit;
}

/* PDF Modal */
.pdf-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.pdf-modal.active {
    opacity: 1;
    visibility: visible;
}

.pdf-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(4px);
}

.pdf-modal-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.95);
    width: 90%;
    max-width: 1200px;
    height: 90vh;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.4);
    transition: transform 0.3s ease;
}

.pdf-modal.active .pdf-modal-container {
    transform: translate(-50%, -50%) scale(1);
}

.pdf-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    background: var(--primary, #17213a);
    flex-shrink: 0;
}

.pdf-modal-title {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 60%;
}

.pdf-modal-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.pdf-modal-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    border: none;
    font-family: inherit;
}

.pdf-modal-btn svg {
    width: 18px;
    height: 18px;
}

.pdf-modal-btn--download {
    background: #fff;
    color: var(--primary, #17213a);
}

.pdf-modal-btn--download:hover {
    background: #f0f0f0;
    transform: translateY(-1px);
}

.pdf-modal-btn--close {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    padding: 0.5rem;
}

.pdf-modal-btn--close:hover {
    background: rgba(255, 255, 255, 0.25);
}

.pdf-modal-body {
    flex: 1;
    overflow: auto;
    background: #404040;
    display: flex;
    justify-content: center;
    padding: 2rem;
}

.pdf-canvas-container {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

#pdf-canvas {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    background: #fff;
    max-width: 100%;
    height: auto;
}

.pdf-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #fff;
    font-size: 14px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.pdf-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid rgba(255, 255, 255, 0.2);
    border-top-color: #fff;
    border-radius: 50%;
    animation: pdf-spin 0.8s linear infinite;
}

@keyframes pdf-spin {
    to { transform: rotate(360deg); }
}

.pdf-modal-btn--nav {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    padding: 0.4rem;
}

.pdf-modal-btn--nav:hover {
    background: rgba(255, 255, 255, 0.25);
}

.pdf-modal-btn--nav svg {
    width: 16px;
    height: 16px;
}

.pdf-page-info,
.pdf-zoom-level {
    color: rgba(255, 255, 255, 0.8);
    font-size: 12px;
    font-weight: 500;
    min-width: 50px;
    text-align: center;
}

.pdf-modal-divider {
    width: 1px;
    height: 20px;
    background: rgba(255, 255, 255, 0.2);
    margin: 0 0.25rem;
}

.pdf-frame {
    width: 100%;
    height: 100%;
    border: none;
}

/* Tablet */
@media (max-width: 1024px) {
    .pdf-modal-container {
        width: 95%;
        height: 85vh;
        border-radius: 12px;
    }
    
    .pdf-modal-title {
        font-size: 14px;
        max-width: 30%;
    }
    
    .pdf-modal-btn--download span {
        display: none;
    }
    
    .pdf-modal-btn--download {
        padding: 0.5rem;
    }
    
    .pdf-modal-header {
        padding: 0.75rem 1rem;
        flex-wrap: wrap;
        gap: 0.5rem;
    }
    
    .pdf-modal-actions {
        gap: 0.5rem;
    }
    
    .pdf-zoom-level {
        display: none;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .pdf-modal-container {
        width: 100%;
        height: 100%;
        border-radius: 0;
        top: 0;
        left: 0;
        transform: translateY(100%);
    }
    
    .pdf-modal.active .pdf-modal-container {
        transform: translateY(0);
    }
    
    .pdf-modal-header {
        padding: 0.75rem;
    }
    
    .pdf-modal-title {
        font-size: 12px;
        max-width: 100%;
        order: -1;
        flex-basis: 100%;
        text-align: center;
        margin-bottom: 0.5rem;
    }
    
    .pdf-modal-actions {
        width: 100%;
        justify-content: center;
    }
    
    .pdf-modal-body {
        padding: 1rem;
    }
    
    .pdf-page-info {
        min-width: 40px;
        font-size: 11px;
    }
    
    .pdf-modal-divider {
        display: none;
    }
}

.no-content {
    color: #888;
    font-size: 14px;
    text-align: center;
    padding: 2rem 1rem;
}

.sticky-top-md {
    overflow-y: auto;
    scrollbar-width: none; /* Hide scrollbar for cleaner look */
}
.sticky-top-md::-webkit-scrollbar {
    display: none;
}

.product-slider {
    border-radius: 12px;
    overflow: hidden;
    width: 100%;
}

.product-gallery-container > .tns-outer {
    width: 100%;
}

.product-slider img {
    width: 100%;
    height: auto;
    max-height: 480px;
    object-fit: contain;
}

.main-product-image {
    width: 100%;
    height: auto;
    border-radius: 12px;
    object-fit: contain;
    max-height: 480px;
}

/* Thumbnail row with arrows */
.product-thumb-row {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.product-slider-nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    flex: 1;
    padding: 4px 0;
}

.product-slider-nav::-webkit-scrollbar {
    display: none;
}

.product-thumb-arrow {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #ddd;
    background: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.product-thumb-arrow svg {
    width: 16px;
    height: 16px;
    stroke: #333;
}

.product-thumb-arrow:hover {
    border-color: #17213a;
    background: #17213a;
}

.product-thumb-arrow:hover svg {
    stroke: #fff;
}

.product-spec-section {
    margin-bottom: 120px;
}

.filter-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.875rem;
    background: #17213a;
    color: #fff;
    border-radius: 50px;
    font-size: 13px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.filter-tag:hover {
    background: #2a3a5a;
}

/* Search Toolbar */
.search-toolbar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    padding: 0.75rem 1rem;
    background: #f9f9f9;
    border-radius: 8px;
}

.search-toolbar label {
    font-size: 0.9rem;
    color: #666;
}

.search-toolbar select {
    padding: 0.5rem 2rem 0.5rem 0.75rem;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E") right 0.75rem center no-repeat;
    appearance: none;
    cursor: pointer;
    font-size: 0.9rem;
}

/* Product Grid */
.search-results .row--products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1.5rem;
}

/* Product Card Styling */
.card--product {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: #16191C;
    color: #16191C;
}

.card--product:hover {
    border-color: #17213a;
}

.card--product figure {
    background: #fff;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 180px;
}

.card--product figure img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

.card--product figcaption {
    padding: 1rem;
    background: #f8f9fa;
    border-top: 1px solid #eee;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.card--product .product-category {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #17213a;
    font-weight: 600;
}

.card--product .product-name {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card--product .product-sku {
    font-size: 12px;
    color: #888;
}

.card--product .product-price {
    font-size: 18px;
    font-weight: 700;
    color: #17213a;
    margin-top: auto;
    padding-top: 0.5rem;
}

/* Pagination */
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #eee;
}

.pagination__prev,
.pagination__next {
    padding: 0.75rem 1.25rem;
    background: #17213a;
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    font-weight: 500;
    transition: background 0.2s ease;
}

.pagination__prev:hover,
.pagination__next:hover {
    background: #2a3a5a;
}

.pagination__info {
    color: #666;
    font-size: 0.9rem;
}

/* No Results */
.no-results {
    text-align: center;
    padding: 3rem 1rem;
}

.no-results h2 {
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
}

.no-results p {
    color: #666;
    margin-bottom: 1rem;
}

.category-suggestions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

/* Empty Search State */
.search-empty-state {
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
    padding: 2rem 0;
}

.search-form--large {
    display: flex;
    margin-bottom: 2rem;
}

.search-form--large .search-input {
    flex: 1;
    padding: 1rem 1.25rem;
    border: 2px solid #ddd;
    border-right: none;
    border-radius: 8px 0 0 8px;
    font-size: 1rem;
}

.search-form--large .button {
    border-radius: 0 8px 8px 0;
}

.popular-categories h2 {
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
}

.card--category-mini {
    display: inline-flex;
    padding: 0.75rem 1.25rem;
    background: #f5f5f5;
    border-radius: 8px;
    text-decoration: none;
    color: #16191C;
    font-weight: 500;
    transition: all 0.2s ease;
}

.card--category-mini:hover {
    background: #17213a;
    color: #fff;
}

/* Homepage Deals Slider & Premium Product Cards */
.slider-main .hero.home-hero {
    padding: calc(180px + 4rem) 0 4rem;
    background-color: transparent; /* Allow original image background to show */
}

.hero__header-centered {
    text-align: left;
    margin-bottom: 2rem;
}

.hero__header-centered h1 {
    font-size: 3rem !important;
    font-weight: 800;
    margin: 0;
    color: #ffffff; /* White text for contrast against image */
    text-transform: uppercase;
}

.deals-slider-wrapper {
    width: 100%;
    position: relative;
    margin: 0 auto;
}

.product-card {
    width: 100%;
    background: #ffea00;
    border-radius: 16px;
    overflow: visible;
    /* transition: transform 0.3s ease; */
    position: relative;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.deals-slider-wrapper .product-card {
    max-width: 100%;
}

.deals-slider-wrapper .product-card .product-bottom {
min-height: 130px;
}

.product-top {
    position: relative;
    background: #ffea00;
    overflow: hidden;
    border-radius: 16px 16px 0 0;
}

.product-image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 436px;
    background: #FFFFFF;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.price-ribbon {
    position: absolute;
    top: 32px;
    left: -82px;
    background: #ffea00;
    padding: 10px 90px;
    transform: rotate(-45deg);
    transform-origin: center center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 2rem;
}

.price-ribbon {
    position: absolute;
    top: 32px;
    left: -82px;
    background: #F8A81C;
    padding: 10px 90px;
    transform: rotate(-45deg);
    transform-origin: center center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    text-align: center;
    z-index: 10;
}

.price-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.price-value {
    font-size: 38px;
    font-weight: 900;
    color: #17213a;
    line-height: 1;
}

.price-vat {
    font-size: 12px;
    font-weight: 700;
    color: #17213A;
    margin-top: 2px;
}

.price-badges {
    position: absolute;
    bottom: 16px;
    right: 16px;
    display: flex;
    gap: 8px;
    z-index: 10;
}

.badge {
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.badge-save {
    background-color: #17213A;
    color: #ffffff;
}

.badge-was {
    background-color: #A6292B;
    color: #ffffff;
}

.product-bottom {
    background: linear-gradient(135deg, #17213A 0%, #1f2d4a 100%);
    padding: 20px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    border-radius: 0 0 16px 16px;
}

.product-info h2 {
    color: #ffffff !important;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 6px;
    line-height: 1.2;
}

.product-pricing {
    display: flex;
    align-items: center;
    gap: 8px;
}

.product-pricing .current-price {
    color: #ffea00;
    font-weight: 700;
    font-size: 24px;
}

.product-pricing .old-price {
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    text-decoration: line-through;
}

.cart-button {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    aspect-ratio: 1;
    background: #ffea00;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background 0.2s ease;
    flex-shrink: 0;
    padding: 0;
}

.cart-button svg {
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
}

.notifications {
    position: absolute;
    top: 16px;
    right: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 20;
}

.notification {
    background: #ffea00;
    color: #17213A;
    padding: 10px 14px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 600;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    border: none;
}

.notification svg {
    width: 18px;
    height: 18px;
    min-width: 18px;
    flex-shrink: 0;
}

.notification.show {
    opacity: 1;
    transform: translateY(0);
}

.notification.hide {
    opacity: 0;
    transform: translateY(-10px);
}

@media (max-width: 1024px) {
    .slider-main .hero.home-hero .container {
        flex-direction: column;
        text-align: center;
        gap: 2rem;
    }
    .slider-main__slide__content {
        max-width: 100%;
    }
    .deals-slider-wrapper {
        width: 100%;
        max-width: 456px;
        margin: 0 auto;
    }
}

/* Ticker Styles */
aside.ticker {
    background-color: #17213a;
    z-index: 10;
    padding: 0.8rem 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    max-height: 100px;
    overflow: hidden;
    white-space: nowrap;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

aside.ticker ul {
    display: flex;
    flex-direction: row;
    gap: 8rem;
    justify-content: center;
    animation: ticker-move 30s linear infinite;
    padding: 0;
    margin: 0;
}

aside.ticker ul li {
    font-weight: 600;
    white-space: nowrap;
    list-style: none;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    font-family: "Open Sans", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

aside.ticker ul li svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

aside.ticker ul li::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: #ffea00;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

aside.ticker ul li.ticker-shipping::before {
    display: none;
}

aside.ticker ul li.ticker-delivery::before {
    display: none;
}

aside.ticker ul li.ticker-products::before {
    display: none;
}

aside.ticker ul li.ticker-base::before {
    display: none;
}

@keyframes ticker-move {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

/* Category Page Table & Filters */
.product-spec-section {
    width: 100%;
}

.product-filters {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    align-items: flex-end;
    background: #f8f9fa;
    padding: 24px;
    border-radius: 12px;
}

.filter-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.filter-group label {
    font-size: 14px;
    font-weight: 600;
    color: #17213a;
}

.filter-group select {
    padding: 10px 16px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: white;
    min-width: 160px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}

.filter-group select:focus {
    border-color: #17213a;
}

.table-container {
    width: 100%;
    overflow-x: auto;
    margin-top: 32px;
    border: none;
    border-radius: 8px;
    background: transparent;
}

.product-spec-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 800px;
    font-size: 14px;
    text-align: left;
}

.product-spec-table th {
    background: #f5f6f7;
    color: #333;
    padding: 12px 16px;
    font-weight: 600;
    white-space: nowrap;
    border-bottom: 1px solid #e9ecef;
}

.product-spec-table td {
    padding: 12px 16px;
    border-bottom: 1px solid #f0f0f0;
    color: #555;
}

.product-spec-table tr:last-child td {
    border-bottom: none;
}

.product-spec-table tr:hover td {
    background: #f8f9fa;
}

.product-spec-table .button {
    text-decoration: none;
    transition: transform 0.1s;
}

.product-spec-table .button:active {
    transform: scale(0.95);
}

@media (max-width: 768px) {
    .product-filters {
        gap: 16px;
        padding: 16px;
    }
    
    .filter-group {
        flex: 1 1 calc(50% - 8px);
    }
    
    .filter-group select {
        min-width: 0;
    }
}

/* Grid Layout Enhancements - 6 Columns on Desktop */
@media (min-width: 1200px) {
    .category-grid, 
    .row--category, 
    .row--products {
        grid-template-columns: repeat(6, 1fr) !important;
        gap: 1rem !important;
    }
}

/* All Products Page Layout */
.all-products-layout {
    display: grid;
    grid-template-columns: 375px 1fr;
    gap: 3rem;
    margin-top: 3rem;
}

.filters-sidebar {
    background: #f8f9fa;
    padding: 1.5rem;
    border-radius: 8px;
    height: fit-content;
    position: sticky;
    top: 100px;
}

.filter-section {
    margin-bottom: 2rem;
}

.filter-section:last-child {
    margin-bottom: 0;
}

.filter-title {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #17213a;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.filter-list li {
    border-bottom: 1px solid rgba(23, 33, 58, 0.1);
    display: block;
    width: 100%;
}

.filter-list li:last-child {
    border-bottom: none;
}

.filter-parent {
    position: relative;
    overflow: hidden;
    display: block;
    width: 100%;
}

.filter-list--nested {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0 0;
    border-left: 2px solid #ddd;
    margin-left: 0.5rem;
    padding-left: 0.75rem;
}

.filter-list--nested li {
    border-bottom: none;
    margin: 0;
}

.filter-list--nested a {
    font-size: 0.85rem;
    color: #888;
}

.filter-list a {
    font-size: 0.9rem;
    color: #666;
    padding: 0.75rem 0;
    display: flex;
    text-decoration: none;
    transition: color 0.2s ease;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.filter-list a:hover {
    color: var(--secondary);
}

.filter-list .count {
    font-size: 0.85rem;
    color: #999;
    margin-left: 0.5rem;
}

.products-main {
    width: 100%;
}

@media (max-width: 768px) {
    .all-products-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .filters-sidebar {
        position: static;
        top: auto;
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .category-grid, 
    .row--category, 
    .row--products {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .category-grid, 
    .row--category, 
    .row--products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

/* ============================================
   SITE NAVIGATION — Complete Rewrite
   ============================================ */

/* ── Layout ── */
.site-nav {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
}

.menu-container {
  position: relative;
  width: 100%;
}

/* ── Hamburger (mobile only) ── */
.site-nav__hamburger {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  display: none;
  flex-direction: column;
  gap: 5px;
  z-index: 10;
  -webkit-tap-highlight-color: transparent;
}
.hamburger-bar {
  display: block;
  width: 26px;
  height: 2.5px;
  background: #fff;
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.3s ease;
  pointer-events: none;
}
.site-nav__hamburger.is-active .hamburger-bar:nth-child(1) {
  transform: translateY(7.5px) rotate(45deg);
}
.site-nav__hamburger.is-active .hamburger-bar:nth-child(2) {
  opacity: 0;
}
.site-nav__hamburger.is-active .hamburger-bar:nth-child(3) {
  transform: translateY(-7.5px) rotate(-45deg);
}

/* ── Desktop nav bar ── */
.site-nav__bar {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0;
  width: 100%;
}

.site-nav__item {
  position: static;
}

.site-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.7rem 1rem;
  color: #fff;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease;
  border-radius: 0;
  letter-spacing: 0.01em;
}
.site-nav__link:hover {
  background: rgba(255,255,255,0.12);
  color: #fff;
}

.site-nav__chevron {
  flex-shrink: 0;
  transition: transform 0.25s ease;
  opacity: 0.7;
}
.site-nav__item:hover > .site-nav__link .site-nav__chevron {
  transform: rotate(180deg);
  opacity: 1;
}

/* Clearance CTA */
.site-nav__item--cta {
  margin-left: auto;
}
.site-nav__link--cta {
  background: #ffea00;
  color: #17213a !important;
  font-weight: 700;
  padding: 0.6rem 1.5rem;
  border-radius: 4px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-size: 0.8rem;
}
.site-nav__link--cta:hover {
  background: #e6d200 !important;
}

/* ── Mega-menu flyout (desktop) ── */
.site-nav__mega {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  box-shadow: 0 12px 48px rgba(0,0,0,0.15), 0 2px 8px rgba(0,0,0,0.08);
  border-radius: 0 0 12px 12px;
  border-top: 3px solid #17213a;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
  z-index: 1000;
  max-height: 85vh;
  overflow-y: auto;
  overflow-x: hidden;
}

/* Smooth scrollbar for mega menu */
.site-nav__mega::-webkit-scrollbar { width: 6px; }
.site-nav__mega::-webkit-scrollbar-track { background: transparent; }
.site-nav__mega::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }
.site-nav__mega::-webkit-scrollbar-thumb:hover { background: #999; }

/* Hover bridge — prevents menu from closing when mouse moves to dropdown */
.site-nav__mega::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
}

.site-nav__item:hover > .site-nav__mega {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.site-nav__mega-inner {
  padding: 2rem 2rem 2.5rem;
  box-sizing: border-box;
}

/* ── Mega header ── */
.site-nav__mega-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #17213a;
}
.site-nav__mega-header h3 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  color: #17213a;
  letter-spacing: -0.02em;
}
.site-nav__view-all {
  color: #17213a;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.85rem;
  transition: color 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: #f4f5f7;
  border-radius: 6px;
}
.site-nav__view-all:hover {
  color: #fff;
  background: #17213a;
}

/* ── Sub-categories grid ── */
.site-nav__mega-cats {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1.25rem;
  margin-bottom: 2rem;
  padding-bottom: 1.75rem;
  border-bottom: 1px solid #eee;
  text-align: left;
}
.site-nav__mega-group {
  display: flex;
  flex-direction: column;
  text-align: left;
}
.site-nav__mega-parent {
  font-weight: 700;
  font-size: 0.88rem;
  color: #17213a;
  margin-bottom: 0.35rem;
  text-decoration: none;
  display: block;
  padding: 0 0 0.3rem;
  background: none;
  border-radius: 0;
  border-left: none;
  border-bottom: 2px solid #17213a;
  transition: color 0.15s ease;
}
.site-nav__mega-parent:hover {
  color: #17213a;
  background: none;
  border-left-color: transparent;
  transform: none;
  border-bottom-color: #ffea00;
}
.site-nav__mega-subs {
  list-style: none;
  margin: 0;
  padding: 6px 0 0 0;
  text-align: left;
}
.site-nav__mega-subs li {
  margin-bottom: 2px;
}
.site-nav__mega-subs a {
  color: #666;
  text-decoration: none;
  font-size: 0.82rem;
  transition: color 0.15s ease, padding-left 0.15s ease;
  display: block;
  padding: 4px 0;
  text-align: left;
}
.site-nav__mega-subs a:hover {
  color: #17213a;
  padding-left: 4px;
}

/* ── Products section ── */
.site-nav__mega-products {
  margin-top: 0;
}
.site-nav__mega-products h4 {
  margin: 0 0 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.site-nav__mega-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.75rem;
}
.site-nav__product-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1rem 1.1rem;
  background: #fafbfc;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  text-decoration: none;
  color: #17213a;
  transition: all 0.2s ease;
  min-height: 80px;
}
.site-nav__product-card:hover {
  border-color: #17213a;
  background: #fff;
  box-shadow: 0 6px 20px rgba(23,33,58,0.1);
  transform: translateY(-3px);
}
.site-nav__product-name {
  font-weight: 600;
  font-size: 0.85rem;
  line-height: 1.4;
  margin-bottom: 0.5rem;
  color: #17213a;
}
.site-nav__product-price {
  font-weight: 800;
  font-size: 1rem;
  color: #DA042A;
}

/* ── Overlay ── */
.nav-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1500;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}
.nav-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

/* ── Mobile drawer ── */
.nav-drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 380px;
  height: 100vh;
  height: 100dvh;
  background: #17213a;
  z-index: 2000;
  transform: translateX(-100%);
  transition: transform 0.35s cubic-bezier(0.4,0,0.2,1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 4px 0 24px rgba(0,0,0,0.3);
}
.nav-drawer.is-open {
  transform: translateX(0);
}

.nav-drawer__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  flex-shrink: 0;
  background: rgba(0,0,0,0.15);
}
.nav-drawer__title {
  color: #fff;
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.nav-drawer__close {
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  padding: 8px;
  opacity: 0.7;
  transition: opacity 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}
.nav-drawer__close:hover,
.nav-drawer__close:active { opacity: 1; }

/* ── Drawer list ── */
.nav-drawer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.nav-drawer__item {
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.nav-drawer__row {
  display: flex;
  align-items: center;
}
.nav-drawer__link {
  flex: 1;
  display: block;
  padding: 1rem 1.25rem;
  color: #fff;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  transition: background 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}
.nav-drawer__link:hover,
.nav-drawer__link:active {
  background: rgba(255,255,255,0.06);
  color: #fff;
}
.nav-drawer__toggle {
  background: none;
  border: none;
  border-left: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.6);
  padding: 1rem 1.25rem 1rem 1rem;
  cursor: pointer;
  transition: color 0.15s ease;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}
.nav-drawer__toggle:hover,
.nav-drawer__toggle:active { color: #fff; }
.nav-drawer__toggle svg {
  transition: transform 0.25s ease;
}
.nav-drawer__toggle[aria-expanded="true"] svg {
  transform: rotate(45deg);
}

/* ── Accordion sub-panel ── */
.nav-drawer__sub {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4,0,0.2,1);
  background: rgba(0,0,0,0.2);
}
.nav-drawer__sub.is-open {
  max-height: 3000px;
}
.nav-drawer__sublabel {
  display: block;
  padding: 0.85rem 1.5rem 0.35rem;
  color: rgba(255,255,255,0.4);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.nav-drawer__sublink {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1.5rem;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  font-size: 0.9rem;
  transition: background 0.15s ease, padding-left 0.15s ease;
  border-left: 3px solid transparent;
  -webkit-tap-highlight-color: transparent;
}
.nav-drawer__sublink:hover,
.nav-drawer__sublink:active {
  background: rgba(255,255,255,0.06);
  padding-left: 1.75rem;
  border-left-color: #ffea00;
  color: #fff;
}
.nav-drawer__sublink--cat {
  font-weight: 600;
  color: #fff;
}
.nav-drawer__sublink--all {
  font-weight: 700;
  color: #ffea00;
  margin-top: 0.25rem;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.nav-drawer__price {
  font-weight: 700;
  color: #ffea00;
  font-size: 0.85rem;
  margin-left: 0.75rem;
  flex-shrink: 0;
}

/* CTA and contact in drawer */
.nav-drawer__item--cta .nav-drawer__link--cta {
  color: #ffea00;
  font-weight: 700;
}
.nav-drawer__item--contact {
  margin-top: auto;
  border-top: 1px solid rgba(255,255,255,0.12);
  border-bottom: none;
}

/* ── Responsive breakpoints ── */

/* Mobile: show hamburger, hide desktop bar */
@media (max-width: 1199px) {
  .site-nav__bar {
    display: none !important;
  }
  .site-nav__hamburger {
    display: flex !important;
  }
}

/* Desktop: show bar, hide mobile */
@media (min-width: 1200px) {
  .site-nav__hamburger {
    display: none !important;
  }
  .nav-overlay,
  .nav-drawer {
    display: none !important;
  }
  .site-nav__bar {
    display: flex;
  }
}

@media (max-width: 767px) {
  .nav-drawer {
    max-width: 100%;
  }
}

/* Body lock when drawer open */
body.nav-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

/* ═══════════════════════════════════════════════════════════════════
   MOBILE & TABLET OPTIMISATION
   Appended overrides — do not edit base rules above
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Tablet range: hero & product cards ──────────────────────────── */
@media (max-width: 64rem) and (min-width: 55rem) {
  .slider-main .hero.home-hero {
    padding: calc(100px + 3rem) 0 3rem;
  }
  .hero__header-centered h1 {
    font-size: 2.25rem !important;
  }
  .product-image {
    height: 320px;
  }
  .price-value {
    font-size: 30px;
  }
}

/* ─── Mobile (≤55rem / 880px): hero ──────────────────────────────── */
@media (max-width: 55rem) {
  .slider-main .hero.home-hero {
    padding: calc(70px + 2rem) 0 2rem;
  }
  .hero__header-centered {
    text-align: center;
  }
  .hero__header-centered h1 {
    font-size: 1.75rem !important;
  }
}

/* ─── Mobile (≤55rem): deals slider product cards ────────────────── */
@media (max-width: 55rem) {
  .product-image {
    height: 220px;
  }
  .price-value {
    font-size: 22px;
  }
  .price-ribbon {
    top: 18px;
    left: -65px;
    padding: 6px 72px;
    font-size: 0.75rem;
  }
  .deals-slider-wrapper .product-card .product-bottom {
    min-height: auto;
  }
  .product-bottom {
    padding: 12px 16px;
    gap: 10px;
    flex-wrap: wrap;
  }
}

/* ─── Mobile (≤55rem): featured categories slider ────────────────── */
@media (max-width: 55rem) {
  .featured-categories-slider .category-card {
    height: 220px;
  }
}

/* ─── Small mobile (≤40rem / 640px): product grid ────────────────── */
@media (max-width: 40rem) {
  .row--category {
    grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr));
    gap: 16px;
  }
}

/* ─── Mobile header: logo bigger, search centered+white, burger right ── */
@media (max-width: 1199px) {
  .header__top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
  }

  /* Logo — larger on mobile */
  .header__top-row .header__logo svg {
    width: 160px !important;
    height: auto;
  }

  /* Mobile controls wrapper — search + burger together, right-aligned */
  .site-nav__mobile-controls {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
  }

  /* Search icon — relative, white */
  .search-toggle-mobile {
    display: flex !important;
    position: relative;
    color: #fff !important;
    margin: 0;
  }
  .search-toggle-mobile svg {
    stroke: #fff !important;
  }

  /* Hamburger — relative, in flow */
  .site-nav__hamburger {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    z-index: 110;
  }

  /* Search field — full width dropdown below header */
  .header__search {
    display: none;
    position: fixed;
    top: var(--header-h, 60px);
    left: 0;
    right: 0;
    width: 100vw;
    max-width: none;
    margin: 0;
    padding: 1rem;
    background: #fff;
    border-top: 1px solid #eee;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    z-index: 100;
    box-sizing: border-box;
  }
  .header__search.open {
    display: block;
  }
  .header__search .search-input {
    width: 100%;
  }
  .header__search .search-form {
    width: 100%;
  }
}

/* ─── Increase hero padding on mobile ────────────────────────────── */
@media (max-width: 55rem) {
  .slider-main .hero.home-hero {
    padding: calc(120px + 3rem) 0 3rem !important;
  }
  .hero-blank {
    min-height: 120px !important;
  }
}

/* ─── Ticker: reduce gap on mobile ───────────────────────────────── */
@media (max-width: 55rem) {
  aside.ticker ul {
    gap: 2.5rem !important;
  }
}

/* ─── Desktop nav: allow link text to wrap ───────────────────────── */
@media (min-width: 1200px) {
  .site-nav__bar {
    max-width: 100%;
    flex-wrap: nowrap;
  }
  .site-nav__item {
    flex: 1 1 0;
    min-width: 0;
    text-align: center;
    align-self: stretch;
  }
  .site-nav__link {
    padding: 0.55rem 0.7rem;
    font-size: 0.82rem;
    white-space: normal;
    line-height: 1.25;
    text-align: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
}
