/* Locked Project North symbols. */
.product-nav a {
  gap: 10px;
}

.product-nav svg {
  width: 8px;
  height: 11px;
  overflow: visible;
  fill: none;
  stroke: #56595b;
  stroke-width: 1.25;
  transition: fill .25s ease, stroke .25s ease, filter .25s ease;
}

.product-nav a.is-active svg {
  fill: var(--red);
  stroke: var(--red);
  filter: drop-shadow(0 0 7px rgba(223, 36, 54, .65));
}

.commercial-link {
  gap: 22px;
}

.product-cta {
  margin-top: 38px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(223, 36, 54, .55);
}

.arrow-icon {
  display: block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  overflow: visible;
  fill: none;
  stroke: var(--red);
  stroke-width: 1.8;
  stroke-linecap: square;
  stroke-linejoin: miter;
}

.language-switcher {
  position: relative;
}

.language-menu {
  position: absolute;
  top: calc(100% + 15px);
  right: 0;
  z-index: 40;
  display: grid;
  width: 176px;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, .14);
  background: rgba(8, 9, 10, .97);
  box-shadow: 0 18px 55px rgba(0, 0, 0, .48);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}

.language-menu.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.language-menu button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 38px;
  padding: 0 11px;
  border: 0;
  background: transparent;
  color: #96999b;
  font: inherit;
  font-size: 10px;
  letter-spacing: .08em;
  text-align: left;
  cursor: pointer;
  transition: color .18s ease, background .18s ease;
}

.language-menu button:hover,
.language-menu button.is-active {
  color: #f3f1ed;
  background: rgba(255, 255, 255, .055);
}

.language-menu button.is-active span {
  color: var(--red);
}

.language[aria-expanded="true"] i {
  transform: rotate(180deg);
}

html:not([lang="en"]) h1,
html:not([lang="en"]) h2 {
  letter-spacing: -.01em;
}

h2 > span {
  white-space: normal;
  overflow-wrap: break-word;
  text-wrap: balance;
}

.hero-copy h1 {
  font-size: clamp(55px, 6.9vw, 112px);
}

.hero-product {
  align-items: center;
}

.hero-product img.hero-product-image {
  width: min(760px, 48vw);
  transition: opacity .28s ease, filter .28s ease;
}

.colour-selector {
  position: absolute;
  z-index: 5;
  right: 2%;
  bottom: 8%;
  display: flex;
  gap: 12px;
  padding: 10px 12px;
  background: rgba(8, 9, 10, .68);
  border: 1px solid rgba(255, 255, 255, .1);
  backdrop-filter: blur(12px);
}

.colour-selector button {
  width: 17px;
  height: 17px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: 50%;
  background: #df2436;
  box-shadow: 0 0 0 0 rgba(242, 240, 235, 0);
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}

.colour-selector button[data-colour="black"] { background: #17191a; }
.colour-selector button[data-colour="khaki"] { background: #55572c; }
.colour-selector button:hover { transform: scale(1.12); }
.colour-selector button.is-active {
  box-shadow: 0 0 0 3px #0c0d0e, 0 0 0 4px rgba(242, 240, 235, .8);
}

.flow-icon.plus-mode {
  border: 1px solid rgba(223, 36, 54, .42);
  border-radius: 50%;
}

.flow-icon.plus-mode::before,
.flow-icon.plus-mode::after,
.flow-icon.plus-mode i {
  content: "";
  position: absolute;
  display: block;
}

.flow-icon.plus-mode i {
  left: 50%;
  top: 50%;
  width: 14px;
  height: 18px;
  background: var(--red);
  border-radius: 65% 35% 60% 40% / 65% 45% 55% 35%;
  transform: translate(-50%, -50%) rotate(45deg);
}

.flow-icon.pediatric i { transform: translate(-50%, -50%) rotate(45deg) scale(.7); }
.flow-icon.geriatric i { opacity: .65; }
.flow-icon.adaptive::before,
.flow-icon.adaptive::after {
  left: 14px;
  right: 14px;
  height: 1px;
  background: rgba(242, 240, 235, .56);
}
.flow-icon.adaptive::before { top: 19px; transform: rotate(-12deg); }
.flow-icon.adaptive::after { bottom: 19px; transform: rotate(12deg); }

.plus-display-stage {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 45% 45%, rgba(223, 36, 54, .16), transparent 34%),
    linear-gradient(145deg, #101214, #070809 72%);
}

.plus-stage-product {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 49%;
  width: min(700px, 82%);
  height: auto;
  transform: translate(-58%, -50%);
  filter: brightness(.52) saturate(.82);
  opacity: .82;
}

.plus-display-detail {
  position: absolute;
  z-index: 3;
  right: 7%;
  top: 50%;
  width: clamp(150px, 22%, 210px);
  transform: translateY(-50%);
  filter: drop-shadow(0 22px 34px rgba(0, 0, 0, .46));
}

.display-caption {
  display: block;
  margin: 0 0 12px;
  color: rgba(242, 240, 235, .42);
  font-size: clamp(6px, .48vw, 8px);
  letter-spacing: .18em;
  text-align: center;
}

.display-screen {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  aspect-ratio: 4 / 3;
  background: #d6d6c8;
  border: 1px solid rgba(15, 16, 16, .58);
  border-radius: 1px;
  box-shadow: 0 9px 24px rgba(0, 0, 0, .24);
}

.display-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  filter: grayscale(.72) brightness(1.53) contrast(.92);
  opacity: 0;
  visibility: hidden;
}

.display-frame.is-active {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 800px) {
  .product-cta {
    margin-top: 28px;
    font-size: 9px;
  }

  .language-menu {
    right: -8px;
  }

  .hero-copy h1 {
    font-size: clamp(46px, 14.5vw, 74px);
  }

  .hero-product img.hero-product-image {
    width: min(680px, 92vw);
  }

  .colour-selector {
    right: 6%;
    bottom: 2%;
  }

  .plus-display-stage {
    min-height: 520px;
  }

  .plus-stage-product {
    left: 50%;
    top: 31%;
    width: 94%;
    transform: translate(-55%, -50%);
  }

  .plus-display-detail {
    right: 50%;
    top: auto;
    bottom: 7%;
    width: min(210px, 56%);
    transform: translateX(50%);
  }
}
