@font-face {
  font-family: "WixMadeforText";
  src: url("assets/fonts/WixMadeforText-VariableFont_wght.ttf")
      format("truetype"),
    url("assets/fonts/WixMadeforText-Italic-VariableFont_wght.ttf")
      format("truetype");
  font-weight: 100 900;
  font-style: normal, italic;
  font-display: swap;
}

:root {
  --Vit: #ffffff;
  --Skog: #003d3e;
  --Mossa: #076a6d;
  --Hjortron: #f9b000;
  --Hjortron-Light: #f1bd67;
  --Svart: #000000;
  --Lav: #daebdd;
  --Piggelin: #9acbaa;
  --Piggelin-Light: #c0e0c6;
  --Skog-Light: #456c6b;
  --page-bg: rgb(18, 20, 18);
  --page-bg-gradient: linear-gradient(
    to bottom right,
    rgb(57, 61, 53),
    rgb(18, 20, 18)
  );
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--page-bg);
  background-image: var(--page-bg-gradient);
  background-attachment: fixed;
}

header {
  width: 100%;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: sticky;
  top: 0;
  z-index: 6;
  color: var(--Vit);
  background-color: var(--page-bg);
  background-image: var(--page-bg-gradient);
  background-attachment: fixed;
  transition: background-color 0.3s ease;
  box-sizing: border-box;
}

header.zMove {
  z-index: 3;
}

.headerContent {
  width: 95%;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(0.75rem, 2vw, 1.5rem);
  box-sizing: border-box;
}

.header_logo {
  display: flex;
  align-items: center;
  line-height: 0;
}

.header_logo img {
  display: block;
  height: auto;
  max-height: 100px;
  width: auto;
  max-width: min(300px, 42vw);
  object-fit: contain;
}

.headerLeft {
  flex-shrink: 0;
}

.headerMiddle {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.headerMiddle > div {
  display: flex;
  justify-content: flex-end;
}

.headerMiddle > div > ul,
.headerMiddle ul.header_menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(1rem, 2.5vw, 2.25rem);
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
}

.headerMiddle ul li {
  display: block;
}


/* Current page: top-level header nav (WP classes + JS .active on exact URL match) */
.headerMiddle .header_menu > li > a.active,
.headerMiddle .header_menu > li.current-menu-item > a,
.headerMiddle .header_menu > li.current_page_item > a {
  border-radius: 40px;
  border: 1px solid #a3b199;
  background: #0b0d0a;
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.67) inset;
  padding: 0.75rem 1rem;
}

/* Last top-level item: sage pill (overrides current-page look when this item is active) */
.headerMiddle .header_menu > li:last-child > a,
.headerMiddle .header_menu > li:last-child > a.active,
.headerMiddle .header_menu > li:last-child.current-menu-item > a,
.headerMiddle .header_menu > li:last-child.current_page_item > a {
  border-radius: 40px;
  background: #a3b199;
  box-shadow: -3px -3px 5px 0 rgba(255, 255, 255, 0.2);
  border: none;
  padding: 0.75rem 1.25rem;
  color: #1C1C1C;
}

.headerMiddle .header_menu > li:last-child.menu-item-has-children > a::after {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="7" viewBox="0 0 12 7" fill="none"><path d="M1 1L6 6L11 1" stroke="%23003d3e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>')
    no-repeat;
  background-size: contain;
}

.headerMiddle a {
  color: #a3b199;
  font-family: "Raleway", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  text-decoration: none;
}

.header_menu .menu-item-has-children {
  position: relative;
  margin-right: 0;
  padding-right: 1.25rem;
}

/* Parent menu item with arrow */
.headerMiddle .menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 7px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="7" viewBox="0 0 12 7" fill="none"><path d="M1 1L6 6L11 1" stroke="%23A3B199" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>')
    no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all 200ms ease-in-out;
}

/* Hide submenu initially */
.header_menu .sub-menu {
  display: none;
  position: relative;
  position: absolute;
  left: 0;
  top: 100%;
  list-style: none;
  padding: 0;
  border-radius: 5px;
  margin-top: 15px;
}

.header_menu .sub-menu li {
  min-width: 165px;
  width: 105%;
  padding: 10px;
  box-sizing: border-box;
}

.header_menu .sub-menu li:nth-child(odd) {
  background-color: var(--Lav);
}

.header_menu .sub-menu li:nth-child(even) {
  background-color: var(--Vit);
}

.header_menu .sub-menu li a {
  color: var(--Skog);
}

.header_menu .menu-item-has-children .sub-menu::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 8px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="8" viewBox="0 0 14 8" fill="none"><path d="M5.4213 1.02976C6.22201 0.000269413 7.77799 0.000271201 8.5787 1.02976L14 8H0L5.4213 1.02976Z" fill="%23DAEBDD"/></svg>')
    no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%; /* Center the arrow horizontally */
  top: -8px; /* Position above the dropdown */
  transform: translateX(-50%); /* Center horizontally by shifting left 50% */
  transition: all 0ms ease-in-out;
}

/* New ::after for the hoverable buffer */
.header_menu .menu-item-has-children .sub-menu::after {
  content: "";
  position: absolute;
  top: -15px; /* Place the buffer between the parent and the dropdown */
  left: 0;
  width: 100%;
  height: 15px; /* Height of the buffer zone */
  background: transparent; /* Make the buffer invisible */
}

/* Show submenu on hover */
.header_menu .menu-item-has-children:hover .sub-menu {
  display: block;
}

.header_menu .menu-item-has-children .sub-menu li:hover {
  background-color: var(--Skog);
}

.header_menu .menu-item-has-children .sub-menu.hover-effect::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 8px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="8" viewBox="0 0 14 8" fill="none"><path d="M5.4213 1.02976C6.22201 0.000269413 7.77799 0.000271201 8.5787 1.02976L14 8H0L5.4213 1.02976Z" fill="%23003d3e"/></svg>')
    no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%; /* Center the arrow horizontally */
  top: -8px; /* Position above the dropdown */
  transform: translateX(-50%); /* Center horizontally by shifting left 50% */
  transition: all 0ms ease-in-out;
}

.header_menu .menu-item-has-children .sub-menu li:hover a {
  color: var(--Lav);
}

.header_menu .menu-item-has-children .sub-menu li:first-child {
  border-radius: 5px 5px 0px 0px;
}

.header_menu .menu-item-has-children .sub-menu li:last-child {
  border-radius: 0px 0px 5px 5px;
}

.headerMiddle .menu-item-has-children:hover > a::after {
  transform: translateY(-50%) rotate(180deg); /* Rotate the icon */
  top: 50%; /* Keep it vertically centered */
}

.headerRight {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: clamp(0.5rem, 1.25vw, 1rem);
}

.headerCta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem 0.65rem;
}

.headerCta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  text-decoration: none;
  padding: 0.35rem;
  min-width: 44px;
  min-height: 44px;
  box-sizing: border-box;
  border-radius: 40px;
  border: 1px solid #a3b199;
  color: #a3b199;
  background: transparent;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

header .headerCta__btn {
  box-shadow: -3px -3px 5px 0 rgba(255, 255, 255, 0.2);
}

.headerCta__icon {
  display: block;
  flex-shrink: 0;
  width: 25px;
  height: 25px;
}

.headerCta__icon path {
  transition: fill 0.2s ease;
}


.headerCta--drawer {
  display: none;
}

.headerCta--drawer .headerCta__btn {
  padding: 0.45rem;
}

.sideMenuContent .headerCta.headerCta--drawer {
  align-self: flex-start;
  justify-content: flex-start;
  margin-left: 65px;
  margin-right: 0;
  margin-top: 1rem;
  width: auto;
  max-width: calc(100% - 65px - 1.25rem);
  box-sizing: border-box;
}

/* Drawer + icon only below 800px */
.hamburgerMenu {
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  line-height: 0;
}

.sideMenu {
  background-color: var(--page-bg);
  background-image: var(--page-bg-gradient);
  background-attachment: fixed;
  color: #a3b199;
  position: fixed;
  top: 0;
  right: 0;
  width: 500px;
  height: 100vh; /* Full height of viewport */
  z-index: 9;
  transform: translateX(100%);
  transition: transform 700ms ease-in-out;
}

.sideMenu.active {
  transform: translateX(0px);
}

.sideMenuContent {
  position: fixed;
  top: 0;
  right: 0;
  width: 500px;
  height: 85vh; /* Full height of viewport */
  max-height: 790px;
  overflow-y: scroll; /* Ensure nothing overflows */
  z-index: 9;
  transform: translateX(100%);
  transition: transform 700ms ease-in-out;
  box-sizing: border-box;
  background-color: var(--page-bg);
  background-image: var(--page-bg-gradient);
  background-attachment: fixed;
  color: #a3b199;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.sideMenuContent__topBar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-shrink: 0;
  padding: 1.25rem 1.25rem 0.75rem 65px;
  box-sizing: border-box;
}

.sideMenuContent__logo {
  display: flex;
  align-items: center;
  min-width: 0;
  line-height: 0;
  text-decoration: none;
}

.sideMenuContent__logo img {
  display: block;
  height: auto;
  max-height: 44px;
  width: auto;
  max-width: min(240px, calc(100% - 3rem));
  object-fit: contain;
}

.sideMenuContent__logoSpacer {
  flex: 1;
  min-width: 0;
}

.sideMenuContent.active {
  transform: translateX(0px);
}


.closeSideMenu {
  position: relative;
  top: auto;
  right: auto;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  line-height: 0;
}

.closeSideMenu svg path {
  stroke: #a3b199;
}

.sideMenuMenu {
  flex: 1 1 auto;
  min-height: 0;
}

ul.side_menu {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-top: 1.25rem;
  margin-left: 65px;
  width: auto;
  display: flex;
  flex-direction: column; /* Stack items vertically */
}

.side_menu li.menu-item {
  position: relative;
  margin-bottom: 20px;
  display: inline-block;
}

.side_menu > li.menu-item > a {
  color: #a3b199;
  font-family: "Raleway", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  text-decoration: none;
  display: inline-block;
  position: relative;
}

.side_menu > li.menu-item > a.active,
.side_menu > li.menu-item.current-menu-item > a,
.side_menu > li.menu-item.current_page_item > a {
  border-radius: 40px;
  border: 1px solid #a3b199;
  background: #0b0d0a;
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.67) inset;
  padding: 0.45rem 1.25rem;
}

/* Side menu: last link matches other items (no sage CTA pill like desktop header bar) */
.side_menu > li.menu-item:last-child > a {
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  border: none;
  padding: 0;
  color: #a3b199;
  text-decoration: underline;
  text-decoration-color: var(--Piggelin-Light);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.28em;
}

.side_menu > li.menu-item:last-child > a.active,
.side_menu > li.menu-item:last-child.current-menu-item > a,
.side_menu > li.menu-item:last-child.current_page_item > a {
  border-radius: 40px;
  border: 1px solid #a3b199;
  background: #0b0d0a;
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.67) inset;
  padding: 0.45rem 1.25rem;
  color: #a3b199;
  text-decoration: underline;
  text-decoration-color: var(--Piggelin-Light);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.22em;
}

/* Style and position the SVG toggle icon */
.side_menu .menu-item-has-children .dropdown-toggle {
  display: inline-block;
  width: 12px;
  height: 7px;
  cursor: pointer;
  margin-left: 10px;
  transform: translateY(-5px);
  transition: transform 200ms ease-in-out;
}

.side_menu .menu-item-has-children .dropdown-toggle svg {
  margin-bottom: 0px;
  transition: transform 250ms ease-in-out;
}

.side_menu .menu-item-has-children .dropdown-toggle svg path {
  stroke: #a3b199;
}

/* Rotate the icon when submenu is open */
.side_menu .menu-item-has-children.open .dropdown-toggle svg {
  transform: rotate(180deg) translateY(0px);
}

.side_menu .menu-item-has-children .sub-menu {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 0;
  transition: all 250ms ease-in-out;
}

/* Show submenu when parent has 'open' class */
.side_menu .menu-item-has-children.open .sub-menu {
  max-height: 300px; /* Adjust to content */
  margin-top: 20px;
}

.sideMenuMenu .sub-menu li a {
  color: #a3b199;
  font-family: "Raleway", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  text-decoration: none;
}

footer {
  font-family: "WixMadeforText", "Raleway", sans-serif;
  background-color: transparent;
  width: 96%;
  margin-inline: auto;
  position: relative;
}

.footerCol{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 1rem;
}

.footer .footerCol--links {
  justify-self: start;
  text-align: left;
  width: 100%;
}

.footer .footerCol--newsletter {
  width: 100%;
  min-width: 0;
  align-items: stretch;
}

.footer .footerCol--newsletter .footerCol__title {
  width: 40%;
  max-width: 100%;
  box-sizing: border-box;
}

.footer .footerCol--newsletter .footerNewsletter {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.footer .footerLinksList {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}

.footer .footerLinksList li {
  margin: 0;
  padding: 0;
}

.footer .footerLinksList a {
  color: #2d302c;
  font-family: "WixMadeforText", "Raleway", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 300;
  line-height: 1.35;
  text-decoration-line: underline;
}

.footer .footerContactBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  box-sizing: border-box;
  cursor: pointer;
  background-color: #222;
  color: #fff;
  font-family: "WixMadeforText", "Raleway", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.9rem 1.85rem;
  border-radius: 999px;
  border: none;
  box-shadow: 0 5px 18px rgba(0, 0, 0, 0.28);
  text-decoration: none;
}

.footer .footerContactBtn:hover {
  background-color: #2e2e2e;
  color: #fff;
  text-decoration: none;
}

.footer .footerContactBtn:focus-visible {
  outline: 2px solid rgba(34, 34, 34, 0.35);
  outline-offset: 2px;
}

.footer .footerCol--contact .footerCol__intro a:hover {
  color: var(--Vit);
  text-decoration: underline;
}

.footer .footerCol--contact .footerCol__intro {
  font-family: "WixMadeforText", "Raleway", sans-serif;
  font-size: 18px;
  color: #2D2F2A;
  font-style: normal;
  font-weight: 300;
  line-height: 1.5;
  margin: 0;
}

.footerContent {
  width: 100%;
  margin: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2.25fr) minmax(0, 1fr);
  align-items: start;
  column-gap: clamp(2rem, 5vw, 120px);
  row-gap: 43px;
  padding: 5% 10%;
  background-color: #A3B199;
  border-radius: 20px;
  box-sizing: border-box;
}

/* Certification / ISO row — below columns, Figma gap 20px, slot 185×125, artwork ~169×65 */
.footerBadges {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: flex-start;
}

.footerBadge {
  flex: 0 0 auto;
  width: 185px;
  height: 125px;
  overflow: hidden;
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.footerBadge__inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 169px;
  height: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footerBadge__link {
  text-decoration: none;
  color: inherit;
}

.footerBadge__link:hover .footerBadge__img,
.footerBadge__link:focus-visible .footerBadge__img {
  opacity: 0.85;
}

.footerBadge__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.2s ease;
}

.footerCol__title{
  color: #2C2F2A;
font-family: "WixMadeforText", "Raleway", sans-serif;
font-size: 36px;
font-style: normal;
font-weight: 400;
line-height: 1.15;
margin: 0;
}

footer .footer_menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-flow: wrap row;
  row-gap: 10px;
  width: 100%;
}

footer .footer_menu a {
  color: var(--Vit);
  font-family: "WixMadeforText", "Raleway", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  text-decoration: none;
  padding-right: 10px;
}

footer .footer_menu a:hover {
  color: var(--Vit);
  text-decoration: underline;
}

footer .office {
  margin-bottom: 30px;
}

footer .office p a {
  color: var(--Vit);
  font-family: "WixMadeforText", "Raleway", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  column-gap: 10px;
}

footer .office p {
  color: var(--Vit);
  font-family: "WixMadeforText", "Raleway", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  max-width: 320px;
}

footer .newsletter_header {
  color: var(--Vit);
  font-family: "WixMadeforText", "Raleway", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  margin-bottom: 20px;
}

/* Footer newsletter (Emarketeer): email 80% width; submit flush right */
.footer .footerNewsletter form {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.84rem;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
}

.footer .footerNewsletter__inputGroup {
  width: 80%;
  max-width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.84rem;
}

.footer .footerNewsletter__inputGroup input[type="email"] {
  width: 100%;
  box-sizing: border-box;
  background-color: #fff;
  color: #000;
  font-family: "WixMadeforText", "Raleway", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  padding: 0.9rem 1.6rem;
  border-radius: 999px;
  border: none;
  box-shadow:
    inset 2px 3px 5px rgba(0, 0, 0, 0.07),
    inset -1px -1px 2px rgba(255, 255, 255, 0.85),
    0 3px 10px rgba(0, 0, 0, 0.1);
}

.footer .footerNewsletter__inputGroup input[type="email"]:focus {
  outline: 2px solid rgba(34, 34, 34, 0.18);
  outline-offset: 2px;
}

.footer .footerNewsletter__inputGroup button.submit {
  margin: 0;
  margin-left: auto;
  cursor: pointer;
  background-color: #222;
  color: #fff;
  font-family: "WixMadeforText", "Raleway", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.9rem 1.85rem;
  border-radius: 999px;
  border: none;
  box-shadow: 0 5px 18px rgba(0, 0, 0, 0.28);
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
}

.footer .footerNewsletter__inputGroup button.submit:hover {
  background-color: #2e2e2e;
}

.footer .footerNewsletter,
.footer .footerNewsletter label {
  color: #2c2f2a;
}

.footer .footerNewsletter ::placeholder {
  color: #9aa0a6;
}

.footer .footerNewsletter .fuh {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

footer hr {
  color: var(--Skog);
  background-color: var(--Skog);
  height: 1px;
}

footer .footerFooter {
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 95%;
  max-width: 1280px;
}

footer .footerFooter .footerFooterLeft {
  display: inline-flex;
  align-items: center;
  justify-content: start;
}

footer .footerFooter p {
  color: var(--Vit);
  font-family: "WixMadeforText", "Raleway", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}

footer .footerFooter a {
  color: var(--Vit);
  font-family: "WixMadeforText", "Raleway", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  text-decoration: none;
}

footer .footerFooter a:hover {
  color: var(--Vit);
  text-decoration: underline;
}

footer .footerFooter .footerFooterRight {
  display: inline-flex;
  align-items: center;
  justify-content: end;
}

/* 1270px+: keep 3-column row, slightly tighter type and padding than default */
@media (min-width: 1270px) {
  .footerContent {
    padding: clamp(2rem, 3vw, 3.5rem) clamp(4%, 5vw, 8%);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.85fr) minmax(0, 1fr);
    column-gap: clamp(2rem, 5vw, 120px);
    row-gap: 43px;
  }

  .footerCol__title {
    font-size: clamp(1.25rem, 1.1vw + 0.85rem, 1.75rem);
    line-height: 1.2;
  }

  .footer .footerCol {
    gap: 0.85rem;
    height: 100%;
  }

  .footer .footerLinksList a {
    font-size: 15px;
  }

  .footer .footerCol--contact .footerCol__intro {
    font-size: 16px;
    line-height: 1.45;
  }

  .footer .footerContactBtn {
    font-size: 14px;
    padding: 0.65rem 1.45rem;
    margin-top: auto;
  }

  .footer .footerNewsletter__inputGroup input[type="email"] {
    font-size: 15px;
    padding: 0.75rem 1.35rem;
  }

  .footer .footerNewsletter__inputGroup button.submit {
    font-size: 14px;
    padding: 0.75rem 1.45rem;
  }

  footer .footerFooter p,
  footer .footerFooter a {
    font-size: 15px;
  }
}

@media (min-width: 910px) {
  /* Drawer only when hamburger is hidden (matches max-width: 909px header rules) */
  .sideMenu,
  .sideMenuContent {
    transform: translateX(100%) !important;
    pointer-events: none;
  }
}

@media (max-width: 909px) {
  .headerMiddle {
    display: none;
  }

  .headerRight {
    margin-left: auto;
  }

  .headerCta--desktop {
    display: none;
  }

  .headerCta--drawer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.65rem;
  }

  .sideMenuContent .headerCta.headerCta--drawer {
    margin-left: clamp(1rem, 4vw, 65px);
    margin-top: 1rem;
    max-width: calc(100% - clamp(1rem, 4vw, 65px) - 1rem);
  }

  .hamburgerMenu {
    display: flex;
  }

  .sideMenu:not(.active),
  .sideMenuContent:not(.active) {
    pointer-events: none;
  }

  .sideMenu.active,
  .sideMenuContent.active {
    pointer-events: auto;
  }

  /* Same 500px drawer as desktop; cap to viewport on very narrow phones */
  .sideMenu {
    width: min(500px, 100vw);
    max-width: 100%;
    height: 100vh;
    box-sizing: border-box;
    transition: transform 700ms ease-in-out;
  }

  .sideMenuContent {
    width: min(500px, 100vw);
    max-width: 100%;
    height: 85vh;
    max-height: 790px;
    overflow-y: scroll;
    box-sizing: border-box;
    background-color: var(--page-bg);
    background-image: var(--page-bg-gradient);
    background-attachment: fixed;
    color: #a3b199;
    right: 0;
    left: auto;
    border-radius: 0;
    border: none;
    box-shadow: none;
    padding: 0;
    transition: transform 700ms ease-in-out;
  }

  .side_menu li.menu-item {
    display: inline-block;
  }

  .sideMenuContent__topBar {
    padding-left: clamp(1rem, 4vw, 65px);
    padding-right: clamp(1rem, 4vw, 1.25rem);
  }

  ul.side_menu {
    margin-top: 1.25rem;
    margin-left: clamp(1rem, 4vw, 65px);
    margin-right: 0;
    width: auto;
  }
}

@media (max-width: 1300px) {
  .header {
    min-height: 100px;
  }

  .header_logo img {
    max-height: 36px;
    max-width: min(180px, 50vw);
  }
}

/* Narrow desktop (~1280px): slightly larger logo than the compact ≤1300px default */
@media (max-width: 1300px) and (min-width: 1100px) {
  .header_logo img {
    max-height: 44px;
    max-width: min(220px, 48vw);
  }
}

@media (max-width: 1269px) {
  .footerContent {
    grid-template-columns: 1fr;
    row-gap: clamp(2rem, 5vw, 2.75rem);
  }

  .footerBadges {
    gap: clamp(12px, 3vw, 20px);
    padding-top: clamp(0.25rem, 2vw, 0.5rem);
  }

  .footerBadge {
    width: min(185px, calc(33.333vw - 1rem));
    max-width: 185px;
    height: 112px;
  }

  .footerBadge__inner {
    width: min(169px, 90%);
    height: 60px;
  }

  .footerLeft {
    margin-bottom: 30px;
  }

  .footer .footerCol + .footerCol {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(44, 47, 42, 0.14);
  }

  .footer .footerCol__title {
    font-size: clamp(1.5rem, 4.2vw, 2.25rem);
  }

  .footer .footerCol--newsletter .footerCol__title {
    width: 100%;
    max-width: 100%;
  }

  .footer .footerNewsletter form {
    align-items: stretch;
    width: 100%;
  }

  .footer .footerNewsletter__inputGroup {
    width: 100%;
    max-width: 100%;
  }

  .footer .footerNewsletter__inputGroup button.submit {
    margin-left: 0;
    margin-right: auto;
    align-self: flex-start;
  }

  footer .footerFooter {
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    text-align: center;
    padding-top: clamp(1.25rem, 4vw, 1.5rem);
    padding-bottom: clamp(1.5rem, 5vw, 2rem);
    width: min(100%, 1280px);
    padding-inline: clamp(1rem, 4vw, 1.5rem);
    box-sizing: border-box;
  }

  footer .footerFooter .footerFooterLeft,
  footer .footerFooter .footerFooterRight {
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 0.35rem;
  }

  footer .footerFooter a,
  footer .footerFooter p {
    font-size: 12px;
  }
}

@media (max-width: 600px) {
  footer {
    width: 100%;
    padding-inline: clamp(0.5rem, 3vw, 1rem);
    box-sizing: border-box;
  }

  .footerContent {
    border-radius: clamp(12px, 3vw, 20px);
    padding: clamp(1.5rem, 5vw, 2rem) clamp(1rem, 4vw, 1.25rem);
  }

  .footer .footerCol + .footerCol {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
  }

  .footer .footerLinksList a {
    font-size: 16px;
  }

  .footer .footerCol--contact .footerCol__intro {
    font-size: 16px;
  }

  .footer .footerContactBtn {
    width: 100%;
    max-width: 100%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .footer .footerNewsletter__inputGroup button.submit {
    width: 100%;
    max-width: 100%;
  }

  .footer .footerNewsletter__inputGroup input[type="email"] {
    font-size: 15px;
    padding: 0.85rem 1.25rem;
  }
}


textarea:focus,
input:focus {
  outline: none;
}
