body.public {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  align-items: center;

  .tile {
    gap: var(--fx-m-32);
  }

  .explanations {
    display: flex;
    flex-direction: column;
    gap: var(--fx-p-16);
    text-align: center;
  }

  header {
    padding: var(--fx-p-12);
    text-align: center;
    align-items: center;

    svg {
      width: 88px;
      color: var(--icon-primary);
    }
  }

  main {
    display: flex;
    flex-direction: column;
    gap: var(--fx-p-32);
    max-width: calc(612px + (var(--fx-p-16) * 2));
    padding-inline: var(--fx-p-16);
  }

  footer {
    padding: var(--fx-p-32);
    flex: 1;
    display: flex;
    align-items: flex-end;

    ul {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: var(--fx-m-24);
      list-style: none;
    }
  }

  .need-assistance {
    display: flex;
    flex-direction: column;
    gap: var(--fx-m-24);
    align-items: stretch;

    > div {
      display: flex;
      flex-direction: column;
      gap: var(--fx-m-8);

      p {
        text-align: left;
        margin: 0;
        padding: 0;
      }
    }
  }
}

@media (width > 500px) {
  body.public {
    header {
      padding: var(--fx-m-32);

      svg {
        width: unset;
      }
    }

    footer {
      ul {
        gap: var(--fx-m-40);
      }
    }

    .tile {
      padding: var(--fx-p-64);
      gap: var(--fx-m-40);
    }

    .need-assistance {
      display: grid;
      grid-template-columns: 1fr max-content;
      align-items: center;
      gap: 0 var(--fx-m-64);
      padding: var(--fx-m-32) var(--fx-m-40);
    }
  }
}
