/* Internal navigation belongs to the open concept, not the gallery cards. */
#dialog-concept-page.has-concept-navigation [hidden] {
  display: none !important;
}

#dialog-concept-page.has-concept-navigation > .concept-route-header {
  --demo-small: max(.875rem, 1.35cqi);
  --demo-body: max(1rem, 1.75cqi);
  display: block;
  position: sticky;
  top: var(--concept-heading-offset, 100px);
  z-index: 2;
  grid-template-rows: none;
  min-height: 0;
  padding: 0;
}

#dialog-concept-page .concept-route-header .demo-header {
  flex-wrap: wrap;
  gap: 12px 24px;
  padding: 16px max(20px, 4.5cqi);
}

#dialog-concept-page .concept-home-button {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: max(1.125rem, 2.6cqi);
  text-align: left;
  overflow-wrap: anywhere;
}

#dialog-concept-page .concept-route-header.concept-render--motion .concept-home-button {
  color: #d6ff48;
}

#dialog-concept-page .concept-route-header .demo-nav {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 4px 20px;
  font-size: max(.875rem, 1.35cqi);
}

#dialog-concept-page .concept-category-button {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  padding: 10px 0 8px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 1.3;
  text-align: left;
  overflow-wrap: anywhere;
}

#dialog-concept-page .concept-category-button[aria-current="page"],
#dialog-concept-page .concept-category-button:hover,
#dialog-concept-page .concept-category-button:focus-visible {
  border-bottom-color: currentColor;
}

#dialog-concept-page .concept-route-body {
  min-width: 0;
  overflow-x: clip;
}

#dialog-concept-page .concept-route-intro {
  padding: clamp(28px, 4cqi, 44px) max(20px, 5cqi);
  border-bottom: 1px solid var(--detail-line);
}

#dialog-concept-page .concept-route-intro .business-eyebrow {
  margin: 0 0 12px;
}

#dialog-concept-page .concept-route-intro h3 {
  margin: 0 0 16px;
}

#dialog-concept-page .concept-route-intro > p:last-child {
  max-width: 64ch;
}

/* The contact footer now travels with the selected internal page. */
#dialog-concept-page .concept-route-body > .concept-contact {
  position: static;
  inset: auto;
  height: auto;
  min-height: 100px;
  padding: 24px 5%;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 1rem;
}

#dialog-concept-page .concept-route-body .concept-contact-brand {
  font-size: 1.125rem;
  white-space: normal;
}

#dialog-concept-page .concept-route-body .concept-contact-lines {
  min-width: 0;
  overflow-wrap: anywhere;
}

#dialog-concept-page .concept-route-body .concept-contact-label {
  font-size: .875rem;
}

#dialog-concept-page .concept-route-body button.demo-pill {
  max-width: 100%;
  min-height: 44px;
  border: 0;
  font: inherit;
  font-size: var(--demo-small, .875rem);
  font-weight: 600;
  line-height: 1.4;
  white-space: normal;
}

@media (max-width: 700px) {
  #dialog-concept-page .concept-route-header .demo-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    padding: 12px 20px;
  }

  #dialog-concept-page .concept-route-header .demo-nav {
    width: 100%;
    justify-content: flex-start;
    gap: 2px 18px;
  }

  #dialog-concept-page .concept-route-body > .concept-contact {
    align-items: flex-start;
    flex-direction: column;
    padding: 24px 20px;
    gap: 14px;
  }
}

@media (max-height: 600px) {
  #dialog-concept-page.has-concept-navigation > .concept-route-header {
    position: static;
  }
}
