:root {
  /* Foundation: font families, font weights, radii, spacing, and shared sizes */
  --font-family-body: "Inter", sans-serif;
  --font-family-display: "Instrument Sans", sans-serif;
  --font-family-locale-ja: "Noto Sans JP", sans-serif;

  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;

  --radius-lg: 1rem;
  --radius-md: .75rem;
  --radius-none: 0rem;
  --radius-pill: 999rem;
  --radius-sm: .5rem;
  --radius-xl: 2.5rem;
  --radius-xs: .25rem;

  --space-0: 0rem;
  --space-10: 8rem;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;

  --size-full-height: 100%;
  --size-full-width: 100%;
  --tap-target-min-size: 3rem;

  /* Typography: font sizes, line heights, and tracking */
  --font-size-body: 1rem;
  --font-size-display-lg: 4rem;
  --font-size-display-xl: 5.25rem;
  --font-size-heading-1: 3rem;
  --font-size-heading-2: 2.5rem;
  --font-size-heading-3: 2rem;
  --font-size-heading-4: 1.375rem;
  --font-size-xs: .875rem;

  --letter-spacing-body: 0em;
  --letter-spacing-display-lg: -.025em;
  --letter-spacing-display-xl: -.03em;
  --letter-spacing-heading-1: -.02em;
  --letter-spacing-heading-2: -.015em;
  --letter-spacing-heading-3: -.01em;
  --letter-spacing-heading-4: 0em;
  --letter-spacing-xs: 0em;
  --letter-spacing-xxs: .02em;

  --line-height-body: 1.6;
  --line-height-display-lg: 1.05;
  --line-height-display-xl: 1;
  --line-height-heading-1: 1.1;
  --line-height-heading-2: 1.15;
  --line-height-heading-3: 1.2;
  --line-height-heading-4: 1.3;
  --line-height-xs: 1.6;
  --line-height-xxs: 1.2;

  /* Semantic color and elevation */
  --color-text: #010101;
  --color-text-muted: #4a4a4a;

  --color-border: #c8c8c8;
  --color-border-subtle: #e9e9e9;

  --color-brand-hover: #255081;
  --color-brand-active: #4f75a0;
  --color-brand: #002957;

  --color-link: #1d66b9;
  --color-link-inverse: #4587d3;

  --shadow-color-soft: rgba(0, 0, 0, 0.08);
  --shadow-color-strong: #14142b1a;

  --color-overlay: #0000004d;
  --color-transparent: transparent;

  --color-white: white;
  --color-surface-canvas: #f5f5f5;
  --color-surface-muted: #eaeaea;

  /* Layout */
  --container-max-width: 80rem;

  --page-padding-inline: var(--space-6);
  --section-padding-block: var(--space-8);

  --grid-gap: var(--space-6);

  /* Component defaults */
  --button-padding-inline: var(--space-5);
  --button-padding-block: var(--space-3);

  --card-padding: var(--space-5);
}
.w-richtext p, .w-richtext ul, .w-richtext ol {
  color: var(--color-text-muted);
}
.w-richtext ul {
  margin-top: var(--space-0);
  margin-bottom: 10px;
  padding-left: 40px;
}
.w-richtext > :is(h1, p, ul, ol) + h2 {
  margin-top: var(--space-7);
}
.w-layout-vflex {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}
.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}
.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}
.w-layout-layout {
  grid-row-gap: 20px;
  grid-column-gap: 20px;
  grid-auto-columns: 1fr;
  justify-content: center;
  padding: 20px;
}
.w-layout-cell {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}
@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}
@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}
body {
  background-color: var(--color-surface-canvas);
  font-family: var(--font-family-body);
  color: var(--color-text);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  font-weight: var(--font-weight-regular);
}
html:lang(ja) body, html:lang(ja) h1, html:lang(ja) h2, html:lang(ja) h3, html:lang(ja) h4, html:lang(ja) h5, html:lang(ja) h6 {
  font-family: var(--font-family-locale-ja);
}
html:lang(ja) body {
  font-weight: var(--font-weight-regular);
}
html:lang(ja) .display-lg:not(.banner), html:lang(ja) .h1 html:lang(ja) .h2 {
  font-weight: var(--font-weight-regular);
}
html:lang(ja) .hero-section.overlay-dark .display-lg.banner {
  font-weight: var(--font-weight-regular);
}
.main-wrapper {
  width: var(--size-full-width);
  margin-bottom: var(--section-padding-block);
  flex-flow: column;
  flex: 1;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}
.navbar-logo {
  width: auto;
  height: 2rem;
}
.navbar {
  box-sizing: border-box;
  z-index: 5;
  width: var(--size-full-width);
  max-width: var(--size-full-width);
  font-family: var(--font-family-display);
  background-color: #0000;
  margin-left: auto;
  margin-right: auto;
  padding: 15px 20px;
}
html:lang(ja) .navbar {
  font-family: var(--font-family-locale-ja);
  font-weight: var(--font-weight-regular);
}
.navbar.shadow-three {
  padding: var(--space-3) var(--space-5);
}
.navbar-wrapper, .nav-menu-wrapper {
  justify-content: space-between;
  align-items: center;
  display: flex;
}
.navbar-wrapper {
  width: var(--size-full-width);
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  display: grid;
}
.navbar-wrapper > .linked-nav-logo {
  grid-column: 1;
  justify-self: start;
}
.navbar-wrapper > .nav-menu-wrapper {
  grid-column: 2;
  justify-self: center;
  float: none;
}
.navbar-wrapper > .nav-right {
  min-width: 0;
  grid-column: 3;
  justify-self: end;
  align-items: center;
  display: flex;
}
.linked-nav-logo {
  margin-right: var(--space-2);
  color: var(--color-link);
  text-decoration: none;
}
.linked-nav-logo:hover {
  color: var(--color-link-inverse);
}
.horiz-nav-menu {
  min-height: var(--tap-target-min-size);
  margin-top: var(--space-0);
  margin-bottom: var(--space-0);
  padding-left: var(--space-0);
  background-color: var(--color-white);
  color: var(--color-text-muted);
  justify-content: space-between;
  align-items: center;
  display: flex;
}
.nav-link {
  height: var(--tap-target-min-size);
  padding-right: var(--space-2);
  padding-left: var(--space-2);
  grid-column-gap: 4px;
  grid-row-gap: 4px;
  color: var(--color-text-muted);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-body);
  letter-spacing: var(--letter-spacing-body);
  vertical-align: baseline;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: flex;
}
.nav-link:hover {
  color: var(--color-brand-hover);
}
.nav-link:active {
  color: var(--color-brand-active);
}
.nav-link:focus {
  color: var(--color-brand-hover);
}
.button-primary {
  width: auto;
  min-height: var(--tap-target-min-size);
  padding: var(--button-padding-block) var(--button-padding-inline);
  border-radius: var(--radius-pill);
  background-color: var(--color-brand);
  color: var(--color-white);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-xs);
  letter-spacing: 2px;
  text-transform: uppercase;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  transition: all .2s;
  display: inline-flex;
}
.button-primary:where(.w-variant-fcb97c6f-219d-3318-ccd5-ef3516a8504d) {
  border: 1px solid var(--color-brand);
  background-color: var(--color-surface-canvas);
  font-family: var(--font-family-body);
  color: var(--color-brand);
  text-transform: none;
}
.button-primary:where(.w-variant-9f4e8c27-5b86-86be-f241-d06a0af72488) {
  width: var(--size-full-width);
  padding-top: var(--space-4);
  padding-bottom: var(--space-4);
}
.button-primary:hover {
  background-color: var(--color-brand-hover);
  color: #fff;
  letter-spacing: 3px;
}
.button-primary:active {
  background-color: var(--color-brand-active);
}
.header {
  z-index: 999;
  width: var(--size-full-width);
  border-bottom: 1px solid var(--shadow-color-soft);
  background-color: var(--color-white);
  flex-flow: row;
  justify-content: space-between;
  align-items: flex-start;
  height: auto;
  display: flex;
  position: sticky;
  top: 0;
  box-shadow: 0 2px 10px #0000001f;
}
/* @media screen and (min-width: 992px) and (max-width: 1150px) {
  .navbar.shadow-three {
    padding-right: var(--space-4);
    padding-left: var(--space-4);
  }
  .nav-link {
    padding-right: var(--space-1);
    padding-left: var(--space-1);
  }
} */
.hero-section {
  width: 98%;
  height: 80vh;
  padding-right: var(--section-padding-block);
  padding-left: var(--section-padding-block);
  aspect-ratio: auto;
  border-bottom-left-radius: var(--radius-xl);
  border-bottom-right-radius: var(--radius-xl);
  color: var(--color-white);
  flex-flow: column;
  flex: 0 auto;
  justify-content: center;
  align-items: flex-start;
  margin-left: 1%;
  margin-right: 1%;
  display: flex;
  position: relative;
  overflow: hidden;
}
.hero-section.small {
  height: auto;
  min-height: 40vh;
  padding-top: var(--space-6);
  padding-bottom: var(--space-7);
  border-bottom-left-radius: var(--radius-md);
  border-bottom-right-radius: var(--radius-md);
}
.hero-section.medium:where(.w-variant-2811ceda-65e0-7f4e-8038-b25febe7c0b4) {
  height: 50vh;
}
.hero-video {
  width: var(--size-full-width);
  height: var(--size-full-height);
  position: absolute;
  inset: 0%;
}
.overlay {
  z-index: 1;
  background-color: var(--color-overlay);
  position: absolute;
  inset: 0%;
}
.overlay:where(.w-variant-2811ceda-65e0-7f4e-8038-b25febe7c0b4) {
  background-color: #00000080;
}
.hero-container {
  z-index: 2;
  width: var(--size-full-width);
  max-width: none;
  margin-right: var(--space-0);
  margin-left: var(--space-0);
  text-shadow: 0 5px 5px #0003;
}
.display-lg {
  margin-top: var(--space-2);
  margin-bottom: var(--space-4);
  font-family: var(--font-family-display);
  font-size: var(--font-size-display-xl);
  line-height: var(--line-height-display-lg);
  font-weight: var(--font-weight-medium);
}
.display-lg.banner,
.display-lg.banner:where(.w-variant-2811ceda-65e0-7f4e-8038-b25febe7c0b4) {
  text-shadow: 0 5px 5px #0003;
}
.hero-txt {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  text-align: right;
  justify-content: flex-end;
  align-items: center;
  display: flex;
}
.hero-left {
  margin-left: 0;
}
.hero-right {
  bottom: var(--space-4);
  max-width: 25%;
  margin-bottom: 10%;
  margin-left: auto;
  margin-right: 0;
}
.section {
  width: var(--size-full-width);
  padding: var(--section-padding-block);
  grid-column-gap: var(--section-padding-block);
  grid-row-gap: var(--section-padding-block);
  background-color: var(--color-transparent);
  flex-flow: column;
  display: flex;
  position: relative;
}
/* @media screen and (min-width: 992px) {
  .section {
    row-gap: var(--space-7);
  }
} */
.careers-content {
  align-items: center;
}
.careers-content .section-container,
.careers-content .flex-container-y {
  width: min(100%, var(--container-max-width));
  max-width: var(--container-max-width);
  margin-right: auto;
  margin-left: auto;
}
.section-container {
  width: var(--size-full-width);
  max-width: var(--container-max-width);
  flex-flow: wrap;
  justify-content: space-between;
  align-items: center;
  display: flex;
}
.section-col-content {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 55%;
  display: flex;
}
.section-col-img {
  border-radius: var(--radius-md);
  overflow: clip;
}
.sm-txt {
  margin-top: var(--space-2);
  margin-bottom: var(--space-2);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
}
.sm-txt.centered, .h2.centered {
  text-align: center;
}
.body-txt.centered.text-muted.padding-bottom {
  padding-bottom: var(--space-3);
}
.sm-txt.gray {
  color: var(--color-text-muted);
}
.sm-txt.gray.card {
  width: var(--size-full-width);
  margin-bottom: var(--space-0);
}
.section-col-aside {
  flex-flow: column;
  max-width: 40%;
  display: flex;
}
.h1 .h2 {
  margin-top: var(--space-2);
  margin-bottom: var(--space-4);
  font-family: var(--font-family-display);
  color: var(--color-text);
  font-size: var(--font-size-heading-1);
  line-height: var(--line-height-heading-1);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--letter-spacing-heading-1);
}
.h1.product-title {
  color: var(--color-brand);
  font-weight: var(--font-weight-medium);
}
.products-section {
  box-sizing: border-box;
  width: 100%;
  padding: var(--space-7) var(--section-padding-block) var(--space-6);
  border-style: none;
  border-color: var(--color-transparent);
  background-color: var(--color-transparent);
  justify-content: center;
  align-items: flex-start;
  display: flex;
  position: relative;
}
.flex-container-y {
  width: var(--container-max-width);
  max-width: var(--container-max-width);
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}
.products-section .flex-container-y {
  width: min(100%, var(--container-max-width));
  min-width: 0;
}
.prod-card {
  z-index: 990;
  height: var(--size-full-height);
  width: 100%;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  background-color: var(--color-white);
  box-shadow: 0 2px 5px 1px var(--shadow-color-soft);
  flex-flow: column;
  display: flex;
  position: relative;
}
.card-img {
  margin-bottom: var(--space-1);
  aspect-ratio: 1;
  border-radius: var(--radius-sm);
  object-fit: contain;
}
.card-info {
  width: var(--size-full-width);
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}
.prod-card-name {
  width: var(--size-full-width);
  margin-top: var(--space-2);
  margin-bottom: var(--space-0);
  font-family: var(--font-family-display);
  color: var(--color-brand);
  font-size: var(--font-size-heading-4);
  line-height: var(--line-height-heading-4);
  font-weight: var(--font-weight-medium);
}
.prod-card .sm-txt, .prod-card-name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.image-divider {
  width: var(--size-full-width);
  grid-column-gap: 0px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1.5fr 2.25fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: flex-start;
  height: 24rem;
  display: grid;
  overflow: hidden;
}
.image {
  object-fit: cover;
}
.background-video {
  width: 100%;
  height: 25rem;
}
.left-img-wrap {
  height: 100%;
  padding-bottom: 0;
  padding-right: 0;
  display: flex;
}
.horiz-nav-item {
  height: var(--tap-target-min-size);
  justify-content: center;
  align-items: center;
  list-style-type: none;
  display: flex;
}
.horiz-nav-item:focus {
  text-decoration: none;
  -webkit-text-decoration-color: var(--color-link);
  text-decoration-color: var(--color-link);
}
.flex-y {
  width: var(--size-full-width);
  flex-flow: column;
  gap: var(--space-2);
  align-items: center;
  display: flex;
}
.prod-page-grid {
  width: var(--size-full-width);
  max-width: var(--container-max-width);
  padding: var(--space-7);
  grid-column-gap: var(--grid-gap);
  grid-row-gap: var(--grid-gap);
  grid-template-rows: auto;
  grid-template-columns: .75fr 1fr;
}
.prod-image {
  width: var(--size-full-width);
  aspect-ratio: 1;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  background-color: var(--color-white);
  object-fit: contain;
}
.product-full-name {
  margin-top: var(--space-1);
  margin-bottom: var(--space-0);
  font-family: var(--font-family-display);
  color: var(--color-text-muted);
  font-size: var(--font-size-heading-4);
  line-height: var(--line-height-heading-4);
  font-weight: var(--font-weight-regular);
}
.divider {
  width: var(--size-full-width);
  height: 1px;
  margin-top: var(--space-5);
  background-color: var(--color-border);
}
.product-info {
  width: var(--size-full-width);
  padding: var(--space-5) var(--space-7) var(--space-7);
  flex-flow: column;
  display: flex;
}
.related-products > .product-info {
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  background-color: var(--color-white);
}
.prod-details {
  color: var(--color-text-muted);
}
.product-h2 {
  margin-top: var(--space-5);
  margin-bottom: var(--space-5);
  font-family: var(--font-family-display);
  color: var(--color-brand);
  font-size: var(--font-size-heading-4);
  line-height: var(--line-height-heading-4);
  font-weight: var(--font-weight-medium);
}
.related-products {
  box-sizing: border-box;
  width: var(--size-full-width);
  max-width: var(--container-max-width);
  padding-right: var(--space-7);
  padding-left: var(--space-7);
}
.related-products > .product-info {
  box-sizing: border-box;
  min-width: 0;
}
.link-card {
  height: var(--size-full-height);
  padding: var(--card-padding) var(--card-padding) var(--space-6);
  grid-column-gap: var(--space-1);
  grid-row-gap: var(--space-1);
  border-radius: var(--radius-sm);
  color: var(--color-link);
  text-decoration: none;
  -webkit-text-decoration-color: var(--color-text);
  text-decoration-color: var(--color-text);
  flex-flow: column;
}
.link-card:hover {
  color: var(--color-link-inverse);
}
.container {
  width: var(--size-full-width);
  max-width: var(--container-max-width);
  margin-right: var(--space-0);
  margin-left: var(--space-0);
  padding: var(--space-7);
}
.image-2 {
  width: var(--size-full-width);
  height: var(--size-full-height);
  object-fit: cover;
  position: absolute;
  inset: auto 0% 0%;
}
.h2 {
  margin-top: var(--space-0);
  margin-bottom: var(--space-4);
  font-family: var(--font-family-display);
  font-size: var(--font-size-heading-2);
  line-height: var(--line-height-heading-2);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--letter-spacing-heading-2);
  text-transform: none;
  text-decoration: none;
  -webkit-text-decoration-color: var(--color-text);
  text-decoration-color: var(--color-text);
}
.body-txt {
  margin-bottom: var(--space-3);
}
.text-muted {
  color: var(--color-text-muted);
}
.grid {
  width: var(--size-full-width);
}
.cell {
  justify-content: center;
  align-items: flex-start;
}
.flag-icon {
  border: 1px solid var(--color-text-muted);
  border-radius: 2px;
  max-width: 24px;
}
.locale {
  grid-column-gap: var(--space-1);
  grid-row-gap: var(--space-1);
  align-items: center;
  display: flex;
}
.locale.nav-link {
  grid-column-gap: var(--space-0);
  grid-row-gap: var(--space-0);
}
.language-menu {
  position: relative;
}
.language-menu-trigger {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: inherit;
  line-height: inherit;
  font-family: inherit;
  padding: 0 var(--space-2);
}
.language-menu-chevron {
  width: 1rem;
  height: 1rem;
  flex: none;
  transition: transform 0.2s ease;
}
.language-menu-trigger[aria-expanded="true"] .language-menu-chevron {
  transform: rotate(180deg);
}
html:lang(ja) .language-menu-trigger {
  transform: translateY(1px);
  gap: 1px;
}
html:lang(ja) .language-menu-icon {
  transform: translateY(1px);
}
.language-menu-options {
  z-index: 1000;
  padding: var(--space-1);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  background-color: var(--color-white);
  box-shadow: 0 4px 12px var(--shadow-color-soft);
  position: absolute;
  top: calc(100% + var(--space-1));
  right: 0;
}
.language-menu-option {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  min-height: var(--tap-target-min-size);
  padding: var(--space-2) var(--space-3);
  grid-column-gap: var(--space-2);
  color: var(--color-text-muted);
  align-items: center;
  text-decoration: none;
  white-space: nowrap;
  display: flex;
}
.language-menu-option:hover, .language-menu-option:focus-visible {
  color: var(--color-brand-hover);
  background-color: var(--color-surface-muted);
  border-radius: var(--radius-sm)
}
.language-menu-option.is-selected {
  color: var(--color-brand);
  font-weight: var(--font-weight-semibold);
}
.nav-right-language-link {
  display: none;
}
/*
 * Breakpoints: default desktop is 992px and up; wide is 1440px and up;
 * extra-wide is 1920px and up; tablet is 991px and below; mobile landscape
 * is 767px and below; mobile portrait is 479px and below. Keep media-query
 * values literal because CSS custom properties cannot be used in conditions.
 */
@media screen and (min-width: 1440px) {
  .container {
    width: var(--size-full-width);
    max-width: var(--container-max-width);
    padding-right: var(--space-5);
    padding-bottom: var(--space-6);
    padding-left: var(--space-5);
  }
}
@media screen and (min-width: 1920px) {
  body {
    --font-size-body: 1.15rem;
    --section-padding-block: var(--space-9);
    --card-padding: var(--space-6);
    --font-size-xs: 1rem;
    --font-size-display-xl: 5.5rem;
    --font-size-display-lg: 4.5rem;
    --page-padding-inline: var(--space-7);
    --container-max-width: 90rem;
    --font-size-heading-1: 3.5rem;
    --font-size-heading-4: 1.5rem;
    --font-size-heading-2: 3rem;
    --font-size-heading-3: 2.25rem;
  }
  .nav-link {
    font-size: var(--font-size-xs);
  }
  .section {
    align-items: center;
  }
  .tabs {
    padding-right: var(--space-0);
    padding-left: var(--space-0);
  }
}
@media screen and (max-width: 991px) {
  body {
    --section-padding-block: var(--space-7);
    --font-size-display-xl: 3rem;
    --line-height-display-lg: 1.1;
    --font-size-display-lg: 2.5rem;
    --line-height-display-xl: 1.05;
    --page-padding-inline: var(--space-5);
    --container-max-width: 64rem;
    --grid-gap: var(--space-5);
    --font-size-heading-1: 2rem;
    --line-height-heading-1: 1.15;
    --letter-spacing-heading-1: -.015em;
    --font-size-heading-4: 1.25rem;
    --line-height-heading-4: 1.35;
    --font-size-heading-2: 1.75rem;
    --line-height-heading-2: 1.2;
    --letter-spacing-heading-2: -.01em;
    --font-size-heading-3: 1.5rem;
    --letter-spacing-display-xl: -.02em;
    --letter-spacing-display-lg: -.02em;
    --line-height-heading-3: 1.25;
    --letter-spacing-heading-3: -.005em;
  }
  .navbar-wrapper {
    justify-content: space-between;
    display: flex;
  }
  .nav-menu-wrapper {
    background-color: var(--color-transparent);
    flex-flow: column;
    justify-content: flex-start;
    bottom: auto;
  }
  .horiz-nav-menu {
    z-index: 99;
    width: var(--size-full-width);
    padding: var(--card-padding);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    border: 1px solid var(--shadow-color-strong);
    border-bottom-left-radius: var(--radius-sm);
    border-bottom-right-radius: var(--radius-sm);
    background-color: var(--color-text);
    box-shadow: 0 8px 13px 0 var(--color-overlay);
    color: var(--color-white);
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    display: inline-flex;
  }
  .nav-right-language-menu {
    display: none;
  }
  .nav-right-language-link {
    display: flex;
  }
  .nav-link {
    color: var(--color-white);
    text-transform: uppercase;
    padding-left: 5px;
    padding-right: 5px;
  }
  .nav-link:hover {
    color: var(--color-brand-active);
    text-transform: uppercase;
  }
  .nav-right .language-menu-trigger,
  .nav-right .nav-right-language-link {
    padding-right: var(--space-2);
    padding-left: var(--space-2);
    color: var(--color-text-muted);
    text-transform: none;
  }
  .button-primary {
    text-transform: uppercase;
    text-overflow: clip;
    white-space: nowrap;
    text-decoration: none;
    overflow: hidden;
  }
  .menu-button {
    padding: var(--space-4);
    border-radius: var(--radius-pill);
    justify-content: center;
    align-items: center;
  }
  .menu-button.w--open {
    background-color: var(--color-transparent);
  }
  .nav-right {
    grid-column-gap: var(--space-2);
    grid-row-gap: var(--space-2);
    display: flex;
  }
  .hero-section.small {
    height: auto;
  }
  .hero-right {
    max-width: 35%;
  }
  .section {
    padding-right: var(--section-padding-block);
    padding-left: var(--section-padding-block);
  }
  .section-container {
    grid-column-gap: var(--space-5);
    grid-row-gap: var(--space-6);
    justify-content: center;
    align-items: center;
    /* margin-bottom: var(--space-4); */
  }
  .section-col-content {
    max-width: 100%;
  }
  .sm-txt.centered.gray, .h2.centered {
    width: var(--size-full-width);
  }
  .section-col-aside {
    max-width: 60%;
  }
  .flex-container-y {
    justify-content: flex-start;
    align-items: flex-start;
    max-width: 728px;
  }
  .prod-card {
    width: var(--size-full-width);
    justify-content: flex-start;
    align-items: center;
  }
  .prod-page-grid {
    padding-right: var(--page-padding-inline);
    padding-left: var(--page-padding-inline);
    grid-template-columns: 1fr 1fr;
  }
  .related-products {
    padding-right: var(--page-padding-inline);
    padding-left: var(--page-padding-inline);
  }
  .container {
    max-width: var(--container-max-width);
    padding-right: var(--page-padding-inline);
    padding-left: var(--page-padding-inline);
  }
  .icon-2 {
    color: var(--color-brand);
    font-size: 32px;
  }
}
@media screen and (max-width: 767px) {
  body {
    --section-padding-block: var(--space-6);
    --card-padding: var(--space-4);
    --font-size-display-xl: 2.5rem;
    --line-height-display-lg: 1.15;
    --font-size-display-lg: 2rem;
    --line-height-display-xl: 1.1;
    --page-padding-inline: var(--space-4);
    --container-max-width: 100%;
    --grid-gap: var(--space-4);
    --font-size-heading-1: 1.75rem;
    --line-height-heading-1: 1.2;
    --letter-spacing-heading-1: -.01em;
    --font-size-heading-4: 1.2rem;
    --line-height-heading-4: 1.4;
    --font-size-heading-2: 1.5rem;
    --line-height-heading-2: 1.25;
    --letter-spacing-heading-2: -.005em;
    --font-size-heading-3: 1.25rem;
    --letter-spacing-display-xl: -.015em;
    --letter-spacing-display-lg: -.015em;
    --line-height-heading-3: 1.3;
    --letter-spacing-heading-3: 0em;
  }
  .navbar {
    max-width: 100%;
  }
  .linked-nav-logo {
    padding-left: 0;
  }
  .horiz-nav-menu {
    flex-direction: column;
    padding-bottom: 30px;
  }
  .nav-link {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .hero-section {
    width: 96%;
    min-height: 35rem;
    margin-left: 2%;
    margin-right: 2%;
  }
  .hero-section.small {
    min-height: auto;
  }
  .hero-txt {
    font-size: var(--font-size-xs);
  }
  .section, .products-section {
    padding: var(--section-padding-block);
  }
  .prod-page-grid {
    grid-template-columns: 1fr;
    justify-content: center;
  }
}
@media screen and (max-width: 479px) {
  body {
    --section-padding-block: var(--space-5);
    --font-size-display-xl: 2.25rem;
    --font-size-display-lg: 1.75rem;
    --font-size-heading-2: 1.25rem;
    --font-size-heading-3: 1.125rem;
  }
  .linked-nav-logo {
    padding-left: var(--space-2);
  }
  .horiz-nav-menu {
    flex-direction: column;
  }
  .hero-section {
    aspect-ratio: 1;
    height: 70vh;
  }
  .hero-section.small {
    aspect-ratio: auto;
  }
  .display-lg {
    overflow-wrap: break-word;
  }
  .display-lg.banner {
    font-size: var(--font-size-display-lg);
  }
  .display-lg.banner:where(.w-variant-2811ceda-65e0-7f4e-8038-b25febe7c0b4) {
    font-size: var(--font-size-display-xl);
    line-height: var(--line-height-display-xl);
  }
  .hero-right {
    min-width: 70%;
  }
  .section-container {
    max-width: none;
  }
  .section-col-aside {
    max-width: 100%;
  }
  .card-img {
    margin-bottom: var(--space-0);
  }
  .prod-page-grid {
    grid-template-columns: 1fr;
  }
  .related-products > .product-h2 {
    width: var(--size-full-width);
    text-align: center;
  }
  .divider {
    width: var(--size-full-width);
  }
  .product-info {
    padding-right: var(--space-5);
    padding-left: var(--space-5);
    justify-content: flex-start;
    align-items: center;
  }
  .prod-details {
    padding-bottom: var(--space-2);
  }
  .grid {
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 1fr;
  }
}
#w-node-d9cb0135-f8d1-edb1-9f0e-0e29f9fa28b4-19513961, #w-node-_75165c98-ada8-0bdd-e89b-0d3719513970-19513961 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}
#w-node-ed8aeece-19e9-f9d2-f44e-ae908c26e965-c6e82c52 {
  grid-template-rows: auto auto auto auto auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
#w-node-ed8aeece-19e9-f9d2-f44e-ae908c26e967-c6e82c52 {
  grid-column: span 2 / span 2;
}
#w-node-_81a52660-b863-ed82-7772-66e05e69271f-c6e82c52 {
  grid-column: span 3 / span 3;
}
#w-node-_0d7fd0da-9cf6-8f9c-7377-6ccc164acd40-c6e82c52 {
  grid-column: span 2 / span 2;
}
#w-node-_68c9e159-a087-e76c-612a-19ab051def5b-c6e82c52 {
  grid-column: span 3 / span 3;
}
#w-node-_9e8e9f84-7fcf-9018-ea60-d76353771d24-c6e82c52 {
  grid-column: span 2 / span 2;
}
#w-node-_3efa917e-8f88-924d-62e8-15b67db2a72c-c6e82c52 {
  grid-column: span 3 / span 3;
}
#w-node-_771679ae-03cb-15d7-9d70-12c1517ecf9b-c6e82c52 {
  grid-column: span 2 / span 2;
}
#w-node-d1d1a0a0-5954-6acd-163d-6b5966b3a8ff-c6e82c52 {
  grid-column: span 3 / span 3;
}
#w-node-d349a8d1-7412-8939-c252-9dd7de99f77a-c6e82c52 {
  grid-column: span 2 / span 2;
}
#w-node-d9924009-17c7-9504-7980-1e865eb53c2a-c6e82c52 {
  grid-column: span 3 / span 3;
}
#w-node-_81e6db74-40f1-9991-196e-8edc29db6ad5-29db6acf, #w-node-_81e6db74-40f1-9991-196e-8edc29db6ae6-29db6acf {
  grid-area: span 1 / span 1 / span 1 / span 1;
}
