/* HOTEL INDEPENDENTE · CONTAINER 03 · CICLO DO HOTEL (único container gráfico) — v0.78.0
   Fundo aurora animado em CSS (_shared/05-aurora.css, variante bl). Ajuste: --uos-hi-veil (véu de contraste, p.ex. rgba(255,255,255,.5)).
   Cinco colunas (≥1101px): cabeça preta numerada por etapa e, abaixo, cartões brancos com as áreas do uOS que atuam nela. Até 1100px: 2 colunas; até 700px: 1 coluna.
   Sem imagem e sem JavaScript. Também define o estilo dos links em notas e rodapés (.uos-hi-links), usado por toda a página. */
.uos-hi-cycle {
  --uos-hi-veil: rgba(255, 255, 255, 0);
  background:
    linear-gradient(var(--uos-hi-veil), var(--uos-hi-veil)),
    var(--uos-aurora-grain),
    var(--uos-aurora-bl),
    var(--uos-sec-bg);
  background-blend-mode: normal, soft-light, normal;
  animation: var(--uos-aurora-motion);
}

.uos-hi-cycle__track {
  --uos-hi-gap: clamp(12px, 1.4vw, 24px);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--uos-hi-gap);
  align-items: start;
  margin: clamp(28px, 3.4vw, 48px) 0 0;
  padding: 0;
  list-style: none;
}

.uos-hi-cycle__stage {
  position: relative;
  min-width: 0;
}

.uos-hi-cycle__head {
  display: flex;
  min-height: 56px;
  align-items: center;
  gap: 12px;
  padding: 8px 18px 8px 8px;
  border-radius: var(--uos-pill);
  background: var(--uos-black);
  color: var(--uos-white);
  font-family: var(--uos-font-display);
  font-size: clamp(1.15rem, 1.4vw, 1.4rem);
  font-weight: 300;
  line-height: 1.1;
}

.uos-hi-cycle__head b {
  display: grid;
  width: 40px;
  height: 40px;
  flex: none;
  place-items: center;
  border-radius: 50%;
  background: var(--uos-orange);
  color: var(--uos-black);
  font-family: var(--uos-font-body, inherit);
  font-size: 1rem;
  font-weight: 500;
}

.uos-hi-cycle__cards {
  display: grid;
  gap: var(--uos-hi-gap);
  margin: var(--uos-hi-gap) 0 0;
  padding: 0;
  list-style: none;
}

.uos-hi-cycle__cards a {
  display: flex;
  height: 100%;
  flex-direction: column;
  gap: 6px;
  padding: clamp(18px, 1.8vw, 24px);
  border-radius: var(--hm-radius);
  background: var(--uos-white);
  color: var(--uos-black);
  text-decoration: none;
  transition: background-color 250ms var(--uos-ease);
}

.uos-hi-cycle__cards a strong {
  color: var(--uos-red);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
}

.uos-hi-cycle__cards a span {
  color: var(--uos-gray-800);
  font-size: 0.9375rem;
  line-height: 1.45;
}

.uos-hi-cycle__cards a:focus-visible {
  outline: 2px solid var(--uos-focus);
  outline-offset: 3px;
}

@media (hover: hover) {
  .uos-hi-cycle__cards a:hover { background: var(--uos-orange-15); }
  .uos-hi-cycle__cards a:hover strong { text-decoration: underline; text-underline-offset: 3px; }
}

@media (min-width: 1101px) {
  .uos-hi-cycle__stage:not(:last-child)::after {
    position: absolute;
    top: 27px;
    left: calc(100% - 2px);
    width: calc(var(--uos-hi-gap) + 4px);
    height: 2px;
    background: var(--uos-black);
    content: "";
  }
}

@media (max-width: 1100px) {
  .uos-hi-cycle__track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .uos-hi-cycle__stage:last-child { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .uos-hi-cycle__track { grid-template-columns: minmax(0, 1fr); }
}

/* links em notas e rodapés */
.uos-hi-links a {
  color: var(--uos-red);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.uos-sec--black .uos-hi-links a { color: var(--uos-orange); }
